我有一個用戶在地圖上繪製一個多邊形。一旦他們完成多邊形,我可以得到每個點的座標在頁面上顯示。如果他們在完成後移動多邊形,座標將隨着移動而更新。有沒有一種方法可以將此分解,以顯示用戶單獨創建的所有點的經緯度,並隨運動更新?如何獲取Google Maps API v3中所有多邊形點的經度和緯度?
目前,它顯示這樣的:
座標
(37.71859032558816,-121.563720703125),(38.10862766432127,-120.1904296875),(36.77409249464195,-120.08056640625),(36.2354121683998,-117.784423828125),(35.951329861522666, -119.8828125)
我想打破它,並把它顯示是這樣的:
形狀1:
緯度:
點1:37.71859032558816
點2:38.10862766432127
點3:36.77409249464195
點4:36.2354121683998
點5:35.951329861522666
經度:
點1:-121.563720703125
點2:-120.1904296875
點3:-120.08056640625
點4:-117.784423828125
點5:-119.8828125
這裏是我目前有:
google.maps.event.addListener(drawingManager, 'overlaycomplete', function(e)
{
drawingManager.setDrawingMode(null);
shapes.add(e);
// getPath(): return value: MVCArray<LatLng>
// getArray(): return value: Array<LatLng>
var arrayOne = e.overlay.getPath().getArray();
document.getElementById('coordinates').innerHTML = arrayOne;
// var latitude = ?
// var longitude = ?
document.getElementById('latitude').innerHTML = latitude;
document.getElementById('longitude').innerHTML = longitude;
google.maps.event.addListener(e.overlay.getPath(), 'set_at', function()
{
// getPath(): return value: MVCArray<LatLng>
// getArray(): return value: Array<LatLng>
var arrayOne = e.overlay.getPath().getArray();
document.getElementById('coordinates').innerHTML = arrayOne;
// var latitude = ?
// var longitude = ?
document.getElementById('latitude').innerHTML = latitude;
document.getElementById('longitude').innerHTML = longitude;
});
google.maps.event.addListener(e.overlay.getPath(), 'insert_at', function()
{
// getPath(): return value: MVCArray<LatLng>
// getArray(): return value: Array<LatLng>
var arrayOne = e.overlay.getPath().getArray();
document.getElementById('coordinates').innerHTML = arrayOne;
// var latitude = ?
// var longitude = ?
document.getElementById('latitude').innerHTML = latitude;
document.getElementById('longitude').innerHTML = longitude;
});
});
我碰到過幾個東西,比如getAt(),geometry.location.lat()和LatLng類,但我沒有碰到任何運氣。我將不勝感激任何幫助,謝謝。