Google maps 如何获取谷歌地图多边形顶点绘制/锁定事件?

Google maps 如何获取谷歌地图多边形顶点绘制/锁定事件?,google-maps,polygon,Google Maps,Polygon,我想允许用户在多边形内绘制多边形。我可以使用constainsLocation函数()获得lat/long,但当用户绘制多边形时,我希望检测用户绘制的点/顶点是否位于多边形内部。那么,当用户绘制多边形时,是否有任何事件可检测单击/绘制事件 变量映射;//全球地图宣言 var iw=new google.maps.InfoWindow();//信息窗口的全局声明 var lat_longs=新数组(); var markers=新数组(); 风险提取经理; 函数初始化(){ var mylat

我想允许用户在多边形内绘制多边形。我可以使用constainsLocation函数()获得lat/long,但当用户绘制多边形时,我希望检测用户绘制的点/顶点是否位于多边形内部。那么,当用户绘制多边形时,是否有任何事件可检测单击/绘制事件


变量映射;//全球地图宣言
var iw=new google.maps.InfoWindow();//信息窗口的全局声明
var lat_longs=新数组();
var markers=新数组();
风险提取经理;
函数初始化(){
var mylatng=new google.maps.LatLng(40.9403762,-74.1318096);
变量myOptions={
缩放:13,
中心:myLatlng,
mapTypeId:google.maps.mapTypeId.ROADMAP}
map=new google.maps.map(document.getElementById(“map_canvas”),myOptions);
drawingManager=新建google.maps.drawing.drawingManager({
drawingMode:google.maps.drawing.OverlyType.POLYGON,
drawingControl:对,
drawingControlOptions:{
位置:google.maps.ControlPosition.TOP_CENTER,
drawingModes:[google.maps.drawing.OverlayType.POLYGON]
},
多克隆选择:{
可编辑:真
}
});
drawingManager.setMap(map);
google.maps.event.addListener(drawingManager,“OverlyComplete”,函数(事件){
var newShape=event.overlay;
newShape.type=event.type;
});
google.maps.event.addListener(drawingManager,“OverlyComplete”,函数(事件){
OverlyClickListener(event.overlay);
$('#顶点').val(event.overlay.getPath().getArray());
});
}
函数OverlyClickListener(overlay){
警惕(“你好”);
google.maps.event.addListener(覆盖,“mouseup”,函数(事件){
$('#顶点').val(overlay.getPath().getArray());
});
}
初始化();
$(函数(){
$(“#保存”)。单击(函数(){
//迭代多边形顶点?
});
});

您可以使用绘图管理器将多边形外的谷歌地图区域设置为不可编辑

$('#showRes').click(function(){
    drawingManager.setDrawingMode(null);
    drawingManager.setOptions({ 
        polygonOptions: {
            paths: pathArr,
            strokeWeight: 2,
            fillOpacity: 0.2,
            editable: false,
            fillColor: '#FF0000',
            strokeColor: '#FF0000',
            geodesic: true,
            suppressUndo: true
        }
    });
} 
一旦用户绘制了一个多边形(当你看到用户已经到达他开始绘制的同一点/顶点时),调用此函数以使Google地图的其余区域不可编辑

$('#showRes').click(function(){
    drawingManager.setDrawingMode(null);
    drawingManager.setOptions({ 
        polygonOptions: {
            paths: pathArr,
            strokeWeight: 2,
            fillOpacity: 0.2,
            editable: false,
            fillColor: '#FF0000',
            strokeColor: '#FF0000',
            geodesic: true,
            suppressUndo: true
        }
    });
} 
希望有帮助