2012-07-14 10 views
8

Google Maps JavaScript API v3 documentationに基づいて、google.maps.PolygonクラスのgetPath()関数はMVCArrayを返します。単純なケースでは、ポリゴンのパスはLatLngsという単一の配列で、google.maps.PolygonクラスのsetPath()関数に渡されるとMVCArrayタイプに変換されます。GoogleマップからのLatLng

上記のケースは私が現在扱っているものです。私はLatLngsの配列を渡し、をPolygonオブジェクトに呼び出すとMVCObjectと返されます。私の質問は次のとおりです。MVCObjectをPolygonの形をなすLatLngsの単一の配列に変換するにはどうすればよいですか?一部のGoogle Maps API v3には欠けているものがありますか?私は、何か明白な変換関数や、APIを使って私を逃している何かのものがなければならないように感じます。

ご協力いただければ幸いです。

答えて

24

あなたがPolygon.getPath()api-docを呼び出すと、戻り値はPolygonの最初のパスを表すLatLngインスタンスのMVCArrayapi-docです。あなたは直接、二つの方法でMVCAarrayのメンバーに得ることができます。LatLngメンバーを含む基礎となるJavaScriptのArrayを返します

  1. コールMVCAarray.getArrayを、。
  2. MVCArray.getAt(index)を使用します。MVCArray(この場合はLatLng)のインデックスにあるものが返されます。これにより、JavaScriptのforループを設定して配列のメンバーを反復処理することができます。

forEach(callback:function(*, number))機能を使用して、MVCArrayのメンバーで間接的に作業することもできます。この場合、2つのパラメータを受け入れるコールバック関数を渡す必要があります。

  1. MVCArrayの実際のメンバー要素です。
  2. その要素が配置されている配列インデックス。
+0

もちろんです。私はドキュメントでそれを逃したとは信じられません。ありがとう。 –

+0

LatLong(geoJson座標)の代わりにLngLatを取得する方法はありますか? – AllJs

関連する問題