【发布时间】:2011-11-08 12:22:54
【问题描述】:
我对 JavaScript 和 Google Maps Api 没有太多经验。 我想要达到的目标: 我有一张地图,用户可以在其中放置标记或绘制多边形。我正在使用 gmap3 插件,并且我已经设法使用标记完成了我想做的所有事情(例如添加、编辑、拖动、删除等),但是我遇到了多边形问题。 这是基本代码:
$('#map-mappoints').gmap3(
{
action:'init',
options:{
zoom: 7
}
,
events: {
click: function(event, data) {
if($(".map #poly").hasClass('active')){
placePoly(data.latLng);
} else {
placeMarker(data.latLng);
}
}
}
},
{
action:"autofit"
}
);
function placePoly(location) {
$('#map-mappoints').gmap3({
action: 'addPolygon',
options:{
strokeColor: "#FF0000",
strokeOpacity: 0.8,
strokeWeight: 2,
fillColor: "#FF0000",
fillOpacity: 0.35
},
callback: function(polygon){
var path = polygon.getPath();
path.push(location);
console.log(path);
}
}
)
}
我可以在控制台中看到它创建了多边形,但它只添加了一个路径元素,这是逻辑,因为它在每次点击地图后触发,但我不知道如何让它继续向多边形添加新元素,然后让用户停止(可能通过工具栏中的某个按钮),并在单击“新多边形”后创建新的。
感谢您的任何提示。
ps。 英语不是我的母语,所以我很抱歉有任何错误,我尽量避免它们;)
【问题讨论】:
标签: javascript jquery google-maps google-maps-api-3 jquery-gmap3