从php文件刷新谷歌Map

x759pob2  于 2022-12-25  发布在  PHP
关注(0)|答案(1)|浏览(145)

我是新的stackoverflow和编程第一次你好我怎么能刷新一个php数据到javascript谷歌Maplat long bicos的lat long ar改变每一秒,我木材喜欢刷新lat long喜欢实时,但问题是thets加载只有第一次真正的位置和刷新只有相同的lat long.如何加载lat lon从php没有重新加载页面
在这个文件是PHP和这个代码下载wher加载谷歌Map

<script>
  function initMap() {
  var myLatlng = new google.maps.LatLng('.json_encode($Lat).', '.json_encode($Long).');
var mapOptions = {
zoom: 13,
center: myLatlng
    }
var map = new google.maps.Map(document.getElementById("map"), mapOptions);
var marker = new google.maps.Marker({
position: myLatlng,
    });

marker.setMap(map);
setInterval( function(){ 

    marker.setPosition( new google.maps.LatLng( '.json_encode($Lat).', '.json_encode($Long).' ) );
    map.panTo( new google.maps.LatLng( '.json_encode($Lat).', '.json_encode($Long).' ) );

    }, 1000 );
}

</script>
<script async defer
src="https://maps.googleapis.com/maps/api/js?key=myapikey&callback=initMap">
</script>
2ic8powd

2ic8powd1#

    • 我听到的问题是:**

我怎样才能异步加载谷歌Map位置基于不断变化的坐标提供的php脚本?

    • 建议的解决方案:**

我认为最好的方法是创建一个单独的php脚本,通过json格式提供更新的坐标,然后在一个单独的php脚本中使用从JavaScript获取的坐标,可以在setInterval函数中运行。

    • 您的新php脚本将以如下形式结束:**
echo json_encode(array('latitude' => $Lat, 'longitude' => $Lon));
    • 然后在setInterval中,您可以执行以下操作:**
setInterval( function(){ 
  fetch(`newphpscript.php`)
    .then((response) => response.json())
    .then((data) => {
      marker.setPosition(new google.maps.LatLng(data.latitude, data.longitude));
      map.panTo( new google.maps.LatLng(data.latitude, data.longitude ));
  });
}, 1000 );

如需进一步澄清,请发表意见。

相关问题