【发布时间】:2012-03-12 14:23:08
【问题描述】:
我尝试使用绘图管理器绘制多边形并将多边形坐标发送到 PHP 脚本(以存储在数据库中)。
1) 我已将多边形的可编辑选项编码为“真”。但我不是 编辑多边形。我不是发现我做错了什么?
2)我也尝试得到
使用 getPaths 方法的多边形路径..它作为数组返回..我该怎么做 检查这个坐标是否正确。如果我在显示中输入警报 'Object[] Object'。请帮我解决这些问题。
【问题讨论】:
标签: google-maps
我尝试使用绘图管理器绘制多边形并将多边形坐标发送到 PHP 脚本(以存储在数据库中)。
1) 我已将多边形的可编辑选项编码为“真”。但我不是 编辑多边形。我不是发现我做错了什么?
2)我也尝试得到
使用 getPaths 方法的多边形路径..它作为数组返回..我该怎么做 检查这个坐标是否正确。如果我在显示中输入警报 'Object[] Object'。请帮我解决这些问题。
【问题讨论】:
标签: google-maps
您需要将绘图模式设置为 true(以启用地图交互)。下面的代码可以解决问题:)
google.maps.event.addListener(drawingManager, 'polygoncomplete', function(polygon) {
drawingManager.setDrawingMode(null);
});
关于我目前正在研究的第二部分。使用 console.log 而不是 alert。
【讨论】:
对于路径:
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 部分,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});
任何一种方法都可以,只是想我会给你另一种选择。 :)
【讨论】: