我已经编写了一个Android应用程序来将lat和long上传到MySQL数据库(每2分钟更新一次)。
现在,我不知道如何在网站上显示Google地图上的实时位置(php,javascript,html) 这意味着如何每2分钟动态更新Google地图标记[从MySQL数据库获取最后两分钟记录 并显示标记(更新或消失)]
在我点击标记之后,它应该显示信息[从mysql数据库获取(不重要的一点,因为它与静态Google地图相同!?)
就像这样:http://traintimes.org.uk/map/tube/
我只知道当我得到一次(静态谷歌地图!?)时,我知道怎么做。
我已经在堆栈溢出和谷歌搜索了相同的问题 但我很抱歉,由于我缺乏知识,我仍然不知道该怎么做。
任何人都可以给我一些教程网站或建议吗?
最后,谢谢大家 和 我仍然是英语学习者,我对任何错误的语法感到抱歉。
答案 0 :(得分:17)
您希望在更新发生时实时更新地图上的坐标实体(纬度/经度位置)(谷歌地图或其他)。这篇博文可能会让你开始朝着正确的方向前进: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触发器来推动Lat / Long坐标 - Invoke pusher when mysql has changed - 这使用MySQL触发器
或者作为替代方案,您可能希望使用PHP直接使用PHP来调用推送信号,如下所示:https://github.com/pubnub/php#php-push-api
$pubnub->publish(array(
'channel' => 'live_map_coords',
'message' => array( 12.3482, 8.3344 )
));
<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>
如果您的map.html
页面中包含上述代码,则可以使用地图上的绘图坐标更改alert(lat_log)
消息弹出窗口。这是使用D3
JavaScript SVG渲染框架的完整工作地图绘制示例:https://github.com/stephenlb/pubnub-mongo-pipe/blob/master/phone/map.html
注意:这只是一个起点,为您提供有关入门的参考资料,使其变得简单,灵活,具体取决于您的应用方向。
接下来,您需要执行以下操作来完成此过程,并将此处列出的所有单独组件连接在一起。
map.html
页面以显示始终可见的点。请注意,在视频中,点是临时信标,可以快速显示和消失。你会想让它们坚持在地图上。这基本上是“让它看起来像你想要的那样”步骤。