Отображение нескольких адресов в GoogleMap - API JavaScript и PHP - PullRequest
0 голосов
/ 30 июня 2011

У меня есть переменная PHP, которая содержит массив адресов.Я использую API Googlemaps v3 javascript.У меня есть функция, которая может геокодировать адрес и разместить маркер, но я не совсем понимаю, как запустить эту функцию для каждого адреса, хранящегося в переменной php.

Любые идеи, ребята?

Редактировать:Функция геодекодирования - это функция JavaScript.

Функция Javascript:

<script type="text/javascript"> 
          var geocoder;
          var map;
          function initialize() {
            geocoder = new google.maps.Geocoder();
            var latlng = new google.maps.LatLng(58.813742, -98.789062);
            var myOptions = {
              zoom: 4,
              center: latlng,
              mapTypeId: google.maps.MapTypeId.HYBRID
            }
            map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
          }

          //Change Address to Latlng and show on Map
          function codeAddress() {
            var address = "10 my house street, city, state";
            geocoder.geocode( { 'address': address}, function(results, status) {
              if (status == google.maps.GeocoderStatus.OK) {
                map.setCenter(results[0].geometry.location);
                map.setZoom(14);
                var marker = new google.maps.Marker({
                    map: map, 
                    position: results[0].geometry.location,
                });
              } else {
                alert("Geocode was not successful for the following reason: " + status);
              }
            });
          }
        </script> 

Ответы [ 2 ]

0 голосов
/ 30 июня 2011

Определите функцию JavaScript один раз.Затем выполните цикл через массив PHP и запустите функцию javascript для каждого адреса.Вот пример:

function geocode() {
...
}

<?php
  foreach($arrAddress as $address) {
?>
    geocode('<?php echo $address; ?>');
<?php
  }
?>
0 голосов
/ 30 июня 2011

Используйте цикл foreach:

<?php

foreach ( $array_of_addresses as $address ) {

// Do Whatever

}

?>

Вы используете библиотеку PHP от Monte Ohrt? Если нет, то это действительно хорошо, вы можете скачать его здесь http://www.phpinsider.com/php/code/GoogleMapAPI/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...