繁体   English   中英

在Google地图api中加载多边形

[英]Load polygon in Google map api

我想实现像用户可以从我们的应用程序中绘制谷歌地图中的区域。 然后当他回来时,应该加载之前由他/她绘制的数据。

我已经做了两种方法。 一个是,

  1. 使用绘图管理器。

    使用javascript在谷歌地图中绘制多边形

    https://developers.google.com/maps/documentation/javascript/drawinglayer

  2. 使用谷歌地图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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM