Результаты в зависимости от местоположения - PullRequest
0 голосов
/ 04 октября 2018

Я хочу сделать так, чтобы мой бот-чат Google Assistant мог запросить информацию о местонахождении пользователей, а затем рассказать им, например, ближайшую операцию врачей.Я не хочу, чтобы пользователь просматривал карту, я просто хочу, чтобы бот вернулся и сказал: «Ближайшая к вам хирургия - это Королевская хирургия театра. Это в 10 милях от вашего местоположения».

Есть ли способ сделать это?Если так, то некоторая помощь будет принята с благодарностью.

1 Ответ

0 голосов
/ 04 октября 2018

Да, вы хотите взглянуть на помощника по пользовательской информации , который спросит пользователя, может ли он узнать его местоположение (либо его текущее местоположение, если его спросят на мобильном устройстве, либо местоположение, которое онУкажите, используете ли вы Google Home или подобное устройство) и поделитесь им с вашим действием.

Если вы используете библиотеку 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));
});

Использование библиотеки диалогового потока аналогично.

Если вы используете многофакторную библиотеку, вы хотите, чтобы была установлена ​​среда Session/Location, поэтому вам может потребоваться, чтобыдля любых Намерений, в которых вы нуждаетесь, и они будут запрашиваться с чем-то вроде

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

. Затем вы можете использовать Maps ' Place Search API , чтобы указать местоположение и условия поиска для того, что вам нужно.ищите, чтобы получить список ближайших результатов и отправить их обратно.

...