2012-06-03 81 views
1

我想知道是否有人可以幫助我。從MySQL加載動態Google標記

我正在使用下面的腳本從MySQL數據庫動態加載Google標記,並且腳本工作正常。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" lang="en"> 
    <head> 
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
     <title>Map My Finds - My Finds Per Location</title> 
     <link rel="stylesheet" href="myfindsperlocation.css" type="text/css" media="all" /> 
     <script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false&language=en"></script> 
     <script type="text/javascript"> 


      function load() { 
      var map = new google.maps.Map(document.getElementById("map"), { 
      center: new google.maps.LatLng(54.312195845815246,-4.45948481875007), 
      zoom:14, 
      mapTypeId: 'satellite' 
      }); 

      var infoWindow = new google.maps.InfoWindow; 

      downloadUrl("loadmyfindsperlocation.php", function(data) { 
      var xml = data.responseXML; 
      var markers = xml.documentElement.getElementsByTagName("marker"); 
      var bounds = new google.maps.LatLngBounds(); 
      for (var i = 0; i < markers.length; i++) { 
      var locationid = markers[i].getAttribute("locationid"); 
      var point = new google.maps.LatLng( 
      parseFloat(markers[i].getAttribute("findosgb36lat")), 
      parseFloat(markers[i].getAttribute("findosgb36lon"))); 
      var marker = new google.maps.Marker({ 
      map: map, 
      position: point 
      }); 
      bounds.extend(point); 
      map.fitBounds(bounds); 
      bindInfoWindow(marker, map, infoWindow, html); 
      } 
      }); 
      } 

      function bindInfoWindow(marker, map, infoWindow, html) {  
      google.maps.event.addListener(marker, 'click', function() {   
      infoWindow.setContent(html);   
      infoWindow.open(map, marker, html);  
      }); 
      } 

      function downloadUrl(url, callback) { 
      var request = window.ActiveXObject ? 
      new ActiveXObject('Microsoft.XMLHTTP') : 
      new XMLHttpRequest; 

      request.onreadystatechange = function() { 
      if (request.readyState == 4) { 
      request.onreadystatechange = doNothing; 
      callback(request, request.status); 
      } 
      }; 

      request.open('GET', url, true); 
      request.send(null); 
      } 

      function doNothing() {} 

      </script> 
      </head> 
      <body onLoad="load()"> 

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

你會看到這是一個比較簡單的形式,它要求從外部PHP文件這是在我的腳本這裏顯示的數據:downloadUrl("loadmyfindsperlocation.php", function(data) {

什麼我現在想要做的是納入PHP腳本到上面,但我似乎無法得到地圖加載,我懷疑這是做一個URL調用文件。我相信PHP是一個XML相對較新的東西,但是有人可能會告訴我如何在不加載它作爲外部URL的情況下調用它。

許多的感謝和親切的問候

回答

1

我什麼都沒得到你的CSS或PHP,所以我只能猜測。你在Javascript控制檯中看到錯誤嗎?

我所做的是添加以下樣式和地圖加載,即使PHP缺少,並給我錯誤。

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

關於加載PHP,它必須用於返回有意義的XML。你可以有一個預先寫好的XML並加載。

+0

Hi @Lilina,感謝您抽出寶貴時間回覆我的帖子,讓我保持直爽。親切的問候 – IRHM