【问题标题】:Load polygon in Google map api在谷歌地图 api 中加载多边形
【发布时间】:2016-11-22 07:48:06
【问题描述】:

我想实现用户可以从我们的应用程序中在谷歌地图中绘制一个区域。 那么当他回来时,就应该加载他/她之前绘制的数据。

我做了两种方法。一种是,

  1. 使用绘图管理器。

    Drawing Polygon in google map using 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数据)

在这里我无法获得绘制地点的区域。 该怎么做?

第一种方法或第二种方法的任何答案都是好的。

【问题讨论】:

    标签: javascript angularjs google-maps google-maps-api-3


    【解决方案1】:

    我已经做了替代,创建了多边形而不是在同一个绘图管理器中加载。

    绘图完成后,移除绘图管理器,然后创建多边形。然后有一个单独的按钮来从地图中删除多边形。

    如果我们删除多边形,然后从地图中删除多边形并重新创建绘图管理器。

    这解决了我的问题。

    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);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-02-03
      • 2012-09-12
      • 1970-01-01
      • 2012-07-01
      • 2011-11-21
      • 2011-09-13
      • 1970-01-01
      相关资源
      最近更新 更多