動態代理選擇
有時我們需要使用跨來源的資源,如:圖片、Cookie......等等,抑或是需要特定的IP才能夠對MapServer進行連線(如位於某個防火牆之後),這時我們能建立一台代理伺服器進行轉發存取MapServer。
代理可分成下列三種:
不使用代理
如不使用代理,目標服務必須支援跨網域(CORS)才行。
當urlTemplate
的引數只輸入關鍵字{URL}
,便不會使用代理。
底圖
terrainview.setBaseLayer({
url: "BING_MAP",
identifier: "IMAGE",
urlTemplate: "{URL}"
});
Overlay圖層
terrainview.addTerrainWMTSOverlay({
url: 'http://127.0.0.1:8080/wmts',
identifier: '台灣影像圖層',
layername: '台灣影像圖層'
urlTemplate: "{URL}"
});
3D圖層
terrainview.openTerrain({
url: "http://127.0.0.1:8080",
identifier: "範例地形圖",
callback: openCallback,
urlTemplate: "{URL}"
});
使用內建核心正向代理
[info] 小提示: 正向代理須自行定義可通過代理連上的名單。
urlTemplateWhiteList
底圖
terrainview.setBaseLayer({
url: "BING_MAP",
identifier: "IMAGE",
urlTemplate: "oview.aspx?{URL}"
// 亦可將urlTemplate改為oviewTLS12.aspx?{URL},此url可支援https連線
});
Overlay圖層
terrainview.addTerrainWMTSOverlay({
url: 'http://127.0.0.1:8080/wmts',
identifier: '台灣影像圖層',
layername: '台灣影像圖層'
urlTemplate: "oview.aspx?{URL}"
// 亦可將urlTemplate改為oviewTLS12.aspx?{URL},此url可支援https連線
});
3D圖層
terrainview.openTerrain({
url: "http://127.0.0.1:8080",
identifier: "範例地形圖",
callback: openCallback,
urlTemplate: "oview.aspx?{URL}"
// 亦可將urlTemplate改為oviewTLS12.aspx?{URL},此url可支援https連線
});
使用內建核心反向代理
底圖
terrainview.setBaseLayer({
url: "BING_MAP",
identifier: "IMAGE",
urlTemplate: "oviewRP.ashx?{URL}"
});
Overlay圖層
terrainview.addTerrainWMTSOverlay({
url: 'http://127.0.0.1:8080/wmts',
identifier: '台灣影像圖層',
layername: '台灣影像圖層'
urlTemplate: "oviewRP.ashx?{URL}"
});
3D圖層
terrainview.openTerrain({
url: "http://127.0.0.1:8080",
identifier: "範例地形圖",
callback: openCallback,
urlTemplate: "oviewRP.ashx?{URL}"
});
使用自訂代理
代理伺服器URL中需要設定關鍵字{URL}
,當有請求送出時便會將{URL}
替換成真正的URL。
底圖
terrainview.setBaseLayer({
url: "BING_MAP",
identifier: "IMAGE",
urlTemplate: "https://sample.pilotgaea.com.tw/Oview.aspx?{URL}"
});
Overlay圖層
terrainview.addTerrainWMTSOverlay({
url: 'http://127.0.0.1:8080/wmts',
identifier: '台灣影像圖層',
layername: '台灣影像圖層',
urlTemplate: "https://sample.pilotgaea.com.tw/Oview.aspx?{URL}"
});
3D圖層
terrainview.openTerrain({
url: "http://127.0.0.1:8080",
identifier: "範例地形圖",
callback: openCallback,
urlTemplate: "https://sample.pilotgaea.com.tw/Oview.aspx?{URL}"
});