Windows mobile 在WinMobile Phone中访问GPS功能
假设您有一部Windows Mobile 6.0手机,它还带有GPS接收器。WinMobile SDK是否支持访问GPS功能 如果没有,使用GPS编程的选项(API)是什么,即编写将使用GPS功能的应用程序。我主要对WindowsMobile6.x感兴趣,但也请包括一般回复 我一定会投票选出最有帮助的答案Windows mobile 在WinMobile Phone中访问GPS功能,windows-mobile,gps,Windows Mobile,Gps,假设您有一部Windows Mobile 6.0手机,它还带有GPS接收器。WinMobile SDK是否支持访问GPS功能 如果没有,使用GPS编程的选项(API)是什么,即编写将使用GPS功能的应用程序。我主要对WindowsMobile6.x感兴趣,但也请包括一般回复 我一定会投票选出最有帮助的答案 提前谢谢 如果您计划在.NET Compact Framework中开发,Windows Mobile Developer示例中有一个相当广泛的GPS示例。这基本上利用了围绕gpsapi.dl
提前谢谢 如果您计划在.NET Compact Framework中开发,Windows Mobile Developer示例中有一个相当广泛的GPS示例。这基本上利用了围绕gpsapi.dll的包装,但它显示了工作原理。 我已经在C:\Program Files\Windows Mobile 6 SDK中安装了WM6工具包,然后GPS样本在C:\Program Files\Windows Mobile 6 SDK\Samples\PocketPC\CS\GPS中 祝你好运 有两种选择:
选项(1)可能是可取的克里斯·克拉夫特(Chris Craft)在其《30天的.NET Windows Mobile应用程序》系列中提供了大量此类应用程序的源代码
- 第1周-包括GPS罗盘
- 第3周-包括GPS速度表和GPS高度表
- 第4周-包括GPS时钟
编辑以添加: GPS.NET最近已成为开放源代码,现在可在CodePlex上获得:
试着看看上面的一些解决方案。有很多关于Windows Mobile和GPS的非常好的文章。以及用于测试使用中间驱动程序的代码的文章(请参阅其他答案),不要忘记SDK中的FakeGPS实用程序,您可以使用它将存储在文件中的NMEA流通过此中间驱动程序传输,这样您就可以轻松地在该位置数据上测试GPS软件,而无需实际接收GPS信号并开始移动。在我看来,读取串行端口要容易得多(在我的例子中是COM5,波特率4800)和解析接收到的数据。(如何解析字符串可以通过谷歌和短语找到:gps NMEA句子) 对于我来说,无法理解地址上的示例:
C:\Program Files\Windows Mobile 6 SDK\Samples\PocketPC\CS\GPS
这一切都是如此的复杂和无趣。我希望界面更简单、更有用,比如:
myGps = new GPS()
myGPS.getPosition
但这可能是不可能的:(
以及如何通过RS232实现它?(我在VB.NET中工作)
在GUI中(或以编程方式)创建对象System.IO.Ports.SerialPort并使用其接收的事件数据。无论何时数据来自GPS,都会发生此事件,您可以在其主体中处理它
数据的格式是一个长字符串,分为$GPGGA、$GPGSA等部分。重要的是$GPGGA。每个特定的信息都用逗号分隔。在VB.net中,您只需使用:myArray=myData.Split(“,”c)解析这个字符串
PS:“,”c表示逗号是字符,而不是字符串(VB.NET)
正如您所看到的,只需编写几行代码是不必要的。MS的示例是不必要的困难,不适合初学者
PS2:请注意,您不向GPS发送任何命令。它会自动定期向您的程序发送数据。您只需打开端口,从缓冲区读取所有数据,使用Chr()将其转换为字符串并对其进行解析。这没什么大不了的。Wigley/Moth/Foot()的《移动开发手册》包括.NET Compact Framework更高版本示例代码的变体,该版本改进了互操作支持。