2 回答

TA貢獻(xiàn)1921條經(jīng)驗(yàn) 獲得超9個(gè)贊
每個(gè) GIS 地圖都有一個(gè)坐標(biāo)系。GIS Web 應(yīng)用程序與桌面 GIS 地圖非常相似,因此它們也有一個(gè)坐標(biāo)系。在 OpenLayers 中稱為投影。
在 OpenLayers 中,每個(gè) Web 應(yīng)用程序都由一個(gè)Map()需要view()顯示地圖的類組成。默認(rèn)情況下,每次view()使用Web Mercator projection或EPSG:3857作為其投影。所以在你的代碼中,你應(yīng)該把中心放在EPSG:3857坐標(biāo)系中。如果要在 WGS 84 或經(jīng)緯度數(shù)字中使用中心坐標(biāo),則應(yīng)將視圖投影更改為EPSG:4326如下所示:
view: new ol.View({
center: [0,0],
projection: 'EPSG:4326',
zoom: 0
})
投影對(duì)于進(jìn)一步使用非常重要。如果您在特定投影中有一些數(shù)據(jù),Openlayers 無法將它們顯示在具有另一個(gè)投影的地圖上。例如,如果您在 WGS 84 中有一些數(shù)據(jù),則不能在默認(rèn)視圖中使用它們(因?yàn)樗?Web Mercator)。
因此,在選擇視圖投影之前,請(qǐng)閱讀有關(guān)限制。例如,底圖并非像普通圖層一樣在每個(gè)投影中都可用。
此外,您還可以使用另一個(gè)選項(xiàng)。動(dòng)態(tài)投影整個(gè)圖層(在客戶端瀏覽器中)需要一個(gè)龐大的過程,但我們總是可以投影一個(gè)點(diǎn)或單個(gè)要素,并在我們的圖層或底圖之間使用它們。在您的情況下,您只能投影您的中心點(diǎn)并在 Web Mercator 中使用地圖。對(duì)于此選項(xiàng),您需要fromLonLat()像這樣使用:
center: ol.proj.fromLonLat([0,0])
希望說清楚。

TA貢獻(xiàn)1818條經(jīng)驗(yàn) 獲得超11個(gè)贊
為您的中心試試這個(gè):
center: ol.proj.fromLonLat([longitude,latitude])
添加回答
舉報(bào)