哦,你需要增加判断,gps并不是每次取得的精度都够你用。所以,你在取的时候需要设置想要的精度。不够精度的话,需要从新取,参考一下。
TBool IsValidResult()
{
TBool ret = EFalse;
TPositionInfo* positionInfo = static_cast<TPositionInfo*>(iPosInfoBase);
TPosition position;
positionInfo->GetPosition(position);
if (Math::IsNaN(position.Latitude()) ||Math::IsNaN(position.Longitude()))
{
debugf(" Lat or Lon is not valid.");
ret = EFalse;
}
else
{
TReal32 hAcc = position.HorizontalAccuracy();
if (Math::IsNaN(hAcc))
{
debugf(" hAcc is not valid.");
ret = EFalse;
}
else if (hAcc > desiredAccuracy)//desiredAccuracy是你需要的精度
{
ret = EFalse;
}
else
{
ret = ETrue;
}
}
}
return ret;
}
http://topic.youkuaiyun.com/u/20100420/09/45445571-63c8-4aee-b62a-76b41083cf66.html
本文介绍了一种GPS定位结果的有效性验证方法。通过检查纬度、经度是否有效及水平精度是否达到预设要求来确保获取的GPS坐标数据可用。如果精度不足,则需重新获取。
1042

被折叠的 条评论
为什么被折叠?



