2016-03-17 37 views
-1

我正在如下所述在我的工作場所開展新應用:如何使用Maps API跟蹤多輛車

我們有數十輛卡車爲我們工作。我在他們每個人身上安裝了一個GPS模塊來跟蹤他們的位置並將他們的座標存儲在數據庫中。

我需要在地圖(谷歌地圖或Bing地圖)上實時看到他們的動作,但我不知道該怎麼做。

我不想要代碼或片段,我更喜歡使用指南和API文檔或框架來構建它!

如果您有任何問題沒有問題!謝謝你們

回答

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

一旦你有一個Web服務,那麼你可以創建一個顯示卡車位置的應用程序。你在這裏有很多選擇。網頁,手機,桌面(WPF,Windows應用程序),跨平臺。網絡應用程序往往是最常見的,因爲它們可以從大多數地點訪問。通過JavaScript連接到REST服務相當容易。有許多不同的方式來加載實時數據。最簡單的方法是使用定時器,定期調用Web服務並抓取所有卡車位置。一個稍微複雜的選項,但更有效的是爲每個位置的上次更新添加時間戳記,然後跟蹤用於請求更新的最後一個時間戳記。通過這樣做,您可以將請求限制爲僅檢索自上次請求以來發生的更新。這將顯着降低您的帶寬並使您的應用程序更快。在地圖上顯示卡車的實際位置很簡單。您的網絡服務將返回位置信息,可能是作爲兩個數字屬性(即緯度/經度),或作爲一個衆所周知的文本字符串(簡單地解析它,如前面的博客文章所示)。如果使用Bing地圖,你有兩個號碼的屬性,你可以創建一個圖釘並將其添加到地圖是這樣的:

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或者谷歌地圖(或幾乎任何其他主要的地圖平臺),他們要求所有的資產跟蹤應用程序有一個許可使用的地圖。如果你使用Bing地圖,你可以在這裏找到許可的詳細信息:https://www.microsoft.com/maps/licensing/licensing.aspx#mainTab4

+0

謝謝你,現在我離開了我的辦公室。明天我會嘗試你的建議! –