gpt4 book ai didi

javascript - 从php文件在谷歌地图中刷新经纬度

转载 作者:行者123 更新时间:2023-12-05 07:31:25 24 4
gpt4 key购买 nike

我是 stackoverflow 和编程的新手,第一次你好我如何刷新 php 数据到 javascript google map lat long bicos lat long ar 每秒都在变化,我喜欢像实时一样刷新 lat long 但问题是它们只在第一次加载真实位置并且只刷新相同的 lat长。如何在不重新加载页面的情况下从 php 加载经纬度

在这个文件中是 php 和加载谷歌地图的代码

    <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>

最佳答案

我听到的问题:

如何根据 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 );

如果您需要任何进一步的说明,请发表评论。

关于javascript - 从php文件在谷歌地图中刷新经纬度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51810371/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com