如何在Google Maps API中触发开始多边形绘图?

kiks73

我想使用其他按钮而不是图形管理器控件开始在地图上绘制多边形。

是否有可能触发一个事件,其行为与按图形管理器多边形控件一样?

地理编码

要使用其他控件开始绘制多边形,请执行以下操作:

  1. 删除现有的图形控件:
drawingControl: false,
  1. 添加您自己的按钮:
<input id="polygonbtn" type="button" value="Draw Polygon"/>
  1. 单击时设置绘图模式:
google.maps.event.addDomListener(document.getElementById('polygonbtn'), 'click', function() {
  drawingManager.setDrawingMode(google.maps.drawing.OverlayType.POLYGON);
});

概念证明

代码段:

function initMap() {
  var map = new google.maps.Map(document.getElementById('map'), {
    center: {
      lat: -34.397,
      lng: 150.644
    },
    zoom: 8
  });

  var drawingManager = new google.maps.drawing.DrawingManager({
    drawingControl: false,
  });
  drawingManager.setMap(map);
  google.maps.event.addDomListener(document.getElementById('polygonbtn'), 'click', function() {
    drawingManager.setDrawingMode(google.maps.drawing.OverlayType.POLYGON);
  });
  google.maps.event.addDomListener(document.getElementById('cancelbtn'), 'click', function() {
    drawingManager.setDrawingMode(null);
  });
}
/* Always set the map height explicitly to define the size of the div
 * element that contains the map. */

#map {
  height: 100%;
}


/* Optional: Makes the sample page fill the window. */

html,
body {
  height: 100%;
  margin: 0;
  padding: 0;
}
<input id="polygonbtn" type="button" value="Draw Polygon" />
<input id="cancelbtn" type="button" value="Cancel" />
<div id="map"></div>
<!-- Replace the value of the key parameter with your own API key. -->
<script src="https://maps.googleapis.com/maps/api/js?libraries=drawing&callback=initMap&key=AIzaSyCkUOdZ5y7hMm0yrcCQoCvLwzdM6M8s5qk" async defer></script>

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在Google Static Maps API中创建一个带孔的多边形?

如何在Google Maps API中从多边形中排除区域

如何使用Google Maps API V3显示多边形和多边形

如何在Google Maps API中使用多边形字符串

如何在Google Maps Javascript API中计算多个多边形的中心?

如何在Google Maps v3中获取要素多边形几何的LatLngBounds?

Google Maps API 绘图管理器:删除双击以关闭多边形或更改灵敏度

Google Maps Api将多边形更改为圆形

使用Android中的Google Maps API检查点是否在多边形中

react-google-maps 中带孔的多边形

Google MAPS API中的多个多边形和多个标记

在Google Maps API中获取以米为单位的多边形长度

Google Maps API多边形中的fillColor不起作用

OSM到Google Maps多边形

Google Maps:如何从SVG路径创建多边形

如何使用“ React-google-maps”中的DrawingManager重绘多边形

如何使用react-google-maps在React.JS中获取多边形的坐标

将Google Maps JS API ImageMapType裁剪为多边形

使用Google Maps API v3相交多边形和折线

Google Maps API v3不使用多边形突出显示国家边界

获取多边形所有点的数组-Google Maps Drawing Tool API-3

带有GeoJson多边形层的google maps v3 API鼠标悬停

带有Google Maps API多边形的Javascript超时功能

带有多边形的Google Maps Javascript制作路径

适用于多个多边形的边界Google Maps

Google Maps图层onclick更改样式多边形

从 LatLng 点数组填充 Google Maps 多边形

在多边形中添加点会在Google Maps Android中产生星形

在iOS版的Google Maps中为多边形添加文本标签