我有一个地图应用程序,我希望能够允许我的用户连接任何通过通信端口或 USB 端口输出 NMEA 数据的 GPS 单元。
由于 NMEA 是 GPS 单元必须遵守的标准,我假设可以编写一个通用驱动程序来连接到 GPS 单元并开始接受 NMEA 数据。在网络搜索之后,我很惊讶没有找到任何人在 C# 中为 .NET 做过这个。
我错过了什么吗?我是否缺少某种程度的复杂性?有人对如何使我的应用程序与各种 GPS 单元一起工作有建议吗?
我有一个地图应用程序,我希望能够允许我的用户连接任何通过通信端口或 USB 端口输出 NMEA 数据的 GPS 单元。
由于 NMEA 是 GPS 单元必须遵守的标准,我假设可以编写一个通用驱动程序来连接到 GPS 单元并开始接受 NMEA 数据。在网络搜索之后,我很惊讶没有找到任何人在 C# 中为 .NET 做过这个。
我错过了什么吗?我是否缺少某种程度的复杂性?有人对如何使我的应用程序与各种 GPS 单元一起工作有建议吗?
你并不真正想要一个驱动程序,你想要一个解析器。驱动程序是处理它(几乎总是)一个com端口的东西,并且是特定于设备的。解析器解释实际的 NMEA 格式数据。看看这个解析器项目
http://code.google.com/p/nmeasharp/wiki/NmeaSharpMain
缺少结果可能更多的是缺乏难度的问题,它是一种非常容易解析的格式。
当然你也可以使用 windows 7+ Sensor and Location API
如果您可以选择,我会使用 Location API,但这只是我个人的情况,它对任何 GPS 的支持都不是很好。如果您愿意,可以使用适配器将任何标准 NMEA gps 转换为 Windows 7 支持的
尽管如果您计划用于商业用途,这可能会带来问题(尽管编写替代品并不难)。