Javascript 通过解析云代码使用谷歌地图API进行地理编码
我正在处理一些JavaScript——我对这些JavaScript知之甚少,以便对Parse.com上的类中存储在对象上的地址进行地理编码。通过云代码,我在PFObect上有一个属性,我需要将它传递到地理编码器中,然后解析lat和long的结果JSON返回,最后将其保存为同一PFObject上的属性 我花了相当长的时间搜索解决方案,大多数建议似乎是使用而不是HTTP请求 这是我的密码:Javascript 通过解析云代码使用谷歌地图API进行地理编码,javascript,google-maps-api-3,parse-platform,Javascript,Google Maps Api 3,Parse Platform,我正在处理一些JavaScript——我对这些JavaScript知之甚少,以便对Parse.com上的类中存储在对象上的地址进行地理编码。通过云代码,我在PFObect上有一个属性,我需要将它传递到地理编码器中,然后解析lat和long的结果JSON返回,最后将其保存为同一PFObject上的属性 我花了相当长的时间搜索解决方案,大多数建议似乎是使用而不是HTTP请求 这是我的密码: Parse.Cloud.afterSave ('incidentDetails', function(requ
Parse.Cloud.afterSave ('incidentDetails', function(request, status) {
var address = request.object.get("address1");
var geocoder;
function initialize () {
geocoder = new google.maps.Geocoder();
codeAddress ();
}
function codeAddress () {
console.log("test");
geocoder.geocode( { 'address':address}, function (results, status) {
if (status == google.maps.GeocoderStatus.OK) {
var latLng = results[0].geometry.location;
request.object.set("latLng", latLng);
} else {
alert('Geocode was not successful for the following reasons: ' + status);
}
});
}
initialize ();
});
我希望有经验的人能给我指引正确的方向。上面的代码是在解析云代码中正确部署的,但是我不确定它是否真正被调用,因为日志或错误控制台中没有任何内容。我觉得我错过了一些基本的东西——我感谢任何帮助或建议 您不调用函数,因此代码不会执行。尝试:
initialize();
codeAddress();
如果代码未按预期工作,则可以通过调用以下命令对其进行调试:
console.log("Your info");
google.maps.Geocoder是一个javascript,用于在浏览器中工作,要使用geocode,请使用Parse.Cloud.httpRequest,如下所示(您需要在goolge API控制台中启用Geocodeding API)
Parse.Cloud.httpRequest({
方法:“张贴”,
url:“”,
参数:{
地址:地址:,
钥匙:你的钥匙
},
成功:函数(httpResponse){
var响应=httpResponse.data;
如果(response.status==“OK”){
var langLat=response.results[0].geometry.location;
控制台日志(langLat);
}
},
错误:函数(httpResponse){
console.error('请求失败,响应代码'+httpResponse.status);
}
});代码>好的,我现在运行代码,可以打印到日志中,但是我怀疑我需要在某处定义Google,因为它返回以下错误:ReferenceError:Google未定义。。。我以为我需要提供谷歌api的源代码。。。只是不知道具体在哪里?如果您在params:{address:address,key:YourKey}中谈论的是您的密钥,那么这是谷歌地理编码API密钥,而不是解析应用程序密钥。