我正在使用THIS文章和示例来测试我的gps。 首先,我必须说程序真的很棒,但我当然需要一些帮助。
第一
所以我需要的是以“正常”(我的知识正常)欧洲格式获取坐标,例如十进制为16,445554477 ... 在这里,我得到的度数很好,但我需要十进制值。当我尝试在我的程序中输入十进制值时,我不知道如何使用它们,因为我不熟悉这种格式。例如,我有5600,35568的东西...我不知道如何在谷歌地图中代表它。
SECOND
我正在将数据从gps录制到数据库中。问题是我在一秒内得到2-4条记录。如何使其达到每秒一个数据?我试图查看代码但没有成功。
THIRD - 以及最后一次
如何将这些数据从第一个问题实施到Google maps API v3?
第一个问题是主要问题。其他两个只有在有人知道该做什么的时候。
我相信很多人和我一样有同样的问题。 当然,有很多人解决了这个“问题”。 请给我一些例子。
有一个很好的编码:)
干杯!
答案 0 :(得分:1)
<强>第一强>
你需要parse your NMEA string,你应该感兴趣的字符串是RMC
$GPRMC,092750.000,A,5321.6802,N,00630.3372,W,0.02,31.66,280511,,,A*43
这包含纬度和经度的信息。要将它们从度数转换为x y坐标,请检查此thread。使用WGS84将它们转换为X Y坐标后,您就可以在Google地图中使用它们。
的第二强>
通常GPS数据接收间隔是1(一)秒。我不知道你是怎么在一秒内得到2-4条记录的。但是我建议你在每秒后使用一个计时器并获取记录,只存储你需要的记录,就像你需要存储GPRMC字符串中可用的基于位置的数据一样。请查看此链接Writing Your Own GPS Applications: Part 2
的第三强>
如果您想根据Google地图中的第一个问题显示排名,您会在Google Maps API找到很多帮助。我没有使用这个API,但我使用过android。
答案 1 :(得分:0)
我在toptechboy.com找到的一些代码
degWhole=float(int(GPS.longitude/100)); //gives me the whole degree part of Longitude
degDec = (GPS.longitude - degWhole*100)/60; //give me fractional part of longitude
deg = degWhole + degDec; //Gives complete correct decimal form of Longitude degrees
if (GPS.lon=='W') { //If you are in Western Hemisphere, longitude degrees should be negative
deg= (-1)*deg;
}
希望它有所帮助...