谷歌地图放置一些距离的位置

时间:2015-07-10 09:22:42

标签: google-maps google-maps-api-3 latitude-longitude

我是ROR和谷歌地图的新手。我需要在Google地图中放置一些标记(在数据库中有纬度和经度)。

问题是我需要选择一些随机距离的点。

简而言之,我需要选择位置并将其放置在地图中,地图必须与每个点保持100米的距离。

如果位置在任何其他点的100米范围内,则可以忽略它。我需要从数据库中获得10分。

有什么方法吗?

1 个答案:

答案 0 :(得分:1)

假设您需要从数据库中找到距离数据库中所有其他点至少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米之外,则将该点添加到数组中。

对于距离公式,请以代码形式查看半正式公式 here

由于您未在问题中指定语言,我将允许您将其翻译成您需要的任何语言。这只是伪代码,因为没有提供足够的细节来用实际代码回答你的问题。

另外,如果我误解了你的问题,你可以用某种方式调整这个算法。它只是提供一些想法。