google 地图放置位置有一定距离
google map placing locations with some distance
我是 ROR 和 Google 地图的新手。我需要在 Google 地图中放置一些标记(在数据库中有纬度和经度)。
问题是我需要 select 一些具有随机距离的点。
简而言之,我需要 select 位置并将其放置在地图中,每个点必须有 100 米的距离。
如果该位置与任何其他点在100米范围内,则可以忽略。我需要从数据库中放置 10 个点。
有什么方法吗?
假设您需要从数据库中查找距离数据库中所有其他点至少 100 米的点:
这是一个相当简单的问题。可以将其可视化为一个 nxn 矩阵,点设置为行和列。在 Python 中,比较所有距离如下所示:
selected = []
for pt1 in pts:
inRange = True
for pt2 in pts:
if pt1.distanceTo(pt2) < 100:
inRange = False
break
if inRange:
selected.append(pt1)
此函数遍历整个点列表。对于每个点,它检查从当前点到所有其他点的距离。如果所有其他点都在 100 米之外,它会将点添加到数组中。
距离公式见haversine公式 here代码形式
由于您没有在问题中指定语言,我会让您将其翻译成您需要的任何语言。这只是伪代码,因为没有提供足够的细节来用实际代码回答您的问题。
另外,如果我误解了你的问题,你可以通过某种方式调整这个算法。仅供参考。
我是 ROR 和 Google 地图的新手。我需要在 Google 地图中放置一些标记(在数据库中有纬度和经度)。
问题是我需要 select 一些具有随机距离的点。
简而言之,我需要 select 位置并将其放置在地图中,每个点必须有 100 米的距离。
如果该位置与任何其他点在100米范围内,则可以忽略。我需要从数据库中放置 10 个点。
有什么方法吗?
假设您需要从数据库中查找距离数据库中所有其他点至少 100 米的点:
这是一个相当简单的问题。可以将其可视化为一个 nxn 矩阵,点设置为行和列。在 Python 中,比较所有距离如下所示:
selected = []
for pt1 in pts:
inRange = True
for pt2 in pts:
if pt1.distanceTo(pt2) < 100:
inRange = False
break
if inRange:
selected.append(pt1)
此函数遍历整个点列表。对于每个点,它检查从当前点到所有其他点的距离。如果所有其他点都在 100 米之外,它会将点添加到数组中。
距离公式见haversine公式 here代码形式
由于您没有在问题中指定语言,我会让您将其翻译成您需要的任何语言。这只是伪代码,因为没有提供足够的细节来用实际代码回答您的问题。
另外,如果我误解了你的问题,你可以通过某种方式调整这个算法。仅供参考。