【发布时间】:2018-10-04 12:14:42
【问题描述】:
我想让我的 Google 助理聊天机器人可以请求知道用户的位置,然后告诉他们最近的医生手术。我不希望它让用户查看地图,我只希望它让机器人回来并说“离你最近的医生手术是 Theatre Royal Surgery。它离你的位置 10 英里。”
有没有办法做到这一点?如果是这样,我们将不胜感激。
【问题讨论】:
标签: node.js google-maps dialogflow-es actions-on-google
我想让我的 Google 助理聊天机器人可以请求知道用户的位置,然后告诉他们最近的医生手术。我不希望它让用户查看地图,我只希望它让机器人回来并说“离你最近的医生手术是 Theatre Royal Surgery。它离你的位置 10 英里。”
有没有办法做到这一点?如果是这样,我们将不胜感激。
【问题讨论】:
标签: node.js google-maps dialogflow-es actions-on-google
是的,您想查看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 为其提供您要查找的位置和搜索字词,以获取附近结果的列表并将其发回。
【讨论】: