【问题标题】:proximity search google map邻近搜索谷歌地图
【发布时间】:2012-02-28 17:17:13
【问题描述】:

我正在使用谷歌地图 v3 来捕获名为 Locations 的 MS SQL 数据库表中的所有地址,该表将包含 LocationName、LocationAddress、LocationZip、LocationState、LocationCity、LocLatitude、LocLongitude 和 LocationType 等列(如医院、医生办公室或急诊室)中心等)..

我有一个输入框,用户可以在其中按关键字搜索,还有一个带有 5、10、20 和 50 英里半径选项的下拉菜单。我已经能够使用输入框并将键入的关键字作为查询字符串传递,以在 google map api 3 中搜索所有匹配的位置并为它们绘制标记。我还喜欢对匹配的结果进行邻近搜索,例如 5 英里说洛杉矶..

可以使用本站使用的方法吗? http://maps.huge.info/dragcircle2.htm

它正在绘制一个 5 英里的半径,我需要捕获该半径内的所有标记?请一些天才谷歌地图男孩/女孩给我一些指导..

【问题讨论】:

    标签: javascript google-maps overlay


    【解决方案1】:

    Google 提供了有关创建商店定位器的完整教程。您缺少的重要信息是如何查询数据库以拉回您半径内的位置。

    http://code.google.com/apis/maps/articles/phpsqlsearch.html

    查看上面的链接了解详细信息,但查询看起来像这样 (mySQL):

    SELECT
      address,
      name,
      lat,
      lng,
      (
        3959 * acos(
          cos( radians('%s') ) * cos( radians( lat ) )
          *
          cos( radians( lng ) - radians('%s') )
          +
          sin( radians('%s') )
          *
          sin( radians( lat ) )
        )
      ) AS distance 
    FROM markers 
    HAVING distance < '%s' 
    ORDER BY distance 
    LIMIT 0 , 20
    

    它使用三角函数!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-10-23
      • 1970-01-01
      • 2012-10-29
      • 2017-12-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多