【发布时间】:2017-06-13 21:26:15
【问题描述】:
大家好,我正在开发一个特定的 android 应用程序,该应用程序具有遍布全国的位置的 BigData,我想根据用户当前位置的半径来过滤这些位置。
为了阐明我的目的,我的用户是一名汽车司机,他通过使用标记指定起点和终点在谷歌地图上选择一条随机道路,然后我使用谷歌 API 在这些点之间绘制一条道路
我想要做的是从我的数据库中获取仅位于所选道路上的位置,所以我想根据用户的当前位置过滤我的数据库位置,并给它一个半径,即道路上的距离(距离在用户选择的两个标记之间)并开始在地图上显示它们。
注意:我想将我数据库中的位置与用户当前位置进行比较,如果它小于半径(两个标记之间的距离),那么我会将其添加到我的过滤结果中
但我认为我有一个大数据是一团糟,比较需要太多时间。
Google Maps 是否有任何算法或 API 可以用来过滤这个问题? 即使它是用 Web 编程语言编写的,我也可以创建一个 Web 服务来处理它并将其发送到我的应用程序。
【问题讨论】:
-
with a radius。计算半径非常耗时。或者确定点是否在一个圆圈中。特别是如果你有很多点。我会首先选择一个正方形的点。因为这只是两个减法。 -
从一开始我就不喜欢半径,这对我来说是一个很大的分心,因为它是一条我想要的点不是整个半径的道路,但我找不到另一个表达我的问题,你能告诉我更多关于 Square 方法的信息吗?
-
你只要看看 abs(lat1-lat2)
-
sry 但我不知道 deltalat 和 deltalon 来自哪里?有什么价值观?
-
这取决于你。假设您要查找的点应在距离道路 100 m 以内。然后将 100 m 转换为 deltalon 和 deltalat。
标签: javascript android google-maps