Windows Mobile 6 SDK 中的 GPS 工具
GPS Intermediate Driver
自从 Windows Mobile 5.0 引进了 GPS Intermediate Driver(GPS 中间驱动程序,以下简称 GPSID),开发基于 GPS(Global Positioning System,全球定位系统)的 Windows Mobile 应用程序变得简单多了。原因是它在开发人员编写的应用程序和 GPS 设备之间加入了一个中间层,使开发人员不需要通过串口直接访问 GPS 设备,而是访问 GPSID 提供的 API 函数,GPSID 再去访问 GPS 设备。这样一来,编写出来的 GPS 应用程序具有设备无关性。另外,GPSID 还有下面两个好处:
1. 多个应用程序可以同时访问同一个 GPS 设备,因为你访问的是 GPSID
2. 不需要去解析 NMEA 命令,GPSID 帮你解析好了
这次 Windows Mobile 6 SDK 提供的 Fake GPS 和 GPS Settings 这两个针对 GPSID 开发和使用的辅助工具,基于 .NET Compact Framework 1.0 编写,所以适用于 Windows Mobile 5.0。在 C:\Program Files\Windows Mobile 6 SDK\Tools\GPS 目录下可以找到这两个小工具。
Fake GPS
如果你想开发一个运行在 Windows Mobile 系统的 GPS 应用程序,但是找不到 GPS 设备用来调试,或者你在室内调试程序,GPS 设备接收不到卫星信号,那 Fake GPS 正是你急需的工具了。
GPSID 的所有设置信息都保存在注册表中,可以通过修改注册表来更改 GPSID 的设置。其中有个一个设置,可以让 GPSID 从一个包含 NMEA 命令的 .txt 文件读取 GPS 数据,而不需要从 GPS 设备读取数据Fake GPS 的工作原理就是修改注册表的 GPSID 设备,让 GPSID 从一个文本文件读取 GPS 数据。而对于我们开发的应用程序来说,跟访问真实的设备并没有两样。
在使用 Fake GPS 之前需要将它安装到你 Windows Mobile 设备上或者仿真器上,安装文件是 FakeGPS.CAB。这里我把 Fake GPS 安装到 Windows Mobile 6 Standard 的仿真器里。安装成功后在开始菜单中找到它并运行。
Fake GPS 的设置默认没有生效,我们可以在第一个输入框把它的状态改为 Enabled,现在可以在第二个输入框中选择从哪个文件读取 GPS 数据。Fake GPS 默认带了两个测试文件,fakegpsdata.txt 在打开后会让 GPSID 马上接收到位置信息,而 dixies.txt 需要等待一段时间才能接收到位置信息。
如果你想使用自己的测试数据,可以将编写好的 .txt 文件复制到 \Program Files\FakeGPS\GPSFiles 目录下,在重新运行 Fake GPS 就可以在 NMEA File 列表中看到了。