我读过类似的帖子,但仍然没有找到适合自己的解决方案。基本上我有一个 PHP 中包含国家+城镇的数组,我需要用标记在 map 上显示它们。这是我的代码:
function showAddress(markers) {
var address = "<?php echo $Fcity[$j], " , ", $Fcountry[$j]?>";
if (geocoder) {
geocoder.getLatLng(address, function(point) {
if (!point) {
alert(address + " not found");
} else {
var marker = new GMarker(point);
map.addOverlay(marker);
markers[i] = marker;
marker.openInfoWindowHtml(address);
}
}
);
}
}
如果我对一个位置进行地理编码,一切似乎都能正常工作,但我无法将其放入循环中来处理所有位置。
for (var i = 0; i < markers.length; i++) {
showAddress(markers[i]);
}
最佳答案
在 showAddress 函数中,引用标记[i]。
但是,您没有传入我...该变量不在函数的范围内。因此,您不是迭代和添加,而是一遍又一遍地将变量添加到数组中不存在的位置。
您要么需要传入 i,要么不将 showAddress 封装在函数中。
如何制作函数 showAddresses 并将循环放入该函数中。
关于javascript - 循环中将城镇名称地理编码为其坐标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1718535/