在Google Maps v3的绘图管理器中,无法将可编辑选项后的多边形编辑为true

时间:2012-03-12 14:23:09

标签: google-maps

我尝试使用Drawing Manager绘制Polygon并将Polygon Coordinates发送到PHP脚本(存储在Database中)。

  

1)我已将可编辑选项编码为多边形的“真”。但我不是   编辑多边形。我不是要找到我做错了什么?

     

2)我也试着

     
    

使用getPaths方法的多边形路径..它作为数组返回。我怎么做     检查这个坐标是否正确。如果我把显示器中的警报设置为     'Object [] Object'。请帮我解决这些问题。

  

3 个答案:

答案 0 :(得分:2)

您需要将绘图模式设置为true(以启用地图交互)。以下代码将起到作用:)

    google.maps.event.addListener(drawingManager, 'polygoncomplete', function(polygon) {
        drawingManager.setDrawingMode(null);

});

关于我目前正在进行的第二部分。使用console.log而不是alert。

答案 1 :(得分:1)

路径:

var thisPath=polygon.getPath();
for(i=0;i<thisPath.length;i++){
    var latlng=thisPath.getAt(i);
    pathString= pathString+', '+ latlng.lat()+' - '+ latlng.lng()+'\n'
}
alert (pathString);

答案 2 :(得分:0)

对于第2部分,sharingStuff代码可以工作,我更喜欢将路径作为json对象,

vertices = this.polygon.getPath();
var points = [];
// Iterate over the vertices.
if(this.polygon.getMap() == null){
    return false;
}
for (var i =0; i < vertices.length; i++) {
    var xy = vertices.getAt(i);
    points.push(xy.lat() +"," + xy.lng());
}
return JSON.stringify({points: points});

任何一种方法都没问题,只是想我会再给你一个选择。 :)