2017-04-15 172 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