有沒有人有任何經驗編程地從連接到移動PC的GPS獲取緯度/經度?我正在開發一個團隊,目前正在尋找硬件選項 - 作爲程序員,他最終必須與所選的任何東西一起生活,我想知道有沒有人有過編寫與GPS接口的.Net程序的經驗?任何關於硬件和/或編程的推薦都將不勝感激。按照我的設想,我的應用程序需要向GPS詢問當前的經緯度,也許每10到20秒鐘一次。從.Net Winform應用程序訪問GPS數據
回答
我以前寫過這樣的應用程序。
正如亨克所說,你在一個COM端口上監聽。構建一個讀取com流的組件,例如1024緩衝區。那將足以包含至少1個完整的NMEA句子。從那裏開始,閱讀輸入內容,直到找到句子的開頭並對其進行解析。如果由於某種原因您沒有完整的句子,請閱讀另一個緩衝區,追加並繼續/再次嘗試。
雖然NMEA是純ASCII,但我仍然建議將TextReader附加到Serialport的流並使用ReadLine()。 – 2009-11-17 22:42:07
如果您願意依賴於Windows 7,則會有一個Location API爲您處理NMEA解碼。
如果Gps集成在您的Windows CE PC或Windows Mobile手機中,您可以簡單地使用GPS中間驅動程序來獲取信息。 由於您處於.net環境中,因此可以爲此本機API創建.Net包裝器。
public class GpsHardware
{
private const string gpsLibraryName = "gpsapi.dll";
private const string coreLibraryName = "coredll.dll";
[DllImport(GpsHardware.coreLibraryName, SetLastError = false)]
[return: MarshalAs(UnmanagedType.Bool)]
private static extern bool EventModify(IntPtr hEvent, uint function);
[DllImport(GpsHardware.gpsLibraryName, SetLastError = true, CharSet = CharSet.Unicode)]
private static extern IntPtr GPSOpenDevice(IntPtr hNewLocationData, IntPtr hDeviceStateChange, string szDeviceName, uint dwFlags);
[DllImport(GpsHardware.gpsLibraryName, SetLastError = true)]
private static extern uint GPSCloseDevice(IntPtr hGPSDevice);
[DllImport(GpsHardware.gpsLibraryName, SetLastError = true)]
private static extern uint GPSGetPosition(IntPtr hGPSDevice, IntPtr pGPSPosition, uint dwMaximumAge, uint dwFlags);
[DllImport(GpsHardware.gpsLibraryName, SetLastError = true)]
private static extern uint GPSGetDeviceState(IntPtr pGPSDevice);
...
}
當然,你將不得不處理編組和所有偉大的互操作的事情:)
或者您可以在SDK \\ Samples fiolder中使用Interop包裝器。 – 2009-11-18 23:06:40
- 1. 通過NDK應用程序訪問GPS
- 2. 從.NET應用程序Android數據庫訪問
- 3. 從應用程序訪問IndoorAtlas數據
- 4. 從託管WinForm應用程序訪問WPF控件
- 5. .Net - 從多種設備訪問GPS數據
- 6. 在.net中winform應用程序
- 7. Protovis和.net winform應用程序
- 8. 訪問runtastic應用程序數據
- 9. Android應用程序數據訪問?
- 10. DLL訪問應用程序的數據
- 11. 訪問應用程序數據
- 12. .NET應用程序試圖訪問crl.verisign.net
- 13. 訪問.net應用程序GUI
- 14. 從網站訪問手機GPS數據
- 15. 應用程序x1無法訪問應用程序x2數據
- 16. 從C#.Net中的多個數據源讀取Winform應用程序
- 17. 訪問應用程序數據空間
- 18. Winform應用程序/ ASP.NET應用程序與SAP數據庫的連接
- 19. 從Windows訪問基於Web的MySQL數據庫/服務器.net應用程序
- 20. C#.NET中的解決問題Winform應用程序
- 21. 使用C#訪問GPS數據?
- 22. 如何從Jquery Mobile應用程序訪問遠程數據庫?
- 23. 如何從iPhone應用程序訪問遠程MySql數據庫
- 24. 從Windows 8應用程序訪問遠程MySQL數據庫
- 25. 從iPhone應用程序遠程訪問SQL數據庫
- 26. 從另一個應用程序訪問一個應用程序的數據庫
- 27. 如何編程訪問可用的數據類型在.NET應用程序
- 28. 在Web應用程序中訪問Android設備的GPS
- 29. 從共享(UNC路徑)運行.Net 4.0 Winform應用程序
- 30. 用於.Net/C#的GPS驅動程序,用於從任何支持NMEA的GPS單元獲取GPS數據
你是說這將是連接到一臺筆記本電腦(而不是移動設備與GPS)一個GPS – HitLikeAHammer 2009-11-17 22:39:38
那是正確的。平板電腦是確切的。 – Jeff 2009-11-23 14:30:59
感謝所有的反饋意見。我會給所有回覆贊成的人。稍後當我開始編碼時,我會回來給我最喜歡的選擇回答。再次感謝。 – Jeff 2009-11-23 15:34:06