2017-04-15 218 views
-1

我有一個Google地圖上的指針,我想在不加載整個地圖的情況下進行更新。該指針可以在一個單獨的JavaScript文件的地方,但我怎樣才能使這個重載頁面加載後如何刷新javascript

  1. 沒有刷新整個頁面
  2. 我怎麼能刷新JS每隔30秒左右..

<html> 
 

 
<head> 
 
    <style> 
 
    #map { 
 
     height: 100%; 
 
    } 
 
    
 
    html, 
 
    body { 
 
     height: 100%; 
 
     margin: 0; 
 
     padding: 0; 
 
    } 
 
    </style> 
 
</head> 
 

 
<body> 
 
    <div id='map'></div> 
 
    <script> 
 
    function initMap() { 
 
     var map = new google.maps.Map(document.getElementById('map'), { 
 
     zoom: 10, 
 
     center: { 
 
      lat: ".$latitude.", 
 
      lng: ".$longitude." 
 
     } 
 
     }); 
 

 
     setMarkers(map); 
 

 
    } 
 

 

 
    var beaches = ["); 
 

 

 
     echo("['".$name. 
 
      "', ".$lat. 
 
      ",".$long. 
 
      "],"); 
 

 

 
     function setMarkers(map) { 
 

 
      var image = { 
 
      url: '1.png', 
 

 
      }; 
 

 
      var shape = { 
 
      coords: [1, 1, 1, 20, 18, 20, 18, 1], 
 
      type: 'poly' 
 
      }; 
 
      for (var i = 0; i < beaches.length; i++) { 
 
      var beach = beaches[i]; 
 
      var marker = new google.maps.Marker({ 
 
       position: { 
 
       lat: beach[1], 
 
       lng: beach[2] 
 
       }, 
 
       map: map, 
 
       icon: image, 
 
       shape: shape, 
 
       title: beach[0], 
 
       zIndex: beach[3] 
 
      }); 
 
      } 
 
     } 
 
    </script> 
 

 
    <script async defer src='https://maps.googleapis.com/maps/api/js?key=AIzaSyBVQaENEYHY2g-mRhD6_tj1cSK8DhQoqHI&callback=initMap'> 
 
    </script> 
 

 
</body> 
 

 
</html>

+1

你的代碼似乎無效?我看不到Javascript/PHP代碼在哪裏開始或結束。 –

回答

0

操縱與JS的地圖將不會刷新頁面。如果您需要與後端進行任何溝通,則可以使用AJAX。

setInterval(function(){ 
    // this function will be called at specific intervals 
}, timeInMiliseconds); 

https://www.w3schools.com/js/js_timing.asp

希望這有助於。 :)

+0

感謝它激起了思想。 我試過 函數refresh() { setMarkers(map); var refresher = setTimeout('refresh()',1000); } 但仍然沒有運氣,因爲我認爲我需要函數initMap() – user7763438