基于位置的结果

时间:2018-10-04 12:14:42

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

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

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

1 个答案:

答案 0 :(得分:3)

是的,您想看看Material-UI v3.1.2 docs,它会询问用户是否可以获取他们的位置(如果在移动设备上被询问,则为当前位置,或者如果使用,则为他们设置的位置)。 Google Home或类似设备)并与您的操作共享。

如果您使用的是Google 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-fillfillment库类似。

如果您使用的是多声库,则希望设置Session/Location环境,因此您可以针对需要它的任何Intent提出要求,并使用类似

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

然后您可以使用地图的user information helper为其提供位置和搜索条件,以查找所需的内容,以获取附近结果的列表并将其发送回去。