通过坐标搜索附近的位置?

时间:2015-02-15 10:08:11

标签: php location webservice-client location-provider webservicehost

我正在尝试为我们的移动开发者创建一个Web服务。

我有位置坐标数据库。如何在给定坐标的情况下返回附近坐标的结果?可以说在半径100英里范围内。

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

  1. 创建一个空数组。
  2. 对于每个位置,测试位置是否在您坐标的100英里范围内。如果是,请将该位置添加到阵列。
  3. 将数组转换为适用于webservice的格式,例如: G。 SOAP或JSON。
  4. 输出转换后的数组
  5. 可以使用

    计算坐标(lat1 | lng1)和(lat2 | lng2)之间的距离(以米为单位)
          arccos(sin(lat1)sin(lat2)+cos(lat1)cos(lat2)cos(lng1-lng2))
    -----------------------------------------------------------------------
    sqrt((cos(0.5(lat1+lat2))/6378137)^2 + (sin(0.5(lat1+lat2))/6356752)^2)
    

    分子计算半径为1的球体上的相应距离。分母调整跨越次轴和长轴的地球半径。