Javascript 通过解析云代码使用谷歌地图API进行地理编码

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

我正在处理一些JavaScript——我对这些JavaScript知之甚少,以便对Parse.com上的类中存储在对象上的地址进行地理编码。通过云代码,我在PFObect上有一个属性,我需要将它传递到地理编码器中,然后解析lat和long的结果JSON返回,最后将其保存为同一PFObject上的属性

我花了相当长的时间搜索解决方案,大多数建议似乎是使用而不是HTTP请求

这是我的密码:

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密钥,而不是解析应用程序密钥。