基于位置的结果

Results based on location

我想让我的 Google 助手聊天机器人可以请求知道用户的位置,然后告诉他们最近的医生手术室。我不想要它让用户查看地图,我只想要它让机器人回来并说 "The nearest doctors surgery to you is the Theatre Royal Surgery. It's 10 miles from your location."

有办法吗?如果是这样,将不胜感激。

是的,你想看看 user information helper,它会询问用户是否可以获得他们的位置(如果在移动设备上询问他们的当前位置,或者他们设置的位置如果使用 Google Home 或类似设备)并与你的 Action 分享。

如果您使用的是 actions-on-google 库,这是使用权限助手完成的,您的代码可能类似于

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 环境,因此您可以为任何需要它的 Intent 要求它,并且会通过类似 [=15] 的方式请求它=]

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

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