Доступ к географическим точкам с помощью облачных функций Firebase? - PullRequest
0 голосов
/ 03 января 2019

У меня есть коллекция под названием posts в Firestore, которая содержит документы с полями content и location . Контент - string, а Местоположение - Geopoint.

При доступе к базе данных с помощью облачных функций Firebase я могу распечатать содержимое, добавив его в массив и JSON.stringfy в качестве ответа.

  db.collection("posts").get().then((snapshot) => {
    snapshot.forEach((doc) => {

        var element = {
          "content": doc.data().content,
        }
        query = query.concat(element);
    });
    res.send(JSON.stringify(query));

Однако, если я попытаюсь подражать этому с геоинтами, я просто получу пустой ответ {}.

  db.collection("posts").get().then((snapshot) => {
    snapshot.forEach((doc) => {
        var latitude = doc.data().location.getLatitude();
        var longitude = doc.data().location.getLongitude();

        var element = {
          "latitude": latitude,
          "longitude": longitude,
        }
        query = query.concat(element);
    });
    res.send(JSON.stringify(query));

Как получить доступ к значениям Geopoint в Firestore, используя Javascript, чтобы я мог выполнять операции с ними / распечатывать их? то есть найти расстояние между двумя точками.

1 Ответ

0 голосов
/ 03 января 2019

Мне удалось решить эту проблему путем прямого доступа к полям широты / долготы, используя doc.data().location.latitude.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...