我正在构建一个meteor.js应用程序,在将地址插入到mongodb集合中之前或之后,需要在其中将地址地理编码为坐标。这应该在服务器端发生。我考虑过使用matb33:collection-hooks。对于地理编码,我选择使用node-geocoder。
我已经尝试了以下方法,但是它只返回未定义的。我该如何解决?
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
是什么样的?我猜您将需要在它们之间使用空格。
关于javascript - 在meteor.js中对地址服务器端进行地址解析,然后在数据库中插入坐标,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47554708/