我有一些代码放在一起,我发现zLat和zLng一定存在问题。我想知道为什么当我用for循环中的tLat和tLng替换zLat和zLng然后我得到一个有意义的标记。有了zLat和zLng,我没有标记。为什么会发生这种情况?
P.S。我对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();
}
}
// // // // // // // //
答案 0 :(得分:0)
// // // // // // // // 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(tLat, tLng),
mapTypeId: google.maps.MapTypeId.ROADMAP
};
// Creating the map
var map = new google.maps.Map(document.getElementById('map'), options);
var myLatLng = new google.maps.LatLng(parseFloat(obj[0][2]), parseFloat(obj[0][1]));
//var marker = new google.maps.Marker({ position: myLatLng, map: map });
var marker;
for(var i=0;i<obj.length;i++) {
var myLatLng = new google.maps.LatLng(parseFloat(obj[i].lat), parseFloat(obj[i].lng));
var marker = new google.maps.Marker({ position: myLatLng, map: map });
}
$('#map').show();
}
}
// // // // // // // //