我必须开发一种车辆跟踪系统。我已经浏览了“Google Map API”和“Google Map Tracks API”教程。 I-E;
我的基本情景如下:
我们必须跟踪移动车辆的电话。移动设备上应该有一些应用程序可以获取其当前位置,并将此信息发送到某些服务器上的Web应用程序以进行监控。
我不是要求代码。我只是想知道
对于手机应用程序:我应该使用哪个部分(Google Map Tracks API或其他内容)?开发电话应用程序的最佳语言是什么?
对于Web应用程序:我应该使用Google Map API吗?开发Web部件的最佳语言是什么?
我唯一的困惑是为正确的设备选择合适的技术?我不确定Google Map Tracks API(它应该是电话应用程序或Web应用程序的一部分还是如何使用它?)
还有一件事,我试图在php中设置google map track api的身份验证部分,并使用google + acount凭据在我的localhost(桌面计算机)上成功验证。这也(php)可以在移动设备上运行吗?
注意:我愿意用任何语言进行开发。
答案 0 :(得分:9)
如果您希望在手机上运行原生应用,则可以将Google Maps SDKs用于iOS或Android。 (如何开发iOS和Android应用程序超出了这个范围,但基本上Android使用Java,iOS使用Objective-C。)
您应该能够使用SDK获取设备的当前位置。
对于网络跟踪应用程序/界面(您将在其中查看设备移动/位置)我可能会使用与Firebase(firebase.com)处理数据的Node.js / Express / Google Maps JavaScript API堆栈 - 我将在下面解释的原因。
您可以绕过Google Tracks API并从Firebase查看GeoFire。它允许基于lat / long值实时跟踪资产,这些值被编码为“Geohashes”(在维基百科上阅读更多关于它们的信息)以提高速度和方便性。 Lat / long坐标被编码为单个字符串,使得单个位置/点易于在客户端解析。您应该能够创建多个“实体”。
但是,如果您需要访问Tracks API的“Collections”或“GeoFencing”功能;你可能需要坚持下去。 “Breadcrumbs”功能也很不错,但您可以使用Maps JavaScript v3 API以某种方式复制它。
因此,您的应用程序将以给定的时间间隔输出lat / log坐标(可能是数据/资源密集型,具体取决于您的实现,但我会说每3-5秒),存储它们(在Firebase上)并将它们转换为Geohashes。当Geohash写入数据库时,geoFire.js应解码客户端的字符串,它应该立即更新位置。当它使用新值更新时,它将提供“实时”效果(无需重新加载页面等)。
这是一个相当高级别的概述,但我希望它有所帮助。
一切顺利。