PHPファイルからの私の配列は次のようになります。
[
{"lat":"4.174475","lon":"73.509564","datetime":"2012-11-23 16:41:40"},
{"lat":"5.17","lon":"73.50633754680894","datetime":"2012-11-23 05:00:00"},
{"lat":"6.17","lon":"73.50633754680894","datetime":"2012-11-01 00:00:00"}
]
リンク#Threeをクリックすると、threeClick()
関数を使用して3つのマーカーが生成されます。これが関数です。
function threeClick () {
$.getJSON('json.search.php?idcard=<?php echo $idcardno; ?>&limit=3', function(data) {
var location;
$.each(data, function (key, val) {
addMarker(val.lat,val.lon);
});
}
マーカーの追加機能は次のようになります(from:Googleマップ上のJson配列からのLatLng座標のプロット---マーカーはすべて同じ場所に積み重ねられます)
function addMarker(lat,lng) {
marker = new google.maps.Marker({
position: new google.maps.LatLng(lat,lng),
map: map,
icon: "images/mapIcons/red-dot.png"
});
markersArray.push(marker);
}
私は以下を使用して地図を生成しました:
var map;
var markersArray = [];
function initMap() {
var latlng = new google.maps.LatLng(4.174475, 73.509564);
var myOptions = {
zoom: 16,
center: latlng,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
map = new google.maps.Map(document.getElementById("mapcanvas"), myOptions);
}
リンクをクリックしたときにマーカーを表示する方法を教えてもらえますか?このコードの何が問題になっていますか?