【问题标题】:How Find The Closest Places apps work [closed]查找最近的地方应用程序如何工作[关闭]
【发布时间】:2015-04-23 12:07:46
【问题描述】:

我是 android 应用程序编程的新手,我正在寻找构建一个应用程序来找到离用户最近的(特定)位置。我有一些 Java 编程技能,但我不知道如何以及从哪里开始。

【问题讨论】:

标签: java android google-apps


【解决方案1】:
  1. 使用LocationServices获取用户的current location
  2. SignUp 用于 Google API 控制台并为 Places API 创建密钥
  3. 现在您可以使用Places API for Android 获取直接结果或使用Places API for Web 在后台发出Web 请求并解析JSON 结果。

【讨论】:

  • 检查@Rajan 的答案,这是 Places API for Web 的一个示例
  • 谢谢,这很有帮助 :) 抱歉,我无法评价您的回答……我还没有达到 15 名声望:/
【解决方案2】:

我想分享一个链接,您应该在其中传递自定义位置和几个词,如餐厅、咖啡馆、食物、酒吧等,您得到的最近地点结果如下:

https://maps.googleapis.com/maps/api/place/nearbysearch/json?location=23.0127038,72.5110915&radius=100000&types=home_goods_store&sensor=true&key=AIzaSyDZmSN7R_YXXXXXXXXXXXXXXXXXXX

在上面的链接中,使用您自己的位置参数, 具有上述类别的类型参数, 您的自定义浏览器密钥。

【讨论】:

    【解决方案3】:

    正如 Ankit Bansal 所提到的,如果您不知道您周围的位置,那么您可以使用 places api,如果您知道这些位置或者是自定义位置,那么您可以使用来自 Google 的directions api,您可以指定起点和终点(纬度、经度)并获取有关要遵循的路线的所有数据,包括到达的距离和时间。

    如果您还需要在一些地方之间进行比较以检查哪个地方最接近,您可以试试这个: 首先尝试获取一小组地方进行比较,首先使用某种原始选择,也许是欧几里得距离。然后向 Directions api 的不同路线发起请求,并比较这些路线之间的距离/时间。

    【讨论】:

    • 其实你不需要路线来找到最近的地方.. 只需在 Places API 网络请求中发送radius 参数和order by distance,您将获得按升序排列的地点列表距离
    • 如前所述,方向 api 仅适用于某些自定义位置,可能是用户选择的不会在位置 api 上注册的位置。然而,对于一般用途来说,places api 更好。 =)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-09-24
    • 1970-01-01
    • 2016-10-02
    • 2014-04-05
    • 2011-03-26
    • 1970-01-01
    • 2014-06-22
    相关资源
    最近更新 更多