2013-02-09 61 views
0

我在這裏遇到了一種情況。我試圖使用傳單JavaScript庫在線地圖上顯示主題的當前位置。我的網站有兩頁。頁面1具有地圖顯示並且頁面2輸入主題的當前位置並相應地設置地圖。我正在使用藍色標記來顯示地圖上的主題位置。 如果我加載頁面1,標記顯示正確,但如果我更新頁面2上的位置,則在頁面1上的地圖上不會更新主體的位置。更新地圖標記而不刷新頁面 - 單張

這是我第-1代碼:

<!DOCTYPE html> 
<html> 
<head> 
<title></title> 
<h1></h1> 
<link rel="stylesheet" href="http://cdn.leafletjs.com/leaflet-0.5/leaflet.css" /> 
<link rel="stylesheet" href="CSS/mystyle.css" /> 
<!--[if lte IE 8]> 
    <link rel="stylesheet" href="http://cdn.leafletjs.com/leaflet-0.5/leaflet.ie.css" /> 
<![endif]--> 
<script src="http://cdn.leafletjs.com/leaflet-0.5/leaflet.js"></script> 
<script src="SCRIPT/jquery-1.9.1.js"></script> 
<script src="SCRIPT/myscript.js"></script> 
</head> 

<body onload="LoadMap()"> 
<h2>Current location:</h2> 
<table border="1" id="currentloc_table"> 
    <tr> 
     <th>Name</th> 
     <th>IMEI</th> 
     <th>Latitude</th> 
     <th>Longitude</th> 
    </tr> 
    <tr> 
     <td>Azeem HTC Device</td> 
     <td>357710043411902</td> 
     <td></td> 
     <td></td> 
    </tr> 
</table> 
<br/><br/> 
<div id="map"></div> 
</body> 
</html> 

這裏是myscript.js代碼:

  var map; 
      var marker; 

      function LoadMap() 
      { 

       $.ajax({ 
         url: "../Database/getcurrentlocation.php?deviceId=357710043411902", 
         success: function(data){ 
          if(data!=null) 
          { 
           var dataArray = data.split(/~/); 
           SetMap(dataArray[0],dataArray[1]); 
          } 
         } 
         }); 


       setTimeout(function(){LoadMap();},10000); 
      } 

      function SetMap(lati,longi) 
      { 
       var loc_table = document.getElementById('currentloc_table'); 
       loc_table.rows[1].cells[2].innerHTML = lati; 
       loc_table.rows[1].cells[3].innerHTML = longi; 
       map = L.map('map').setView([lati, longi], 12); 
       L.tileLayer('http://{s}.tile.cloudmade.com/XXXXXXXXXXXXXXXXXXXXXXXXXXXX/997/256/{z}/{x}/{y}.png', { 
       attribution: '', 
       maxZoom: 18 
       }).addTo(map); 
       marker = L.marker([lati, longi]).addTo(map); 
      } 

,當我重新加載頁面的地圖被更新。但是,我可以在不執行頁面1刷新的情況下使用新位置更新地圖嗎?

感謝

回答

1

只是把

setTimeout(function(){LoadMap();},10000); 

的LoadMap功能外