2

我有一张使用gmaps.js的地图,我想在地图上添加一个控制器,允许用户绘制形状。

我知道这可以使用 google maps api 来完成,如下所示:

var mapOptions = {
    center: new google.maps.LatLng(pos.location[0], pos.location[1]),
    zoom: 3,
  };

  var map = new google.maps.Map(document.getElementById('map_canvas'),
    mapOptions);

  var drawingManager = new google.maps.drawing.DrawingManager({

    drawingControl: true,
    drawingControlOptions: {
      position: google.maps.ControlPosition.TOP_CENTER,
      drawingModes: [
        google.maps.drawing.OverlayType.CIRCLE,
        google.maps.drawing.OverlayType.POLYGON,
        google.maps.drawing.OverlayType.POLYLINE,
        google.maps.drawing.OverlayType.RECTANGLE
      ]
    }});
  drawingManager.setMap(map);

但我正在寻找 gmaps.js 的替代方案。

4

1 回答 1

4

gmaps.js 没有绘图方法。但是您可以使用 gmaps.js 创建地图并使用普通 api 向其中添加绘图管理器。

var map = new GMaps({
  div: '#map_canvas',
  lat: -12.043333,
  lng: -77.028333
});

var drawingManager = new google.maps.drawing.DrawingManager({

    drawingControl: true,
    drawingControlOptions: {
      position: google.maps.ControlPosition.TOP_CENTER,
      drawingModes: [
        google.maps.drawing.OverlayType.CIRCLE,
        google.maps.drawing.OverlayType.POLYGON,
        google.maps.drawing.OverlayType.POLYLINE,
        google.maps.drawing.OverlayType.RECTANGLE
      ]
    }});
  drawingManager.setMap(map.map); // map.map is the reference to original map object

这里的工作示例

于 2013-06-30T20:46:03.167 回答