我想这样做,以便我的Google助理聊天机器人可以请求知道用户的位置,然后告诉他们最近的Doctors手术。我不想让用户查看地图,而是希望机器人返回并说:“离您最近的医生手术室是Theatre Royal Surgery。离您的位置10英里。”
有没有办法做到这一点?如果是这样,将不胜感激。
答案 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为其提供位置和搜索条件,以查找所需的内容,以获取附近结果的列表并将其发送回去。