ついに私は解決策を見つけました!問題は、だけでなくオブジェクトをencodePath
期待することでした。google.maps.LatLng
GeoPoints
上記のような配列をエンコードされた文字列に変換する関数は次のとおりです。
function encodeLatLngPolygon(array) {
var polyOptions = {
strokeColor: '#000000',
strokeOpacity: 1.0,
strokeWeight: 3
}
poly = new google.maps.Polyline(polyOptions);
var path = poly.getPath();
for(var i=0;i<array.length;i++) {
var xyz = new google.maps.LatLng(parseFloat(array[i][0]).toFixed(2), parseFloat(array[i][1]).toFixed(2));
path.push(xyz);
}
var code = google.maps.geometry.encoding.encodePath(path)
return code;
}
はtoFixed
、バイトを節約するために小数点以下の数値を減らします。このパラメータは削除または調整できます。