我对 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);
}
}
)
}
我可以在控制台中看到它创建了多边形,但它只添加了一个路径元素,这是逻辑,因为它在每次点击地图后触发,但我不知道我应该如何让它继续向多边形添加新元素,然后让用户停止(可能通过工具栏中的某个按钮),并在单击“新多边形”后创建新的。
谢谢你的任何提示。
附言。英语不是我的母语,所以我很抱歉有任何错误,我尽量避免它们;)