Geocoding town names to their coordinates in a loop
I've read similar posts, but still didn't find a solution for myself. Basically I have an array with countries+towns in PHP and I need to show them on the map with markers. Here is my code:
function showAddress(markers) {
    var address = "<?php echo $Fcity[$j], " , ", $Fcountry[$j]?>";
     i开发者_如何学Gof (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);
            }
          }
        );
      }
    }
Everything seems to work if I geocode one location, but I can't put it into a loop to process all of them.
for (var i = 0; i < markers.length; i++) {
            showAddress(markers[i]);
        }
In your showAddress function, you reference markers[i].
However, you don't pass in i... that variable is not in the scope of the function. So, you aren't iterating and adding, you are adding variables over and over to a non-existent place in the array.
You either need to pass in i or not encapsulate showAddress in a function.
How about making the function showAddresses and putting the loop in the function.
 
         加载中,请稍侯......
 加载中,请稍侯......
      
精彩评论