【发布时间】:2018-02-17 13:47:46
【问题描述】:
我正在使用 Meteor,每当我对谷歌地理编码进行 api 调用并尝试从中返回值时,我得到一个未定义的值,我正在使用 api 的回调,所以那里肯定有数据,所以我不确定是什么原因造成的
callWeather = e => {
e.preventDefault();
console.log(this.state.address);
Meteor.call("geCoordinates", this.state.address, function(err, result) {
if (err) {
console.log(err);
} else {
console.log(result);
}
});
};
geCoordinates(address) {
googleMapsClient.geocode({ address }, (error, data) => {
if (error) {
console.log(error);
} else {
console.log(data.json.results[0].geometry.location.lat);
return data.json.results[0].geometry.location.lat;
}
});
},
【问题讨论】:
-
为什么需要在你的服务器方法上调用
googleMapsClient,然后将结果返回给客户端?为什么不直接从客户端调用呢? -
每当我尝试从客户端调用时,它都会抛出一个错误,提示内容类型未定义并且 access-control-allow-origin 标头无效
-
好的,这是非常特殊的地图。也许您将您在客户端上尝试过的内容和出现的错误添加到您的帖子中,并用 googlemaps-api 或类似的东西标记您的帖子,这样一些 google maps api 专家找到您的帖子的机会就更高。我认为客户端调用是正确的,您应该专注于解决客户端上的错误而不是切换到服务器。
标签: javascript meteor geocoding