2

ポリゴンのパスを取得して、そのような別のポリゴンに設定しようとしています。

newpoly = new google.maps.Polygon({
                paths:poly.getPaths()
            });

これはうまくいくと思いませんか?コンソールにこのエラーが表示されます。

コンストラクタ パラメータ 0 の無効な値: [object Object]

4

3 に答える 3

1

ポリゴン オブジェクトをインスタンス化する前に、以下を追加してみてください

var triangleCoords = [
    new google.maps.LatLng(25.774252, -80.190262),
    new google.maps.LatLng(18.466465, -66.118292),
    new google.maps.LatLng(32.321384, -64.75737),
    new google.maps.LatLng(25.774252, -80.190262)
  ];

コードを使用して poly.getPaths() を置き換えます - 残りのコードが機能すると仮定します。

newpoly = new google.maps.Polygon({
                paths:triangleCoords //there are probably more method to add here 
            });

それが機能する場合、poly.getPaths() に何か問題があることがわかります。これを参照https://developers.google.com/maps/documentation/javascript/overlays#PolygonOptionsとして使用してください。

解決策を策定するために提供されたコードのみを使用できることに注意してください。

于 2012-09-16T07:42:46.937 に答える
1

poly オブジェクトのコードを表示でき、 poly.getPaths() が何かを返す場合に役立ちます。次のように詳細にデバッグすることをお勧めします。

  1. paths:poly:Paths(); をコメントするとエラーが発生しますか?
  2. Console.log(ポリ); Google マップのポリゴンを返しますか?
  3. Console.log(poly.getPaths()) はパスの配列を返しますか?
  4. はいの場合は、poly.getPaths から配列を作成して、それを newpoly に渡すことができます。
于 2012-09-16T07:25:57.620 に答える