2011-06-30 11 views
0

住所の配列を含むPHP変数があります。私はGoogleマップv3のjavascript APIを使用しています。私は住所をジオコーディングしてマーカーを置くことができる関数を持っていますが、php変数に格納されている各アドレスに対してその関数をどのように実行するのか混乱しています。googlemapsで複数の住所をマッピングする - javascript APIと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> 

答えて

0

は、foreachループを使用します。

<?php 

foreach ($array_of_addresses as $address) { 

// Do Whatever 

} 

?> 

あなたはモンテOhrtからPHPライブラリを使用していますか?あなたが本当にうまくいかなければ、ここでそれをダウンロードすることができますhttp://www.phpinsider.com/php/code/GoogleMapAPI/

0

JavaScript関数を一度定義してください。次に、PHP配列をループし、各アドレスでjavascript関数を実行します。次に例を示します。

function geocode() { 
... 
} 

<?php 
    foreach($arrAddress as $address) { 
?> 
    geocode('<?php echo $address; ?>'); 
<?php 
    } 
?> 
+0

Allrightしかし、今私は別の問題に直面しています。 **ジオコーダーが定義されていても**ジオコーダーは未定義です**。 javascript機能の元のポストを確認してください。 – Blueboye

+0

わかった。私は体内でジオコーダー関数を呼び出しています。私はbody loadにinitalize()を設定しました。したがって、ジオコーダー関数は初期化の前に呼び出されています。ですから、ボディを初期化した後にジオコーダー関数を呼び出す方法を見つける必要があります。私たちができることを見てみましょう。どんな思考家? – Blueboye

+0

codeAddress関数の後にPHPコードを本体にドロップするだけです。 – Detect

関連する問題