2016-06-08 70 views
1

我正在使用google.maps.polygons。该库使用google.maps.MVCArray元素来存储多边形的顶点,其中每个顶点都包含经度和纬度变量。因此,我可以使用用户鼠标点击来即时创建花式多边形。如何从Google Maps MVCArray中获取内容?

var listener1 = google.maps.event.addListener(map, "click", function(e) { 
    var latLng = e.latLng; 
    var myMvcArray = new google.maps.MVCArray(); 
    myMvcArray.push(latLng); // First Point 
    var myPolygon = new google.maps.Polygon({ 
     map: map, 
     paths: myMvcArray, // one time registration reqd only 
     strokeColor: "#FF0000", 
     strokeOpacity: 1.0, 
     strokeWeight: 2, 
     fillColor: "#FF0000", 
     fillOpacity: 0.10, 
     editable: true, 
     draggable: false, 
     clickable: true 
    }); 
    google.maps.event.removeListener(listener1); 

    var listener2 = google.maps.event.addListener(map, 'click', function(e) { 
     latLng = e.latLng; 
     myMvcArray.push(latLng); 
     console.log(myMvcArray.getArray()); 
    }); 
}); 

我的问题是,控制台日志结果是不可理解的。我花了几个小时试图弄清楚如何从myMvcArray中获取干净的数据。我需要在其他地方使用数据。

回答

4

因此,原来的伎俩是:

console.log(myMvcArray.getArray()[0].lat(), myMvcArray.getArray()[0].lng()); 

将返回:XX.XX2157415679654 -XXX.XX782657623291

A用于/每循环也可以工作。

myMvcArray.getArray().forEach(function(value, index, array_x) { 
    console.log(" index: " + index + " value: " + value); 
}) 

将返回:万一别人提供

index: 0 value: (XX.XX2157415679654, -XXX.XX782657623291) 
index: 1 value: (XX.XX209255908967, -XXX.XX77514743805) 

信息在这里有问题。请注意,上面的代码非常适合让用户在地图上轻松定义google.maps.polygon。

相关问题