多次元のJSONがあり、そのデータを使用してGoogleマップにマーカーをプロットします。
このプラグインをJqueryで使用して、Googleマップを操作します。
現在のコードでは、マップにマーカーが表示されません。これを引き起こしている可能性がありますか?
init
イベントが発生すると、スクリプトはJSONデータを反復処理し、それをマップにプロットし、各プロパティの値ごとinfo-boxes
に適切なHTMLマークアップを作成してすべてのマーカーに添付する必要があります。
私のJSONは次のようになります:
[{product:{productName:"ProductA", productPrice:"19.99", productQuantity:"12", Lat:"53.573858", Lng:"45.985456"}},{product:{... repeat ...}}, {...}]
私のjQueryは次の$.each()
ようになります。
$('#map').gmap(mapOptions).bind('init', function () {
$.post('myscript.php', function (json) {
var theMarkers = json;
$.each(theMarkers.product, function (i, object) {
$.each(object, function (property, value) {
$('#map').gmap('addMarker', {
'position': new google.maps.LatLng(object.Lat.value, object.Lng.value),
'bounds': true,
'icon': 'myicon.png'
}).click(function () {
$('#map').gmap('openInfoWindow', {
'content': '<h1>' + object.productName.value + '</h1>' + '<h2 style="color: grey">' + object.productPrice.value + '</h2><p style="color: green">' + object.productQuantity.value + '</p>'
}, this);
});
});
});
});
});