【问题标题】:Show map markers five/ten miles from users current location显示距离用户当前位置五/十英里的地图标记
【发布时间】:2014-04-06 18:14:34
【问题描述】:

我一直在寻找无数的教程和堆栈溢出帖子,但没有找到关于这个主题的任何内容。我试图让用户设置一个数字值(即 5、10、15)英里,然后只显示在用户当前位置距离内的地图标记。

所以,我有用户位置值,并且我有一个标记数据库,每个标记都有自己的 lat/lng 值。我想做的是:

  • 以 Lat/Lng 格式获取用户的当前位置。
  • 获取所需的距离值(5、10、15 英里)。
  • 获取距离用户位置 5 英里的所有地图标记位置。
  • 隐藏所有其他没有的标记。

当用户使用谷歌地图时,这是相当标准的功能,但我根本找不到任何关于它的文档。任何人都可以提供任何有用的链接或一些示例代码吗?

我一直在研究LatLngBounds,我相信我可以在我的解决方案中使用它。我在寻找正确的道路吗?

【问题讨论】:

  • 驾驶距离还是乌鸦飞?
  • 由于应用程序的性质,行驶距离很好。
  • @JeremyMiller 感谢您迄今为止的帮助。你能否也提供一些链接作为乌鸦飞,因为经过更多的研究可能会更有帮助:)
  • 已经...我的答案中的第一个链接。 ;)
  • 详细地说,计算直接距离更快——你可以用纯数学和纬度/经度来计算。因此,首先这样做以过滤掉不必要的工作对速度很重要。之后,您可以计算行驶距离,但现在您不必为数据库中的所有条目都这样做。

标签: java android google-maps


【解决方案1】:

我将首先使用距离公式找到最小纬度和经度以及最大纬度和经度(请参阅http://www.movable-type.co.uk/scripts/latlong.html)。然后使用来自Android - How to get estimated drive time from one place to another? 的答案找出与行驶距离相匹配的那些(小于或等于最小/最大)。

通过找到最小/最大纬度/经度,您可以减少需要执行的计算总数。

【讨论】:

    猜你喜欢
    • 2016-01-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多