【问题标题】:All latitude and longitude within 1 mile circle area1英里圆圈区域内的所有经纬度
【发布时间】:2012-06-12 12:41:14
【问题描述】:

我正在尝试使用融合表在我的数据库坐标地图上生成图钉,并且我只想在特定位置周围 1 英里的区域内生成图钉。要获得类似于我的数据库坐标的 1 英里区域的坐标,我必须将 的条件放入融合表,但我不知道如何获取 1 英里区域圆内的所有坐标,或者条件的值应该是什么询问。谁能帮我弄清楚,这真的很明显。

【问题讨论】:

  • 你需要 1) 一个边界框,2) 一个距离函数,3) 一个简单的循环。您可以做到哪些,哪些需要帮助?
  • 感谢您对 Beta 版的回复,我只能做循环部分 :) 但如果我能得到正确的指导,我可以做剩下的 2 部分
  • Check this example 定义了一个 RECTANGLE 并使用 ST_INTERSECTS 查找此范围内的所有记录。您可以修改示例以使用半径为一英里的CIRCLE
  • 嗨,Odi,感谢您提供这样一个有用的示例。我正在用圆圈做,但我想要 FT 中 1 英里区域圆圈内的所有纬度/经度。在矩形中,他们提到了左下角和右上角来设置限制,但是什么以及如何设置半径限制?
  • 我认为 Eric 的回答正是你所需要的;)

标签: google-maps-api-3 google-fusion-tables


【解决方案1】:

您没有提供任何代码,所以我不确定您想要做什么。但是 Fusion Table ST_INTERSECTS 运营商应该做你想做的事。寻找

  var where = "ST_INTERSECTS('location_col',CIRCLE(LATLNG(31.954109,-115.441528), radius_in_meters) ) )";

  var qryOpts = {
   query: {
   select: location_col,
      from: table_id,
      where: where
    }
 };
 ft_layer.setOptions(qryOpts);

【讨论】:

  • Hey Eric,感谢您回复代码 :)
  • 嗨,埃里克,您的回答非常好,但我想在我的数据库中 1 英里区域内的地图上生成选定点。
  • 我不清楚您的数据库中有什么以及 Fusion Table 中有什么。你的数据库是什么?
  • 我的数据库中确实有坐标(Lat/Lng)。例如:马萨诸塞州波士顿的“Aquitaine Boston”是我的地图中心点,我想在点击时以 1 英里区域的圆圈显示围绕中心点的不同类型的停车位。我确实有所有坐标,但它应该显示仅在 1 英里范围内出现的图钉。
  • 您仍然没有提供足够的信息。你如何将你的数据库值插入到你的 html 页面中? php?珀尔? ASP?你知道如何创建一个 FT 层吗?上面链接的示例 Odi 显示了如何执行此操作,但您首先需要在您的网页中使用 Aquitane lat,lng。
【解决方案2】:

我不知道这在 Fusion Tables API 中是否可行,但如果我这样做,我会首先计算我的数据库中的哪些点在半径范围内,然后只插入那些点。你可以忽略地球的曲率,只使用勾股定理,稍微调整一下你的纬度。

请看这里:http://www.movable-type.co.uk/scripts/latlong.html

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2022-08-21
  • 2018-10-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-03-30
  • 2021-10-05
  • 2015-04-05
相关资源
最近更新 更多