在 WM 平台上开发 GPS 导航系统
2010-02-21 22:52:00 来源:WEB开发网代码片段:
1 *******************************************************
2
3 '** Listing 1-3. Detecting and handling NMEA errors
4
5 '*******************************************************
6
7 Public Class NmeaInterpreter
8 ' Raised when the current location has changed
9 Public Event PositionReceived(ByVal latitude As String, _
10 ByVal longitude As String)
11 ' Processes information from the GPS receiver
12 Public Function Parse(ByVal sentence As String) As Boolean
13 ' Discard the sentence if its checksum does not match our calculated
14 'checksum
15 If Not IsValid(sentence) Then Return False
16 ' Look at the first word to decide where to go next
17 Select Case GetWords(sentence)(0)
18 Case "$GPRMC" ' A "Recommended Minimum" sentence was found!
19 Return ParseGPRMC(sentence)
20 Case Else
21 ' Indicate that the sentence was not recognized
22 Return False
23 End Select
24 End Function
25 ' Divides a sentence into individual words
26 Public Function GetWords(ByVal sentence As String) As String()
27 Return sentence.Split(","c)
28 End Function
29 ' Interprets a $GPRMC message
30 Public Function ParseGPRMC(ByVal sentence As String) As Boolean
31 ' Divide the sentence into words
32 Dim Words() As String = GetWords(sentence)
33 ' Do we have enough values to describe our location?
34 If Words(3) <> "" And Words(4) <> "" And Words(5) <> "" And _
35 Words(6) <> "" Then
36 ' Yes. Extract latitude and longitude
37 Dim Latitude As String = Words(3).Substring(0, 2) & "°" ' Append hours
38 Latitude = Latitude & Words(3).Substring(2) & """" ' Append
- ››开发Android 日历教程
- ››开发学院总结 Win 8实用技巧大全
- ››开发学院原创教程:把win8的IE10放桌面上方法(非...
- ››开发者眼中的Windows Phone和Android
- ››开发学院教你用SQL 语句最快速清空MySQL 数据表的...
- ››WM 无法连接到win 7及webservice的异类原因
- ››开发一个自己的HTML在线编辑器(一)
- ››开发一个自己的HTML在线编辑器(二)
- ››开发者在App Store上赚的钱比在Android Market上多...
- ››开发者应深入学习的10个Android开源应用项目
- ››WM/WP上最完美的背光控制软件
- ››WM性能优化的一些经验
更多精彩
赞助商链接