Я создаю приложение 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,
});
}));
Что предлагает offer.address.street + offer.address.zip + offer.address.city + offer.address.country
? Я бы предположил, что вам понадобятся пробелы между ними.