動態代理選擇


有時我們需要使用跨來源的資源,如:圖片、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}"
});

Copyright © PilotGaea 2022 Version:13.0 all right reserved,powered by Gitbook修訂時間: 2024-01-31 10:01:42