有几种方法可以获取您在地图上绘制的形状的坐标。专门针对多边形,您可以像这样向地图添加事件监听器。最简单的方法是在多边形绘制完成时向地图添加事件侦听器。
google.maps.event.addListener(drawingManager,'polygoncomplete',function(polygon) {
const coords = polygon.getPath().getArray().map(coord => {
return {
lat: coord.lat(),lng: coord.lng()
}
});
console.log(JSON.stringify(coords,null,1));
// SAVE COORDINATES HERE
});
每种类型的图形都有不同的保存格式,因此对于诸如圆形之类的东西
google.maps.event.addListener(drawingManager,'circlecomplete',function(circle) {
const radius = circle.getRadius();
// Save circle here
});
您还可以选择添加事件以通过监听overlaycomplete
事件来监听所有事件,但是在这种情况下,您将不得不处理事件内部的不同类型。
google.maps.event.addListener(drawingManager,'overlaycomplete',function(event) {
if (event.type == 'circle') {
// Handle Circle using event.overlay
}
if (event.type == 'polygon') {
// Handle Polygon using event.overlay
}
});
这是一个例子:
https://jsfiddle.net/juop8q3n/1/
这是我的消息来源:
编辑
我见过人们保存数据的另一种方法是在地图上添加事件侦听器以获取GeoJSON数据,这是用于保存图形数据的标准格式。
链接:http://jsfiddle.net/y89rbfLo/
本文链接:https://www.f2er.com/3165459.html