Javascript 使用谷歌地图绘制工具绘制多边形时获取Lat Lng

Javascript 使用谷歌地图绘制工具绘制多边形时获取Lat Lng,javascript,google-maps,Javascript,Google Maps,我在地图上看到了谷歌地图和绘图工具。我可以画圆形,多边形,矩形。。。在地图上。首先,我使用Google Maps JavaScript入门页面中的示例代码: 通过提供所有属性和板条,我能够找到许多关于必须绘制/制作形状对象的示例 如何使用“绘图工具”工具栏中的一个绘图工具来获得我刚刚绘制的形状的板条 我计划制作一个应用程序,允许用户在地图上绘制形状,并将LatLng保存到我将使用MySql的数据库中,以便以后可以根据要求在地图上再次显示形状。 请提供帮助。有几种方法可以获取您在地图上绘制的形状的

我在地图上看到了谷歌地图和绘图工具。我可以画圆形,多边形,矩形。。。在地图上。首先,我使用Google Maps JavaScript入门页面中的示例代码:

通过提供所有属性和板条,我能够找到许多关于必须绘制/制作形状对象的示例

如何使用“绘图工具”工具栏中的一个绘图工具来获得我刚刚绘制的形状的板条

我计划制作一个应用程序,允许用户在地图上绘制形状,并将LatLng保存到我将使用MySql的数据库中,以便以后可以根据要求在地图上再次显示形状。
请提供帮助。

有几种方法可以获取您在地图上绘制的形状的坐标。特别是对于多边形,您可以像这样向贴图添加事件侦听器。最简单的方法是在多边形完成绘制时向地图添加事件侦听器

google.maps.event.addListenerdrawingManager,'polygoncomplete',functionpolygon{ const coords=polygon.getPath.getArray.mapcoord=>{ 返回{ lat:coord.lat, lng:coord.lng } }; console.logJSON.stringifycoords,null,1; //在这里保存坐标 }; 每种类型的图形都有一种不同的保存格式,所以对于类似于圆的东西,您可以这样做

google.maps.event.addListenerdrawingManager,'circlecomplete',functioncircle{ 常量半径=circle.getRadius; //在这里保存循环 }; 您还可以通过侦听OverlyComplete事件来添加事件以侦听所有事件,但在这种情况下,您必须处理事件中的不同类型

google.maps.event.addListenerdrawingManager,“OverlyComplete”,functionevent{ 如果event.type=='circle'{ //使用event.overlay处理圆 } 如果event.type=='polygon'{ //使用event.overlay处理多边形 } }; 下面是一个例子:

以下是我的消息来源:

编辑

我看到人们保存数据的另一种方式是向地图添加事件侦听器以获取GeoJSON数据,这是保存图形数据的标准格式


链接:

谷歌地图API的基本指南可以作为一个好的开始,但如果你真的想用它们构建一个应用程序,你必须查看文档参考,以获得详细的细节。这是我添加的第二个源链接。谢谢@Chris Sandvik,这对我帮助很大。我是一个初学者,你的回答帮了我很大的忙。嗨@Chris Sandvik,我有一个后续问题:如果event.type='polygon'{//Handle polygon using event.overlay}是event.overlay,和新的google.maps.polygon一样吗?在形状被修改后,我正在努力弄清楚如何收听和获取lat&lng。任何建议,谢谢。我想获得多边形的更新lat lng,如下所示:但到目前为止,我还没有弄清楚如何从event.overlay获得这些功能,这可能吗?相关问题:可能重复