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

标签 javascript php jquery html maps

我是 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/

相关文章:

javascript - 创建对象时是否可以使用 'default' 属性复制 Mongoose 模式中的对象属性?

javascript - 具有多个搜索字符串的过滤表(Vanilla JS)

javascript - 对 MemoryStore(或任意数据数组)中的数据进行排序

php - 在函数中使用 "return"后是否执行了任何操作

c# - 使用 JQuery Timeago 显示日期时间

javascript - 正则表达式仅接受名称和数字

javascript - 在 Javascript 中使用比例调整 div 大小(不使用 Jquery)

php - ob_flush 需要很长时间才能执行

php - 使用 PHP 填充表的最有效方法是什么?

javascript - 如何使用jquery将.current类添加到父类li