我需要縮放我的OpenLayers地圖(使用Google Maps基礎圖層)以將所有給定的座標列表放入視圖中。OpenLayers 3:將地圖縮放到陣列中的座標
我已經存儲的座標在名爲pointsDecimal
經度和緯度對的陣列,其看起來像這樣:
pointsDecimal: Array[50]
0: 148.77638
1: -34.491728
2: 148.77896
3: -34.492302
4: 148.778090711323
...
偶數索引(0,2,4等)是經度和奇數編號索引(1,3,5等)是緯度。
這是我想要使用的代碼:
map.getView().fit(pointsDecimal, map.getSize());
但出於某種原因,這使我在最大變焦水平的座標爲[0,0] - 在幾內亞灣,而不是在新南威爾士州東南部,我想成爲!
我知道如果我使用OpenLayers源代碼(例如source.getExtent()
)代替我的pointsDecimal
數組,那麼這樣做會容易得多,但由於我現在無法進入的原因,這不是一種選擇 - 我只能使用數組。
任何人都可以給我提示嗎?
編輯:我想我快到了,多虧了Anupam。這是我現在有:
var extent = [pointsLongMin,pointsLatMin,pointsLongMax,pointsLatMax];
map.getView().fit(extent,map.getSize());
我傳遞給數組中的值如下:
pointsLongMin: 148.771162
pointsLatMin: -34.5029736405108
pointsLongMax: 148.77896
pointsLatMax: -34.491728
但我還在適應於洋在[0,0傾倒出來]。我在這裏做錯了什麼?
我敢肯定這讓我更加親近,但它仍然將我拋棄在海洋中的同一個地方。我剛剛複製了上面的代碼......你能想到這可能不起作用的任何原因嗎?謝謝你的幫助。 –
原因實際上我只是從你共享的數組中挑選出來的。你只需要通過正確的範圍。 –
仍然無法正常工作 - 請參閱上面的編輯。我無法弄清楚我做錯了什麼。有任何想法嗎?感謝您的幫助... –