2012-10-14 161 views
1

我試圖使用PHP和MySQL在Google地圖上顯示多個標記,但由於地圖不顯示,所以不起作用。請幫助我,不要忘記更改mapkey。 謝謝。使用PHP和MySQL在Google地圖上顯示多個標記

這裏是我的代碼:

 <%@ page language="java" contentType="text/html; charset=UTF-8" 
     pageEncoding="UTF-8"%> 
     <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 

     <?php 

     $connexion=mysql_connect("localhost", "root", "") or die(mysql_error()); 
     mysql_select_db("survey",$connexion) or die(mysql_error()); 

     //la requête pour obtenir la liste des points 
     $result = mysql_query("SELECT latitude,longitude FROM appreciation order by id"); 

     //récupération de tous les points pour les mettre dans une table façon JavaScript 

     $listeDesPoints=''; 
     while($row = mysql_fetch_array($result)){ 
     if($listeDesPoints!='') $listeDesPoints.=','; 
     $listeDesPoints.='['.$row['lattitude'].','.$row['longitude'].']'; 
     } 
     //et voilà $listeDesPoints est prêt à être affiché dans le script 

     //on ferme la connexion à la base de données 
     mysql_close($connexion); 
     ?> 
     <html> 
     <head> 
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
     <title>Insert title here</title> 
     <script type="text/javascript" 
     src="http://maps.googleapis.com/maps/api/js? key=AIzaSyB3is760vHXhki9vS_LpiWAig8a33GP3CY&sensor=false"> 
     </script> 

     <script type="text/javascript"> 
     function initialize(){ 
     var centreCarte = new google.maps.LatLng(34.02,-6.83); 

     var optionsCarte = { 
     zoom: 12, 
     center: centreCarte, 
     keyboardShortcuts: true, 
     scrollwheel: true, 
     panControl: false, 
     mapTypeControl: true, 
     overviewMapControl: true, 
     rotateControl: true, 
     scaleControl: true, 
     streetViewControl: true, 
     zoomControl: true,   
     mapTypeId: google.maps.MapTypeId.HYBRID           
     } 

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





     var liste_des_points=[ 
     <?php echo $listeDesPoints; ?> 
     ]; 


     var i=0,li=liste_des_points.length; 
     while(i<li){ 
     new google.maps.Marker({ 
     position: new google.maps.LatLng(liste_des_points[i][0], liste_des_points[i][1]), 
     map: Carte, 
     title: "Marqueur-"+i, 
      }); 
     i++; 
} 


} 
     </script> 
     </head> 
     <body onload="initialize()"> 

     <div id="map" style="width:80%; height:80%" > 
     </div> 
     </body> 
     </html> 
+0

你試過多個瀏覽器嗎?我最近使用markerclusterer製作了一張地圖,出於某種未知的原因,我的地圖在Chrome瀏覽器以外的所有瀏覽器中效果很好! –

+0

你可以發佈一個鏈接到你正在運行的代碼,如果沒有看到它運行就很難調試。 –

回答

1

您分配映射對象變量地圖,但放置標記非existig圖「點菜」上。嘗試使用地圖:標記對象中的地圖。

+0

是的,我剛剛使用mozilla firfox,但它不起作用。 –

+0

我改變它在標記對象,但地圖不顯示 我沒有得到你的意思(鏈接到你的ronnig代碼)? –

+0

我想他是說你有「地圖:Carte」這一行應該是「地圖:地圖」, –