【问题标题】:Results based on location基于位置的结果
【发布时间】:2018-10-04 12:14:42
【问题描述】:

我想让我的 Google 助理聊天机器人可以请求知道用户的位置,然后告诉他们最近的医生手术。我不希望它让用户查看地图,我只希望它让机器人回来并说“离你最近的医生手术是 Theatre Royal Surgery。它离你的位置 10 英里。”

有没有办法做到这一点?如果是这样,我们将不胜感激。

【问题讨论】:

    标签: node.js google-maps dialogflow-es actions-on-google


    【解决方案1】:

    是的,您想查看user information helper,它会询问用户是否可以获得他们的位置(如果在移动设备上询问他们的当前位置,或者如果使用谷歌则他们设置的位置家庭或类似设备)并与您的 Action 共享。

    如果您使用的是 actions-on-google 库,则可以使用 Permission 帮助器完成此操作,您的代码可能类似于

    app.intent('ask_for_permissions_detailed', (conv) => {
      // Choose one or more supported permissions to request:
      // NAME, DEVICE_PRECISE_LOCATION, DEVICE_COARSE_LOCATION
      const options = {
        context: 'To address you by name and know your location',
        // Ask for more than one permission. User can authorize all or none.
        permissions: ['NAME', 'DEVICE_PRECISE_LOCATION'],
      };
      conv.ask(new Permission(options));
    });
    

    使用 dialogflow-fulfillment 库类似。

    如果您使用的是多声库,您希望设置 Session/Location 环境,因此您可以要求任何您需要它的意图,并且会使用类似的东西来请求它

      "Local": {
        "und": {
          "Requirements": {
            "Intent.compute.distance": "Session/Location"
          }
        }
      }
    

    然后,您可以使用地图的Place Search API 为其提供您要查找的位置和搜索字词,以获取附近结果的列表并将其发回。

    【讨论】:

    • 太棒了,我如何将它与 Google 地图一起使用?
    • 添加到 Place Search API 的链接。
    猜你喜欢
    • 2015-11-06
    • 2012-11-15
    • 2023-04-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-15
    • 2016-09-09
    相关资源
    最近更新 更多