关于php:google map中的实时追踪

Real time tracking in google map

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

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

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

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

我只知道以我有限的知识获得 1 次(静态 Google 地图!?)时该怎么做。

我已经在堆栈溢出和谷歌搜索过同样的问题
但很抱歉,由于我缺乏知识,我仍然不知道该怎么做。

实时谷歌地图

谁能给我一些教程网站或建议?

最后谢谢大家

我还是一个英语学习者,对于任何错误的语法,我很抱歉。


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

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

使用 MySQL 实时触发更新

首先,您需要使用 MySQL 触发器来推送纬度/经度坐标 - 当 mysql 发生变化时调用推送器 - 这将使用 MySQL 触发器

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

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

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

1
2
3
4
5
6
7
8
9
10
11
<script src=//pubnub.a.ssl.fastly.net/pubnub-3.4.5.min.js>
(function(){

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

})();

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

NOTE: This is only a starting point and provides you with references on getting started to make it easy and simple, yet flexible based on the direction you will be taking your app.

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

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

  • 根据您的目的修改 map.html 页面以显示始终可见的点。请注意,视频中的点是临时信标,可快速显示和消失。您会希望它们保留在地图上。这基本上是"让它看起来像你想要的样子"步骤。
  • 决定如何以及何时直接从 PHP 或 MySQL 触发 TCP 套接字推送事件。我会推荐 PHP 方法。