我读过类似的文章,但仍然找不到适合自己的解决方案。基本上,我有一个包含PHP国家/地区和城镇的数组,我需要在地图上用标记显示它们。这是我的代码:

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 ...该变量不在函数范围内。因此,您无需迭代和添加,而是将变量一遍又一遍地添加到数组中不存在的位置。

您需要传入i或不将showAddress封装在函数中。

如何使函数showAddresses并将循环放入函数中。

关于javascript - 将城镇名称地理编码到其坐标中,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1718535/

10-12 04:45