Google maps api 3 Google Maps v3解析所有标记以获得每个标记的纬度和经度
我的所有标记都放置在数组“markersArray[]”中。我想解析它们并检索它们当前的纬度和经度,以便将它们添加到一个字符串中,然后传递给PHP。以下是我尝试过的所有方法,但都没有成功(获取纬度仅用于测试目的)Google maps api 3 Google Maps v3解析所有标记以获得每个标记的纬度和经度,google-maps-api-3,Google Maps Api 3,我的所有标记都放置在数组“markersArray[]”中。我想解析它们并检索它们当前的纬度和经度,以便将它们添加到一个字符串中,然后传递给PHP。以下是我尝试过的所有方法,但都没有成功(获取纬度仅用于测试目的) 功能测试(){ 警报(“markersArray.length”+markersArray.length) 对于(变量i=0,n=markersArray.length;i
功能测试(){
警报(“markersArray.length”+markersArray.length)
对于(变量i=0,n=markersArray.length;i
我在获取标记的其他属性方面没有问题,我不明白为什么这会如此困难(为什么猜测?上面说的是
google.maps.Marker.getPosition()
(假设您的markersArray包含google.maps.Marker对象,您不提供初始化它的代码)。map.markersArray[i]
是错误的,应该是markersArray[i]
。marker或MVCObject类上没有getAttribute
。正如@geocodezip所说,您可以使用getPosition()
,然后如果需要单独的纬度和/或经度值,您可以使用getPosition().lat()
/getPosition().lng()
。感谢Duncan,getPosition()lng()工作得很好!
function test() {
alert("markersArray.length " + markersArray.length)
for( var i = 0, n = markersArray.length; i < n; ++i ) {
var markerLat = parseFloat(markersArray[i].getAttribute("lng"))
//var markerLat = map.markersArray[i].getPoint().lat();
//var markerLat = map.markersArray[i].getPoint().lat();
//var markerLat = map.markersArray[i].latLng.lat().toFixed(3);
//var markerLat = map.markersArray[i].position.lat();
alert("markerLat " + markerLat)
}
}