[英]Load polygon in Google map api
我想实现像用户可以从我们的应用程序中绘制谷歌地图中的区域。 然后当他回来时,应该加载之前由他/她绘制的数据。
我已经做了两种方法。 一个是,
使用绘图管理器。
https://developers.google.com/maps/documentation/javascript/drawinglayer
使用谷歌地图api数据层。 http://jsfiddle.net/dg9e93qy/
从第一种方法,我可以允许用户拖动,并可以限制用户绘制多个多边形。 但我无法再将多边形加载到此图形中。 但我找到了可以加载多边形的地方。 https://developers.google.com/maps/documentation/javascript/examples/polygon-simple 。
但这是使用多边形实例来显示多边形而不是绘图。
在这里我需要任何其他两个解决方案
是否应该使用绘图将多边形数据加载到地图中。
应使用多边形启用绘图选项https://developers.google.com/maps/documentation/javascript/examples/polygon-simple
从第二种方法,我可以得到坐标,并可以再次加载多边形。 但是我无法从中得到多边形区域。 (实际上我得到了geoJson数据)
在这里,我无法获得绘制场所的区域。 怎么做?
第一种方法或第二种方法的任何答案都是好的。
我做了替代,创建了多边形,而不是在同一个绘图管理器中加载。
绘制完成后,删除绘图管理器,然后创建多边形。 然后有一个单独的按钮从地图中删除多边形。
如果我们删除多边形,则从地图中删除多边形并重新创建绘图管理器。
这解决了我的问题。
drawingManager.setMap(null);
bermudaTriangle = new google.maps.Polygon({
paths: polygonsArray,
strokeColor: '#FF0000',
strokeOpacity: 0.8,
strokeWeight: 2,
fillColor: '#FF0000',
fillOpacity: 0.35
//,editable: true
});
bermudaTriangle.setMap(map);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.