次のエラーが表示されます。具体的には、json 内にネストされている google.maps.latLng オブジェクトがエラーになる理由がわかりません。
エラー: プロパティの値が無効です: (-19.240542583932452, 148.15044705312494)
このコードでエラーが発生する理由を知っている人はいますか? console.log json.markers[n].latLng firebugは、それが google.maps.latLng オブジェクトであると述べていますが、エラーの一部として含まれている場合、.toString() 出力として明確に表されます (これは単純に、エラー メッセージが文字列であるかどうかによるものです)。
私が取り組んでいるjQuery Google Maps V3 APIプラグインで次の2つの方法を使用しています。ここにいくつかのスニペットがありますが、投稿が乱雑になるだけなので、完全なコードは含めませんでした. わかりやすくするために、一部の json をハードコーディングしました。完成したプラグインでは、ajax 呼び出しによって取得されます。
私のプラグインのinitメソッド内:
// Request list of markers and return the json object
var markers = methods.requestMarkers();
// Place the markers
methods.placeMarkers(markers);
別の方法として:
requestMarkers : function () {
return {"markers":[{"id":["7"],"latLng":[new google.maps.LatLng(-19.240542583932452, 148.15044705312494)]},{"id":["8"],"latLng":[new google.maps.LatLng(-28.0497654, 153.43591700000002)]}]}
},
placeMarkers : function ( json ) {
if (json.markers.length > 0) {
var markers = new Array();
for(var n=0; n < json.markers.length; n++){
markers[n] = new google.maps.Marker({
map : methods.map,
position : json.markers[n].latLng
});
}
}
}
完全なコードは Github で見つけることができ、まだ wip です。