javascript - 如果多边形已存在则禁用绘制

标签 javascript google-maps google-maps-api-3

通过设置map.data.setControls(null)我仍然可以绘制另一个多边形。如何只绘制一个多边形?

http://jsfiddle.net/atrxw00x/1

function savePolygon() {
  map.data.toGeoJson(function (json) {
    localStorage.setItem('geoData', JSON.stringify(json));
    if(json.features.length > 0) {
      map.data.setControls(null);
    } else {
      map.data.setControls(['Polygon']);
    }
    initControls(json);
  });
}

最佳答案

您需要使用setDrawingMode调用:

if (json.features.length) {
  map.data.setControls(null);
  map.data.setDrawingMode(null);
}

关于javascript - 如果多边形已存在则禁用绘制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35641196/

相关文章:

google-maps - 如何将kml多边形几何数据转换为谷歌多边形坐标

javascript - 尝试将数组从rails传递给javascript

javascript - 如何管理和处理谷歌地图标记

java - org.apache.http.client. Fluent 损坏 URL

javascript - 在 Google Maps API 中为 geoJSON 对象设置不同的填充颜色

javascript - 如何在 map 上添加数百个标记而不出现滞后?

JavaScript:如何捕获字符串中的特定值?

使用原型(prototype)的Javascript继承,什么是实用的方法?

javascript - 像win8 metro一样按下导航器

google-maps - Google Map distance-matrix api 服务器端多个经纬度地址