gmaps.js添加DrawingManager控件

时间:2013-06-30 15:19:13

标签: javascript google-maps google-maps-api-3 gmaps.js

我有一张使用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的替代方案。

1 个答案:

答案 0 :(得分: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

工作示例here