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