1
GeoPoint point = new GeoPoint(
       (int) (userlocation.getLatitude() * 1E6),
       (int) (userlocation.getLongitude() * 1E6));

我正在创建像上面这样的地理点,但它不在用户的确切位置,它距离用户近 500 到 600 米

这里 userlocation 是我从位置侦听器获得的位置

在用户位置,我得到的值类似于 18.453225455645 和 78.15446456546 但是在绘图时我只能使用 18.453225 和 78.154464 即 - 只有小数点后六位。如果我尝试使用额外的值标记显示错误的位置。(这是由于地理点需要 int 中的值)

如何在地图上绘制确切位置?

编辑:--我认为没有人对此有解决方案。我检查了几个应用程序并找到了一个名为 myTaxi 的应用程序,它比谷歌地图更准确,不知道他们是如何得到的。目前我只是四舍五入的纬度和经度。

谢谢你

4

1 回答 1

1

一个。仅通过删除六位数字后的最后几位数字不会给您带来 500-600 m 的误差,因为小数点后 5 位数字应该会给您大约 1m 的精度。

湾。您使用的是 GPS 还是其他位置提供商?如果您想要准确的位置,请仅使用 GPS 作为位置提供程序。尽管 GPS 需要视线才能正常工作,但有一个问题。

于 2012-02-22T07:06:12.693 回答