如何从DrawingManager中删除方形和圆形选项

时间:2015-11-13 20:37:44

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

我想获得它,所以我的DrawingManager只能选择平移并有一个多边形,但我无法弄清楚如何删除其余的选项(折线,方形,圆形)。{{ 3}}

我定义了我的DrawingManager并尝试删除了rectangleOptions和circleOptions,但似乎没有做任何事情。

var polyOptions = {
        strokeWeight: 0,
        fillOpacity: 0.45,
        editable: true
    };

    drawingManager = new google.maps.drawing.DrawingManager({
        markerOptions: {
            draggable: true
        },
        polylineOptions: {
            editable: true
        },
        polygonOptions: polyOptions,
        map: map
    });

这可能吗?

1 个答案:

答案 0 :(得分:1)

查看sample in the documentation,从drawingModes中删除您不想要的drawingControlOptions

  var drawingManager = new google.maps.drawing.DrawingManager({
    drawingMode: google.maps.drawing.OverlayType.MARKER,
    drawingControl: true,
    drawingControlOptions: {
      position: google.maps.ControlPosition.TOP_CENTER,
      drawingModes: [
        google.maps.drawing.OverlayType.POLYGON
      ]
    },
  });
  drawingManager.setMap(map);
}

代码段

function initMap() {
  var map = new google.maps.Map(document.getElementById('map'), {
    center: {
      lat: -34.397,
      lng: 150.644
    },
    zoom: 8
  });
  var polyOptions = {
    strokeWeight: 0,
    fillOpacity: 0.45,
    editable: true
  };
  var drawingManager = new google.maps.drawing.DrawingManager({
    drawingMode: google.maps.drawing.OverlayType.MARKER,
    drawingControl: true,
    drawingControlOptions: {
      position: google.maps.ControlPosition.TOP_CENTER,
      drawingModes: [
        google.maps.drawing.OverlayType.POLYGON
      ]
    },
    markerOptions: {
      draggable: true
    },
    polylineOptions: {
      editable: true
    },
    polygonOptions: polyOptions,
  });
  drawingManager.setMap(map);
}
google.maps.event.addDomListener(window, "load", initMap);
html,
body,
#map {
  height: 100%;
  width: 100%;
  margin: 0px;
  padding: 0px
}
<script src="https://maps.googleapis.com/maps/api/js?libraries=drawing"></script>
<div id="map"></div>