Геокодировать адрес серверной части в meteor.js и вставить координаты в БД

1

Я создаю приложение meteor.js, где мне нужно геокодировать адреса в координатах после или до того, как они будут вставлены в коллекцию mongodb. Это должно произойти на стороне сервера. Я думал об использовании matb33: collection-hooks. Для геокодирования я выбираю использовать узел-геокодер.

Я попробовал следующее, но он возвращает только неопределенные. Как я могу это решить?

import NodeGeocoder from "node-geocoder";
import Offers from "../Offers";

Offers.after.insert(((userId, offer) => {
  const geo = NodeGeocoder({
    provider: "google",
    httpAdapter: "https",
    apiKey: "APIKEY",
  });
  const result = geo.geocode(offer.address.street + offer.address.zip + offer.address.city + offer.address.country);

  console.log(result[0]);

  Offers.update({
    _id: offer._id,
  }, {
    $set: {
      "address.lat": result[0].latitude,
      "address.lon": result[0].longitude,
    },
  }, {
    validate: false,
  });
}));
Теги:
meteor
geocoding

1 ответ

1
Лучший ответ

Что предлагает offer.address.street + offer.address.zip + offer.address.city + offer.address.country? Я бы предположил, что вам понадобятся пробелы между ними.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню