2011-09-17 50 views
0

我想弄清楚爲什麼這個PHP腳本沒有創建我在HTML中指定的映射。有任何想法嗎?爲什麼不用谷歌地圖這個PHP工作?

<!doctype html> 

<html> 
    <head> 

     <meta name="viewport" content="initial-scale=1.0, user-scalable=no" /> 

     <style> 

      html { height: 100% } 
      body { height: 100%; margin: 0; padding: 0 } 
      #map { height: 100% } 

     </style> 

     <script 
     src="http://maps.googleapis.com/maps/api/js?sensor=false"> 

     </script> 

     <?php 
      $lat = $_POST['lat']; 
      $long = $_POST['long']; 

      echo " 

     <script> 

      function callMap() { 

       var latlng = new google.maps.LatLng($lat, $long);"; ?> 
       var options = { 
        zoom: 5, 
        center: latlng, 
        mapTypeId = google.maps.MapTypeId.TERRAIN 

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


      } 

     </script> 
    </head> 
    <body onload="callMap()"> 
    <div id="map"></div> 




    </body> 

</html> 
+0

難道你需要#map高度值? – Rhys

回答

3

options聲明語法搞砸:

var options = { 
    zoom: 5, 
    center: latlng, 
    mapTypeId = google.maps.MapTypeId.TERRAIN // ERROR 
}; 

應該

var options = { 
    zoom: 5, 
    center: latlng, 
    mapTypeId: google.maps.MapTypeId.TERRAIN 
}; 
+0

這很尷尬。雖然謝謝! – jerry

0

您還在谷歌js鏈接上丟失了一個括號。

+0

我看不到它。哪裏? – JJJ

-1

我不使用PHP,所以我不知道該代碼有什麼問題。如果您刪除了PHP和硬編碼的緯度/經度值,地圖是否工作?也許有一個問題可能只是表單的緯度和經度值。您沒有進行任何驗證,以確保它們在可接受的範圍內,例如經度爲+90至-90,經度爲+180至-180。