如何使用Maps API跟踪多辆车辆

时间:2016-03-17 15:00:10

标签: google-maps gps maps bing-maps

我正在我的工作场所开展新的应用程序,如下所述:

我们有十辆卡车为我们工作。我在每个模块上安装了一个GPS模块来跟踪它们的位置并将它们的坐标存储在数据库中。

我需要在地图上实时查看他们的动作(Google地图或Bing地图),但我不知道该怎么做。

我不想要代码或片段,我更喜欢指南和API文档或框架来构建它!

如果您有任何问题请问没问题!谢谢你们

1 个答案:

答案 0 :(得分:0)

由于您拥有数据库中的数据,因此第一步是将该数据公开给您的应用。根据您要创建的应用程序类型,有两种不同的方法可以执行此操作,但最通用的解决方案是创建任何应用程序可以连接的Web服务。这里有一些关于如何创建空间Web服务的好博客文章。

http://blogs.bing.com/maps/2013/07/31/how-to-create-a-spatial-web-service-that-connects-a-database-to-bing-maps-using-ef5

http://blogs.bing.com/maps/2013/08/05/advance-spatial-queries-using-entity-framework-5

获得网络服务后,您可以创建显示卡车位置的应用程序。你有很多选择;网络,移动,桌面(WPF,Windows应用程序),跨平台。 Web应用程序往往是最常见的,因为它们可以从大多数位置访问。从JavaScript连接到REST服务相当容易。有许多不同的方法可以加载实时数据。最简单的方法是使用定时调用您的Web服务并抓取所有卡车位置的计时器。稍微复杂一点的选项,但更高效的是为每个位置的最后一次更新添加时间戳,然后跟踪用于请求更新的最后一个时间戳。通过执行此操作,您可以将请求限制为仅检索自上次请求以来发生的更新。这将显着降低您的带宽并使您的应用更快。在地图上显示实际卡车位置很容易。您的Web服务将返回位置信息,可能是两个数字属性(即纬度/经度)或一个众所周知的文本字符串(只需解析它,如前面的博文中所示)。如果使用Bing Maps并且您有两个数字属性,则可以创建图钉并将其添加到地图中,如下所示:

var loc = new Microsoft.Maps.Location(latitude,longitude);
var pin = new Microsoft.Maps.Pushpin(loc);
map.entities.push(loc);

以下是围绕Bing地图开发的一些有用资源:

https://www.bingmapsportal.com/ISDK/AjaxV7

https://msdn.microsoft.com/en-us/library/dd877180.aspx

请注意,如果您使用Bing或Google地图(或任何其他主要地图平台),则需要所有资产跟踪应用程序都拥有使用地图的许可。如果您使用Bing地图,可以在此处找到有关许可的详细信息:https://www.microsoft.com/maps/licensing/licensing.aspx#mainTab4