distanceTo() 返回的距离不是米!

发布于 2024-09-29 17:10:26 字数 512 浏览 6 评论 0原文

我正在实现一个应用程序,用于从 GPS 坐标数据库搜索最近的当地场所。

我正在使用 Location 类 distanceTo() 函数来计算当前位置和数据库中的两个位置之间的距离。

currentloc.setLatitude(loc.getLatitude());
currentloc.setLongitude(loc.getLongitude());

dbcurrent.setLatitude(C.getDouble(latindex));
dbcurrent.setLongitude(C.getDouble(lonindex));
distance = currentloc.distanceTo(dbcurrent);

这个工作正常,我可以使用这个距离来计算我的应用程序其余部分的接近度,但它本身的距离显然不是以米为单位,我得到的结果像 4134801.4 我确信在这种情况下距离是 3200 米。

对于这个问题有什么解释或者解决办法吗?

谢谢大家。

I am implementing an application to search for nearest local venues from a gps coordinates database.

i am using the Location class distanceTo() function to calculate distance between two location the current one and the one from the database.

currentloc.setLatitude(loc.getLatitude());
currentloc.setLongitude(loc.getLongitude());

dbcurrent.setLatitude(C.getDouble(latindex));
dbcurrent.setLongitude(C.getDouble(lonindex));
distance = currentloc.distanceTo(dbcurrent);

this work fine and i am able to use this distance to calculate proximity in the rest of my app, but the distance it self is not apparently in meters i am getting result like 4134801.4 i am sure that the distance is 3200meters in this case.

Is there any explanation or solution for this issue.

thank you all.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

无妨# 2024-10-06 17:10:26

distanceTo() 工作正常,这是你的错。
如果您提供 (0,0) 作为其他点,则可能会发生如此长的距离。

distanceTo() work correctly, it is your fault.
Such high distances can happen if your provide (0,0) as other point.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文