Google maps api 3 来自Google Maps多边形getPath()的LatLng

Google maps api 3 来自Google Maps多边形getPath()的LatLng,google-maps-api-3,Google Maps Api 3,基于,google.maps.Polygon类的getPath()函数返回一个MVCArray。在简单的情况下,多边形的路径可以是latlng的单个数组,这些数组在传递到google.maps.Polygon类的setPath()函数时转换为MVCArray类型 上述案例就是我目前正在处理的。我传入一个latlng数组,并在对多边形对象调用getPath()时返回一个MVCObject。我的问题是:如何将这个MVCObject转换回一个构成多边形形状的latlng数组?是否有一些内置的谷歌地图A

基于,
google.maps.Polygon
类的
getPath()
函数返回一个
MVCArray
。在简单的情况下,多边形的路径可以是
latlng
的单个数组,这些数组在传递到google.maps.Polygon类的
setPath()
函数时转换为
MVCArray
类型

上述案例就是我目前正在处理的。我传入一个
latlng
数组,并在对多边形对象调用
getPath()
时返回一个
MVCObject
。我的问题是:如何将这个
MVCObject
转换回一个构成多边形形状的
latlng
数组?是否有一些内置的谷歌地图API v3的方式,我错过了?我觉得必须有某种明显的内置转换函数或API中的某些东西让我难以理解


任何帮助都将不胜感激。

当您调用
Polygon.getPath()
时,返回的是表示
多边形的第一条路径的
LatLng
实例的
MVCArray
。您可以通过两种方式直接访问
MVCAarray
的成员:

  • 调用
    MVCAarray.getArray
    ,它将返回包含
    LatLng
    成员的底层JavaScript
    Array
  • 使用
    MVCArray.getAt(index)
    ,它将返回
    MVCArray
    中该索引处的任何内容(在本例中为
    LatLng
    )。这提供了一种为
  • 循环设置JavaScript
    的方法,以迭代数组的成员
    您还可以使用
    forEach(callback:function(*,number))
    函数间接处理
    MVCArray的成员。在这种情况下,必须传递接受两个参数的回调函数:

  • MVCArray
    的实际成员元素
  • 该元素所在的数组索引
    var polygonBounds=polygon.getPath();
    var界限=[];
    对于(var i=0;i
    有没有办法获得LngLat而不是LatLong(geoJson坐标)?您能解释一下为什么以及这段代码如何回答OP的问题吗?您可以使用lat和lng获得json数组中多边形的所有路径
        var polygonBounds = polygon.getPath();
        var bounds = [];
        for (var i = 0; i < polygonBounds.length; i++) {
              var point = {
                lat: polygonBounds.getAt(i).lat(),
                lng: polygonBounds.getAt(i).lng()
              };
              bounds.push(point);
         }