
[英]How to change Maximum Zoom on Google Maps API, using GMAP3 jQuery plugin?
[英]How can I let user draw multiple polygons using gmap3 plugin or Google Maps Api v3
我对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);
}
}
)
}
我可以在控制台中看到它创建了poly,但是它只添加了一个path元素,这是在每次单击地图后触发的逻辑,但是我不知道如何使它继续向多边形添加新元素,然后让用户停止(可能通过工具栏中的某个按钮),然后在单击“新多边形”后创建新的。
谢谢您的提示。
ps。 英语不是我的母语,所以对于任何错误,我们深表歉意,我尽力避免出现这种情况;)
阅读标题gmap3的参数下方的内容
http://gmap3.net/documentation.html
对于它的主要用途,gmap3将对象作为参数。 每个对象都是要执行的动作。 这些动作将按其在参数列表中的顺序执行,并且每次完成前一个动作时都会执行。 此示例首先初始化google地图,然后添加两个标记
路径
指定闭环的坐标的有序序列。 与折线不同,多边形可能包含一个或多个路径。 结果,paths属性可以指定一个或多个LatLng坐标数组。 可以使用LatLng的单个数组定义简单的多边形。 更复杂的多边形可以指定一个数组数组。 任何简单的数组都可以转换为MVCArrays。 从MVCArray插入或删除LatLng会自动更新地图上的多边形。
MVCArray是一个可变数组,因此您可以向该数组添加更多经纬度坐标,并且多边形将自动更新。
希望这可以帮助你!
格里茨
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.