2012-02-29 158 views
0

我有興趣爲我正在編寫的程序添加Google地圖功能。我會從歷史的GPS日誌文件開始,其中包含我更改的GPS位置和日期/時間的記錄 - 例如,當我沿着道路行駛時。稍後,我想將此日誌文件提供給一個Windows程序,該程序將在顯示在屏幕窗口中的Google Map中心顯示GPS位置作爲標記。當GPS位置發生變化時,Google地圖會自動沿着水平或垂直方向在歷史「實時」中滾動,以便標記始終停留在地圖的中心。以歷史實時方式顯示Google地圖位置

下面是一個現有的程序,它已經這樣做正是我想要的YouTube視頻,所以它必須是可能的(它在視頻幀的右下角的窗格)

http://www.youtube.com/watch?feature=player_embedded&v=r4rwMV7hhaY#at=840

有效的用戶將在幾天或幾個月前實時回放他們的記錄的動作。它不會用於跟蹤當前的移動。

我對Google API還不太瞭解,但我認爲Google地圖必須在桌面程序中運行,而不是在網站上運行。

是否有任何預建模塊已經這樣做(也許只是給它一個座標和時間列表)?

如果不是,我需要使用什麼API來重現視頻中顯示的地圖行爲?

在桌面程序中這樣做只有1個用戶才能看到,而不是在公開的網站上有任何許可問題嗎?

+0

你可以在瀏覽器中做到這一點,是你自己的桌面/ Windows需求?您將數據轉換爲數組,然後循環,刪除和重繪標記,並重新映射每次 – 2012-02-29 14:06:34

回答

1

我已經使用Google地圖API創建嵌入式GPS窗口,就像您在鏈接中引用的窗口一樣,但基本上它嵌入了一個瀏覽器窗口並將其鏈接到Google地圖。您可以自行管理數據並將其傳送到瀏覽器。這可以在本地完成。

你需要做一些事情。

  1. 定義地圖腳本(帶有html/Javascript文件)。這些腳本將允許您更新您在地圖上顯示的位置,您將在代碼端控制該位置。

  2. 在您的GUI中定義一個瀏覽器對象,並將其設置爲導航到您製作的html文件,然後使用該對象的文檔部分來調用腳本。

一旦你做完了,你應該能夠控制GPS的位置。 Google Maps API在您的html文件中被引用。該HTML文件是關鍵,它將需要你想要使用的所有功能來更新GPS位置並將其顯示在地圖上。

根據預構建模塊和/或許可證我不知道。

+0

謝謝。這證實了我所猜測的一些事情 - 儘管如此,仍然有很多閱讀內容!還有幾個問題 - 所以你會告訴瀏覽器對象什麼時候更新地圖,而不是瀏覽器自動刷新每一秒(比如說)1秒?如何在每次需要更改時將新座標傳遞給瀏覽器對象 - 是否有套接字接口或類似的東西? – appleton 2012-02-29 15:44:52

+1

更新函數將寫入Javascript文件。取決於你想如何處理它。你可以通過使用類似於...... ** myBrowser.Document.InvokeScript(「func_name」,object [] args)的某些後臺線程(用於C#我使用定時器)來調用該函數來執行自動刷新。套接字接口或其他。 InvokeScript函數允許您將對象數組作爲參數傳遞給您正在調用的函數。至於自動刷新,我決定反對它,因爲它非常糟糕,但這可能是由於我的刷新率太高(如60赫茲)。 1赫茲可能是好的。 – GlazedHam 2012-03-02 13:00:55