Действия в Google диалоги api v2 библиотека получает неопределенное местоположение - PullRequest
0 голосов
/ 20 октября 2018

Я какое-то время строил действие AoG.Я застрял с проблемой местоположения.Я спрашиваю разрешения для местоположения и имени, как в приведенном ниже коде.

const functions = require('firebase-functions');
const { dialogflow, Permission, Confirmation } = require('actions-on-google');


const app = dialogflow({clientId:CLIENT_ID);
  app.intent('ask.for.permission', (conv) => {
  const options = 
  {
    context: 'To address you by name and know your location',
    permissions: ['NAME', 'DEVICE_PRECISE_LOCATION'],
  };
  conv.ask(new Permission(options));
});

app.intent('ask.for.permission.confirmation', (conv, params, confirmationGranted) => {
  const {name} = conv.user;
  const {loc} = conv.device.location;
  console.log(name);
  console.log(loc);
  if (confirmationGranted) {
    if (name) {
      conv.ask(`I'll send your orders ${name.display}.`);
    }
  }
});

Тем не менее, когда я запускаю это, даже когда я пытаюсь показать их в журналах, он говорит «undefined».Я могу получить имя пользователя, но местоположение все еще не определено.Я думал, что это потому, что я использую библиотеку диалогового потока, но я не знаю, как найти решение.Я открыт для советов по поиску местоположения, отличного от actionssdk, или я могу использовать оба из них?

1 Ответ

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

Это может быть потому, что он возвращает местоположение как объект LatLng.Попробуйте conv.device.location.coordinates.latitude / conv.device.location.coordinates.longitude

...