【问题标题】:How to do location based search in web app with own locations database如何使用自己的位置数据库在 Web 应用程序中进行基于位置的搜索
【发布时间】:2013-03-10 21:39:32
【问题描述】:

我想在我的网站上实现基于位置的搜索(即位置 + 半径)。这些位置将添加到我的数据库中。我以为我会使用 Google Places API,但我找不到如何让它与自己的位置数据库一起使用。有可能吗?我会很感激一个例子或一些教程的链接。如果没有,还有其他解决方案可以解决问题吗?请记住,我无法在服务器上安装任何东西,因此无法向 DB 添加一些地理扩展。

提前致谢。

【问题讨论】:

    标签: database google-places-api


    【解决方案1】:

    您可以使用 Google Geocoding 服务来查找您所在位置的坐标。然后,您可以使用这些坐标在数据库中查找位置。 如果您的服务器上有 PHP/MySQL,则下面的代码使用 Haversine formaulaPDO

    $stmt = $dbh->prepare("SELECT  name, lat, lng, (6372 * acos( cos( radians(?) ) * cos( radians( lat ) ) * cos( radians( lng ) - radians(?) ) + sin( radians(?) ) * sin( radians( lat ) ) ) ) AS distance FROM mytable HAVING distance < 1 ORDER BY distance ASC LIMIT 0 , 20");
        // Assign parameters
        $stmt->bindParam(1,$center_lat);//Coordinates of location
        $stmt->bindParam(2,$center_lng);//Coordinates of location
        $stmt->bindParam(3,$center_lat);
    

    如果使用公里数,则为 6372,如果使用英里数,则为 3959

    此查询曾用于此DEMO

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多