0

カスタマイズされたGoogleマップに詳細なバブルの内容(会社名、住所、電話番号、ウェブサイト、業種)を含む100以上の場所を表示したいと思います。 Google Maps API 3とPHPを使用してMySQLデータベースからこれらの場所を取得するにはどうすればよいですか?Google Map APIを使用して複数の場所をMySQLとPHPで表示する最も簡単な方法は何ですか?

+1

私の知る限り、Google Maps APIはデータベースからそれらをフェッチすることとは関係ありません。私は、PHPでSQLクエリを書くことをお勧めします、SQLデータベースから物事をフェッチするデフォルトのようです。 – Wrikken

+0

PHPとSQLの作成に不安がある場合は、Fusion Tablesを調べることをお勧めします。これにより、場所のリストを(スプレッドシートとして)更新して、コードを書き込むことなくマップ上に表示することができます。 – plexer

答えて

2

は、あなたがこのタイプのSQLデータベースを持っていると言う:
ID /緯度/経度/あなたのJavaで

<script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?key= **your key** &sensor=true"> 
</script> 


    $sqlprep = "SELECT * FROM table_name"; 

    $doselect = mysql_query($sqlprep); 

    echo "<script> var locations = ["; 

     while ($loc = mysql_fetch_assoc($doselect)){ 

     echo "['" .$loc[comment] ."', " . $loc['lat'] . ", " . $loc['lon'] . ""; 

     } 

    echo " ];</script>"; 

、その後のコメント:

<script>jQuery(window).ready(function(){ 


      function initialize() { 
       var myLatlng = new google.maps.LatLng(YOUR CENTER LAT,LAN HERE); 
       var myOptions = { 
       center: myLatlng, 
       zoom: 15, 
       mapTypeId: google.maps.MapTypeId.ROADMAP 
       }; 


    var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions); 



      var infowindow = new google.maps.InfoWindow() 


    var marker, i; 

    for (i = 0; i < locations.length; i++) { 
      marker = new google.maps.Marker({ 
      position: new google.maps.LatLng(locations[i][1], locations[i][2]), 


       map: map 
      }); 


//adding the pop up windows here: 

      google.maps.event.addListener(marker, 'click', (function(marker, i) { 
        return function() { 
         infowindow.setContent(locations[i][0]); 
         infowindow.open(map, marker); 
        } 
      })(marker, i)); 


     } 

    initialize() ; 


    }); </script> 

あなたのhtmlのようなものでなければなりません。

<html> 
<body > 
<div id="map_canvas" > 
</div> 
</body> 
</html>  

括弧がありませんが、 int;) 8ヶ月後でも役立つことを祈っています:)

関連する問題