4

ポイントの 2 次元配列を使用して、Google マップ API でポリゴンを作成しようとしています。これが私のコードです:

console.log(points)
mvc = new google.maps.MVCArray(points)
console.log(mvc.getArray())
console.log(mvc)

poly = new google.maps.Polygon({
        paths: mvc,
        strokeWeight: 2
    });

//poly.setPaths(new google.maps.MVCArray(points));    

コンソール出力は次のようになります

[[44.465332670616895, 26.143829190988], [44.466098355169805, 26.1465114000029], [44.4652867292244, 26.1474555375761], [44.4646435459323, 26.1463826539702], [44.4643066375701, 26.145588720101802]]

[[44.465332670616895, 26.143829190988], [44.466098355169805, 26.1465114000029], [44.4652867292244, 26.1474555375761], [44.4646435459323, 26.1463826539702], [44.4643066375701, 26.145588720101802]]

mg { b=[5], gm_accessors_={...}, length=5, more...}

そして、このエラー:

Invalid value for constructor parameter 0: [object Object]

MVC配列を使用してポリゴンを作成しようとする行、またはポリゴンパスとして割り当てようとする行。

今、私は何を間違っていますか?

4

1 に答える 1

2

ポリゴンのパスに割り当てられた配列のアイテムは、LatLng オブジェクトであると想定されます。最初に値を変換する必要があります。

for(var i=0; i < points.length; ++i){
     points[i] = new google.maps.LatLng(Number(points[i][0]),
                                        Number(points[i][1]));
}
于 2013-05-30T11:11:05.920 に答える