2012-07-14 38 views
8

基於Google Maps JavaScript API v3 documentation,google.maps.Polygon類的getPath()函數返回MVCArray。在一個簡單的例子中,一個Polygon的路徑可以是一個LatLngs的單個數組,在被傳遞到google.maps.Polygon類的setPath()函數中時,它將被轉換爲MVCArray類型。LatMap from Google Maps Polygon getPath()

上面的案例是我目前正在處理的。我傳入一個LatLngs的數組,並返回(我認爲是)MVCObject,當我在我的Polygon對象上調用getPath()時。我的問題是:如何將此MVCObject重新轉換爲形成多邊形形狀的單個數組LatLngs?是否有一些內置Google Maps API v3的方式,我錯過了?我覺得必須有一些明顯的內置轉換函數或者API中的某些東西,這些東西在我看來都沒有。

任何幫助,將不勝感激。

回答

24

當你調用Polygon.getPath()api-doc,返回的是代表Polygon的第一路徑的MVCArrayapi-docLatLng的實例。您可以直接獲取到MVCAarray成員有兩種方式:

  1. 呼叫MVCAarray.getArray,這將返回一個包含LatLng成員底層的JavaScript Array
  2. 使用MVCArray.getAt(index),它將返回MVCArray(在這種情況下,一個LatLng)索引中的任何內容。這爲您提供了一種設置JavaScript for循環來遍歷數組成員的方法。

您還可以使用forEach(callback:function(*, number))函數間接與MVCArray的成員一起工作。在這種情況下,您必須通過回調函數接受兩個參數:

  1. MVCArray的實際成員元素。
  2. 該元素所在的數組索引。
+0

當然。不能相信我錯過了這些文檔。謝謝。 – 2012-07-14 19:26:48

+0

有沒有辦法讓LngLat代替LatLong(geoJson座標)? – AllJs 2016-08-01 08:00:52