13

私はgoogle.maps.drawing.DrawingManagerそれを次のように使用します:

drawingManager = new google.maps.drawing.DrawingManager({
    drawingMode: google.maps.drawing.OverlayType.MARKER,
    markerOptions: {
        draggable: true,
        optimized: false,
        icon: new google.maps.MarkerImage('uxt/images/ap_gif.gif')
    },
    drawingControlOptions: {
        position: google.maps.ControlPosition.TOP_CENTER,
        drawingModes: [
        google.maps.drawing.OverlayType.MARKER,
        google.maps.drawing.OverlayType.POLYGON
        ]
    },

    polygonOptions: {
        fillColor: '#1E90FF',
        strokeWeight: 0,
        fillOpacity: 0.3,
        editable: true
    },
    map: mapA
});

私のツールバーは次のようになります。 ここに画像の説明を入力

デフォルトでは(ページのリロード後)マーカーが選択されていますが、「手」(「描画を停止」)を選択する必要があります。 ここに画像の説明を入力

これを行うように drawingManager を構成するにはどうすればよいですか?

ありがとうございました。

4

2 に答える 2

27

drawingModeオプションで次のように設定するだけnullです:

drawingManager = new google.maps.drawing.DrawingManager({
    drawingMode: null,
    ...
于 2013-02-17T12:54:43.270 に答える
0

以下のコードで確認してください。それが機能しない場合は、この投稿を確認してくださいGoogle Maps API v3: DrawingManagerこれは役立つかもしれません

  var markers = [];
  var infowindow = new google.maps.InfoWindow();

  function initialize() {
    map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
    drawingManager.setMap(map);
    google.maps.event.addListener(drawingManager, 'overlaycomplete', function(event) {
      if(event.type == google.maps.drawing.OverlayType.POLYLINE) {
        alert("polyline complete");
      }
      else if(event.type == google.maps.drawing.OverlayType.MARKER) {
        var newMarker = event.overlay;
        newMarker.content = "marker #" + markers.length;
        google.maps.event.addListener(newMarker, 'click', function() {
          infowindow.setContent(this.content);
          infowindow.open(map, this);
        });
        markers.push(newMarker);
      }
    });
  }
于 2013-02-17T12:32:27.530 に答える