我有一张使用 gmaps.js 的 map ,我想向 map 添加一个 Controller ,允许用户绘制形状。
我知道这可以使用谷歌地图 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 的替代方案。
最佳答案
gmaps.js 没有绘图方法。但是您可以使用 gmaps.js 创建 map ,并使用普通 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
关于javascript - gmaps.js 添加DrawingManager控件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17391863/