我已经编写了一个 android 应用程序来将纬度和经度上传到 MySQL 数据库(每 2 分钟更新一次)。
现在,我不知道如何在网站的谷歌地图上显示实时位置(php、javascript、html) 这意味着如何每 2 分钟动态更新一次 Google map 标记 [从 MySQL 数据库获取最后两分钟的记录 并显示标记(更新或消失)]
在我点击标记后,它应该显示信息[从 mysql 数据库获取(不重要,因为它与静态 Google map 相同!?]
就像这样:http://traintimes.org.uk/map/tube/
当我只用我有限的知识得到 1 次(静态谷歌地图!?)时,我就知道该怎么做。
我已经在 stack overflow 和 google 中搜索过同样的问题 但很抱歉,由于我缺乏知识,我仍然不知道该怎么做。
谁能给我一些教程网站或建议?
最后谢谢大家 和 我还是一个英语学习者,对于任何语法错误,我深表歉意。
最佳答案
您希望在更新发生时实时更新 map (谷歌地图或其他 map )上的坐标实体(纬度/经度位置)。这是一篇博客文章,可能会让您朝着正确的方向开始: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 实时 map 可以很容易地进行设置。还有一个视频:https://vimeo.com/60716860
首先,您需要使用任一 MySQL 触发器来推送纬度/经度坐标 - Invoke pusher when mysql has changed - 这使用了 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 )
));
<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) 消息弹出窗口,在 map 上绘制坐标。这是使用 D3 JavaScript SVG 渲染框架绘制的完整 map 示例: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 页面以显示始终可见的点。请注意,在视频中,点是临时信标,会快速显示和消失。你会想让它们在 map 上持久存在。这基本上是“让它看起来像你想要的样子”这一步。关于php - 谷歌地图实时跟踪,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16403475/
如何只加载map边界内的标记gmaps4rails?当然,在平移和/或缩放后加载新的。与此直接相关的是,如何获取map的当前边界和缩放级别? 最佳答案 我是这样做的,我只在用户完成平移或缩放后替换标记,如果您需要不同的行为,请使用不同的事件监听器:在你看来(index.html.erb):{"zoom"=>15,"auto_adjust"=>false,"detect_location"=>true,"center_on_user"=>true}},false,true)%>在View的底部添加:functiongmaps4rail
参考文章搭建文章gitte源码在线体验可以注册两个号来测试演示图:一.整体介绍 介绍SignalR一种通讯模型Hub(中心模型,或者叫集线器模型),调用这个模型写好的方法,去发送消息。 内容有: ①:Hub模型的方法介绍 ②:服务器端代码介绍 ③:前端vue3安装并调用后端方法 ④:聊天室样例整体流程:1、进入网站->调用连接SignalR的方法2、与好友发送消息->调用SignalR的自定义方法 前端通过,signalR内置方法.invoke() 去请求接口3、监听接受方法(渲染消息)通过new signalR.HubConnectionBuilder().on
技术选型1,前端小程序原生MINA框架cssJavaScriptWxml2,管理后台云开发Cms内容管理系统web网页3,数据后台小程序云开发云函数云开发数据库(基于MongoDB)云存储4,人脸识别算法基于百度智能云实现人脸识别一,用户端效果图预览老规矩我们先来看效果图,如果效果图符合你的需求,就继续往下看,如果不符合你的需求,可以跳过。1-1,登录注册页可以看到登录页有注册入口,注册页如下我们的注册,需要管理员审核,审核通过后才可以正常登录使用小程序1-2,个人中心页登录成功以后,我们会进入个人中心页我们在个人中心页可以注册人脸,因为我们做人脸识别签到,需要先注册人脸才可以进行人脸比对,进
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭9年前。我来自C、php和bash背景,很容易学习,因为它们都有相同的C结构,我可以将其与我已经知道的联系起来。然后2年前我学了Python并且学得很好,Python对我来说比Ruby更容易学。然后从去年开始,我一直在尝试学习Ruby,然后是Rails,我承认,直到现在我还是学不会,讽刺的是那些打着简单易学的烙印,但是对于我这样一个老练的程序员来说,我只是无法将它
我有一堆要清理的URL。它们都包含UTM参数,在这种情况下不是必需的,或者是有害的。示例:http://houseofbuttons.tumblr.com/post/22326009438?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+HouseOfButtons+%28House+of+Buttons%29所有可能的参数都以utm_开头。如何使用ruby脚本/结构轻松删除它们而不破坏其他潜在的“好”URL参数? 最佳答案 您可以将正则表达式应用于url以清
刚刚将应用程序从rails3.0.9升级到3.2.1,当我运行bundleexecrakeassets:precompile时出现错误,这很好,但是回溯没有告诉我在哪里语法问题来self的css或scss文件。我尝试对“0ee5c0e69c92af0”进行greping,但该字符串没有出现在我的项目中。bundleexecrakeassets:precompile:allRAILS_ENV=productionRAILS_GROUPS=assets--trace**Invokeassets:precompile:all(first_time)**Executeassets:precom
在Rails3.x应用程序中,我正在使用net::ssh并向远程pc运行一些命令。我想向用户的浏览器显示实时日志。比如,如果两个命令在net中运行::ssh执行即echo"Hello",echo"Bye"被传递然后"Hello"应该在执行后立即显示在浏览器中。这是代码我在rubyonrails应用程序中使用ssh连接和运行命令Net::SSH.start(@servers['local'],@machine_name,:password=>@machine_pwd,:timeout=>30)do|ssh|ssh.open_channeldo|channel|channel.requ
我正在尝试从googleAPI下载client_secret.json。我正在执行https://developers.google.com/gmail/api/quickstart/ruby中列出的步骤.使用此向导在GoogleDevelopersConsole中创建或选择项目并自动启用API。在左侧边栏中,选择同意屏幕。选择电子邮件地址并输入产品名称(如果尚未设置),然后单击“保存”按钮。在左侧边栏中,选择凭据并点击创建新客户端ID。选择应用程序类型已安装应用程序,已安装应用程序类型为其他,然后单击“创建客户端ID”按钮。点击新客户端ID下的下载JSON按钮。将此文件移动到您的工作
我正在使用gmailgem发送电子邮件,我需要跟踪这些电子邮件。我该怎么做?我正在尝试搜索带有message_id的电子邮件,但它会从我的收件箱中提取所有电子邮件,而我只想要特定电子邮件的回复。这是我的实际代码:*使用message_id保存电子邮件*mail=gmail.deliver(email)Email.create(:message_id=>mail.message_id,:from=>user.email,:to=>annotation.to,:body=>annotation.content,:title=>annotation.title,:annotation=>an
我正在使用paper_trail进行审计跟踪。除了创建、更新和删除事件外,我还想跟踪一些自定义事件,例如查看(记录)、发送(电子邮件)等。我们如何在审核模型时引入此类自定义事件? 最佳答案 我发现了一个调整,可以在paper_trail管理的Version中添加自定义事件:Version.create(item_type:"Campaign",item_id:campaign.id,event:"Sent")也许这不是正确的解决方案,但它帮助我实现了目标。我想更多地探索paper_trail以找到更好的解决方案。