开发者

Geocoding town names to their coordinates in a loop

开发者 https://www.devze.com 2022-12-10 23:49 出处:网络
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:

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.

0

精彩评论

暂无评论...
验证码 换一张
取 消