谷歌地图中的实时跟踪在地图上实时跟踪地理纬度/经度

2022-08-30 21:15:27

我已经写了一个Android应用程序将纬度和经度上传到MySQL数据库(每2分钟更新一次)。

现在,我不知道如何在网站(php,javascript,html)中显示Google地图上的实时位置,这意味着如何每2分钟动态更新一次Google地图标记[从MySQL数据库获取最后两分钟的记录并显示标记(更新或消失)]

在我点击标记后,它应该显示信息[从mysql数据库获取(不重要,因为它与静态Google地图相同!?]

就像这样:http://traintimes.org.uk/map/tube/

我只知道该怎么做,当我得到1时间(静态谷歌地图!?)与我有限的知识。

我已经在堆栈溢出和谷歌中搜索了相同的问题,但我很抱歉,由于我缺乏知识,我仍然不知道如何做到这一点。

实时谷歌地图

任何人都可以给我一些教程网站或建议?

最后,感谢你们所有人,我仍然是英语的学习者,我对任何错误的语法感到抱歉。


答案 1

在地图上实时跟踪地理纬度/经度

您希望在更新发生时实时更新地图(谷歌地图或其他方式)上的坐标实体(纬度/经度位置)。这里有一篇博客文章,可能会让你朝着正确的方向开始:http://blog.pubnub.com/streaming-geo-coordinates-from-mongodb-to-your-iphone-app-with-pubnub-using-websocket-sdk/ - 这使用MongoDB和Ruby而不是PHP和MySQL。但是,在这种情况下,在HTML页面上使用PHP和MySQL中的实时映射进行设置将很容易,其中包含以下详细信息。还有一个视频:https://vimeo.com/60716860

使用 MySQL 实时触发更新

首先,您需要使用任何一个MySQL触发器来推送Lat/Long坐标 - 当mysql更改时调用推送器 - 这使用MySQL触发器

或者作为替代方案,您可能希望使用 PHP 直接使用 PHP 推送 SDK 调用推送信号,如下所示:https://github.com/pubnub/php#php-push-api

$pubnub->publish(array(
    'channel' => 'live_map_coords',
    'message' => array( 12.3482, 8.3344 )
));

在 JavaScript 中接收推送消息并在地图上显示更新

<script src=//pubnub.a.ssl.fastly.net/pubnub-3.4.5.min.js></script>
<script>(function(){

    PUBNUB.init({
        subscribe_key : 'demo'
    }).subscribe({
        channel  : 'live_map_coords',
        callback : function(lat_lon) { alert(lat_lon) }
    });

})();</script>

一旦您拥有包含上述代码的页面,就可以更改消息弹出窗口,并在地图上绘制坐标。这是一个使用JavaScript SVG渲染框架绘制的完全工作的地图示例:https://github.com/stephenlb/pubnub-mongo-pipe/blob/master/phone/map.htmlmap.htmlalert(lat_log)D3

注意:这只是一个起点,并为您提供了有关入门的参考,使其变得简单易行,但根据您将要使用应用程序的方向灵活变为现实。

拼凑实时地理地图的后续步骤

接下来,您将需要执行以下操作来完成该过程,并将此处列出的所有单独组件联接在一起。

  1. 修改页面以显示始终可见的点。请注意,在视频中,这些点是临时信标,可以快速显示和消失。您需要使它们在地图上持久存在。这基本上是“让它看起来像你想要的样子”的步骤。map.html
  2. 确定如何以及何时直接从 PHP 或 MySQL 触发 TCP 套接字推送事件。我推荐PHP方法

答案 2