google-maps - 如何从 Google map MVCArray 中获取内容?

标签 google-maps google-maps-api-3 polygon

我正在与 google.maps.polygons 合作。该库使用 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 获取干净的数据。我需要在其他地方使用这些数据。

最佳答案

事实证明,诀窍是这样的:

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

返回:XX.XX2157415679654 -XXX.XX782657623291

For/Each 循环也可以工作。

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)

此处提供的信息以防其他人遇到问题。另请注意,上面的代码可以很好地让用户在 map 上轻松定义 google.maps.polygon。

关于google-maps - 如何从 Google map MVCArray 中获取内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37702568/

相关文章:

android - 如何在 android 的谷歌地图上显示我的位置

swift - 快速调用中的额外参数 'error'

javascript - 如何检测可编辑多边形何时被修改?

r - Shiny 和 ggplot2 - 教程

java - 如何在Java中生成以随机多边形为中心的多边形?

ios - Google Maps iOS 删除多段线

javascript - Google map 错误 : Oops! 出了点问题。此页面未正确加载 Google map

google-maps-api-3 - 谷歌地图上的 100k 或更多标记没有聚类

java - windows下如何设置keytool的密码?

solidity - 如何使用 solidity 将 ERC20 代币转移到另一个地址?