使用 Google 地图轨迹 API

2024-01-11

我必须开发一个车辆跟踪系统。我已经完成了“Google Map API”和“Google Map Tracks API”教程。 IE;

Google 地图 API(网络) https://developers.google.com/maps/documentation/javascript/tutorial.

谷歌地图轨迹 API https://developers.google.com/maps/documentation/tracks/getstarted.

我的基本场景如下:

我们必须跟踪车辆中移动的手机。移动设备上应该有一些应用程序来获取其当前位置并将此信息发送到某个服务器上的 Web 应用程序以进行监控。

我不是要代码。我只是想知道

对于电话应用程序:我应该使用哪一部分(Google Map Tracks API 或其他)?开发电话应用程序的最佳语言是什么?

对于 Web 应用程序:我应该使用 Google Map API 吗?开发 Web 部件的最佳语言是什么?

我唯一的困惑是为正确的设备选择正确的技术?我不确定 Google Map Tracks API(它应该是电话应用程序或网络应用程序的一部分,或者如何使用它?)

另一件事,我试图在 php 中设置 google 地图跟踪 api 的身份验证部分,并使用 google+ acount 凭据在我的本地主机(桌面计算机)上成功进行身份验证。这也可以(php)在移动设备上工作吗?

注意:我愿意用任何语言进行开发。


如果您想在手机上运行本机应用程序,您可以使用Google 地图 SDK https://developers.google.com/maps/适用于 iOS 或 Android。 (如何开发iOS和Android应用程序超出了本文的范围,但基本上Android使用Java,iOS使用Objective-C。)

您应该能够使用 SDK 来获取设备的当前位置。

对于网络跟踪应用程序/界面(您将在其中查看设备移动/位置),我可能会使用 Node.js/Express/Google Maps JavaScript API 堆栈与 Firebase (firebase.com) 处理数据 - 其原因下面我会解释一下。

您也许可以绕过 Google Tracks API 并查看GeoFire https://github.com/firebase/geoFire来自 Firebase。它允许基于纬度/经度值实时跟踪资产,这些值被编码为“Geohashes”(在维基百科上了解更多相关信息),以提高速度和便利性。纬度/经度坐标被编码为单个字符串,使得单个位置/点易于在客户端解析。您应该能够创建多个“实体”。

但是,如果您需要访问 Tracks API 的“Collections”或“GeoFencing”功能;你可能需要坚持下去。 “面包屑”功能也很好,但您可能可以使用 Maps JavaScript v3 API 以某种方式复制它。

因此,您的应用程序将以给定的时间间隔输出纬度/日志坐标(可能是数据/资源密集型,具体取决于您的实现,但我会说每 3-5 秒一次),存储它们(在 Firebase 上)并将它们转换为 Geohashes。当 Geohash 写入数据库时​​,geoFire.js 应该在客户端解码该字符串,并立即更新位置。当它更新为新值时,它将给出“实时”效果(无需重新加载页面等)

这是一个相当高水平的概述,但我希望它能有所帮助。

一切顺利。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Google 地图轨迹 API 的相关文章

随机推荐

  • Eclipse 项目无法识别 Swagger Codegen 工件

    我通过修改我的代码将 Swagger Codegen 添加到我的 Eclipse 项目中pom xml直接归档
  • 如何在视图之外使用@Fetchrequest

    我正在尝试将我的 fetchrequest 属性移动到辅助类 这不是View 但每次我尝试这样做时 都会遇到严重的指令错误 谁能帮我 这是我的代码示例 视图模型 class ViewModel FetchRequest entity Tes
  • 为什么 Java Vector(和 Stack)类被认为已过时或已弃用?

    为什么 Java Vector 被视为遗留类 已过时或已弃用 在处理并发时它的使用不是有效的吗 如果我不想手动同步对象 只想使用线程安全集合 而不需要制作底层数组的新副本 如CopyOnWriteArrayList是 那么可以使用吗Vect
  • 使用 lxml 将长 XML 标签拆分为多行

    我的 python 2 7 脚本使用以下命令输出以下 XMLlxml图书馆
  • FormData 如何在多部分/表单数据中获取或设置边界 - Angular

    我有一个迷你应用程序 我必须将表单数据从浏览器发布到端点 这是我的帖子 var formData new FormData formData append blobImage blob imagem new Date getTime ret
  • 如何在打开新模态时隐藏 Bootstrap 上一个模态?

    我有这样的麻烦 我有使用 Bootstrap 模式进行的身份验证 当用户打开登录模式时 他可以转到注册模式 或其他模式 所以 我需要关闭上一个 现在我像这样关闭它们 document ready function a click funct
  • Java - 登录到使用基于表单的身份验证的网站

    我正在尝试登录一个使用基于表单的身份验证的网站 以便我的应用程序可以进入 下载受保护的页面 然后退出 是的 我有一个有效的用户名 密码组合 I know 1 登录页面的url2 登录身份验证器的URL3 方法 帖子 4 我的信息 显然 5
  • NSNetworkManager.ResolveListener 消息 Android

    有人可以解释一下可以传递到回调中的错误消息吗 public void onResolveFailed NsdServiceInfo serviceInfo int errorCode 我以前见过错误代码 3 但不知道它意味着什么 该文档充其
  • 何时在 WCF 服务中调用析构函数

    我需要创建一个维护 WCF 会话的服务 在构造函数中 我从数据库读取数据 当会话结束时 我必须将其保存回来 如果我理解正确 当我在客户端上调用 Close 时 会话结束 我的客户端 ServiceClient 是使用 SvcUtil exe
  • Swift - tableView 中的可移动行仅在一个部分内,而不是在部分之间

    有没有办法防止 tableView 中的单元格移动到不同的部分 The sections具有不同类型单元格的数据 因此当用户尝试将单元格拖到不同部分时 应用程序会崩溃 我只想允许用户在该部分内移动单元格 而不是在部分之间移动 相关代码如下
  • Tensorboard 无法获取运行的第一个事件时间戳

    我正在尝试可视化我在远程服务器上训练的培训课程 我使用 scp 将文件复制到本地 iMac 中 我尝试通过运行张量板来可视化数据 它运行张量板网站 但我无法获得可视化效果 每个图表都有一个零点 我在终端上收到此警告 WARNING tens
  • 如何抑制“git rebase --continue”的编辑器?

    我经常重新调整交互式基础以对历史记录进行微小的更改 例如删除空白行或编辑一行 在大多数情况下 这些更改是基于一些同行评审 首先我这样做 git rebase interactive 83bbeb27fcb1b5e164318fa17c55b
  • 如何在Java中将英文数字转换为中文

    我必须将英文数字转换为中文数字 但中文的数字系统与英语不同 有什么办法可以在运行时将英文数字转换为中文吗 建议使用而不是自己滚动ICU4J http site icu project org 数字格式 http icu project or
  • 命名路由 _path 与 _url

    Rails 提供命名路线 http api rubyonrails org classes ActionDispatch Routing html 可以使用路径或 url 调用路由助手 例如来自文档 and provide these na
  • 当 Fiddler 可以解密时为什么要使用 HTTPS [重复]

    这个问题在这里已经有答案了 我刚刚发现 Fiddler 可以解密 HTTPS 流量 例如 我使用 HTTPS 在本地主机上部署了一个网站 在 Fiddler 中检查数据包时 我能够查看所有信息 因为它有解密选项 我的问题是 当 Fiddle
  • Java Spring Jackson json库返回unicode而不是文本

    我正在使用这个教程 http www mkyong com spring mvc spring 3 mvc and json example http www mkyong com spring mvc spring 3 mvc and j
  • SAP GUI 脚本 - 按钮按下失败

    我在运行 SAP GUI 的 Excel 文件中使用宏 有一个步骤 当我单击 SAP 中的按钮时 会弹出另一个窗口 为此 我编写了这样的代码 session findbyid wnd 0 XX btnXX press session fin
  • 使用模块在 Eclipse 中创建 Google App Engine 项目

    我一直在按照 cloud google com 上的建议使用 Eclipse 和 Maven 编写 GAE 应用程序 最近 我需要使用 后端 或一组不同的实例来处理特定任务 我发现 后端 已被弃用 取而代之的是 模块 在过去的几天里 我一直
  • C - for 循环的缩写,仅执行一次

    我在 Mac 上用 ANSI C 编写了命令行实用程序 其中包含为单链表创建冒泡排序数组的函数 我声明了循环变量 int a 0 int b 0 我以缩写风格编写了循环的冒泡排序 即 将变量初始化留空 for a lt size a for
  • 使用 Google 地图轨迹 API

    我必须开发一个车辆跟踪系统 我已经完成了 Google Map API 和 Google Map Tracks API 教程 IE Google 地图 API 网络 https developers google com maps docu