いくつかのコードをまとめましたが、zLat と zLng に何らかの問題があるはずです。for ループ内で zLat と zLng を tLat と tLng に置き換えると、意味のあるマーカーが 1 つ得られるのはなぜだろうと思っています。そこに zLat と zLng があると、マーカーが表示されません。なぜこれが起こるのでしょうか?
PS zLat と zLng の私のアラートは、適切な出力のように見えるものを生成していますが、そうであってはなりませんか?
// // // // // // // // Ajax returns from PHP
xmlhttp.onreadystatechange=function() {
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
var obj = $.parseJSON(xmlhttp.responseText);
var tLat = getCookie("tLat");
var tLng = getCookie("tLng");
var options = {
zoom: 4,
center: new google.maps.LatLng(40.7257, -74.0047),
mapTypeId: google.maps.MapTypeId.ROADMAP
};
// Creating the map
var map = new google.maps.Map(document.getElementById('map'), options);
// Adding a marker to the map
/*var marker = new google.maps.Marker({
position: new google.maps.LatLng(tLat, tLng),
map: map,
title: 'Click me',
icon: 'http://gmaps-samples.googlecode.com/svn/trunk/markers/blue/blank.png'
});*/
var marker;
alert(obj.length);
for(var i=0;i<obj.length;i++) {
var zLat = String(obj[i].lat);
var zLng = String(obj[i].lng);
marker = new google.maps.Marker({
position: new google.maps.LatLng(zLat, zLng),
map: map,
title: 'Click me'
});
alert(zLat+','+zLng+','+i);
}
$('#map').show();
}
}
// // // // // // // //