【问题标题】:How to filter database results by nearness of gps location? [closed]如何通过 gps 位置的接近程度过滤数据库结果? [关闭]
【发布时间】:2016-09-05 13:15:58
【问题描述】:

我通过一个 android 应用获取 GPS 位置,然后询问服务器数据库中的哪些记录在它附近。

我怎样才能做到这一点?

假设这些是坐标:

39.017411, -97.251117

我如何要求 PHP 中的数据库只给我包含附近坐标的结果?

【问题讨论】:

标签: php android mysql gps location


【解决方案1】:

您可以执行如下所述的操作,考虑到您的表格的字段名称是lat 纬度和lng 经度

$lat = 39.017411;
$lng = -97.251117;

    $result=mysql_query("SELECT tbl.id, tbl.lat, tbl.lng, 111.045 * DEGREES(ACOS(COS(RADIANS($lat))
 * COS(RADIANS(lat))
 * COS(RADIANS(lng) - RADIANS($lng))
 + SIN(RADIANS($lat))
 * SIN(RADIANS(lat))))
 AS distance_in_km
FROM table_name as tbl
ORDER BY distance_in_km ASC
LIMIT 0,1");
    if(mysql_num_rows($result)>0)
    {
        $row=mysql_fetch_assoc($result));
        echo $row[lat].";".$row[lng];
    }

【讨论】:

  • 很好的答案!一切都很顺利!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-10-08
  • 2011-08-05
  • 1970-01-01
  • 2017-08-10
  • 2015-10-06
  • 1970-01-01
相关资源
最近更新 更多