首页 文章

谷歌 Map 放置一些距离的位置

提问于
浏览
-1

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

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

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

If the location is within 100 m range with any other points, it can be neglected. I need to place 10 points from database.

有什么方法吗?

1 回答

  • 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米之外,则将该点添加到数组 .

    有关距离公式,请参阅代码表格中的 haversine formula here .

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

    此外,如果我误解了您的问题,您可以通过某种方式调整此算法 . 它只是提供一些想法 .

相关问题