Dynamics crm 2011 使用Google地理编码Web服务进行地理编码
我正在尝试使用Javascript对Microsoft Dynamics CRM 2011中的地址进行地理编码。 我不想显示地图,只需执行地理编码并将Lat/Long值存储在数据库中。 我一直收到一条错误消息说 “结果0为空或不是对象”Dynamics crm 2011 使用Google地理编码Web服务进行地理编码,dynamics-crm-2011,google-geocoder,Dynamics Crm 2011,Google Geocoder,我正在尝试使用Javascript对Microsoft Dynamics CRM 2011中的地址进行地理编码。 我不想显示地图,只需执行地理编码并将Lat/Long值存储在数据库中。 我一直收到一条错误消息说 “结果0为空或不是对象” 我做错了什么?根据您的问题,我假设这是一个完整的代码片段。基于这个假设,您的代码是不完整的。您的代码创建了一个名为url的字符串。然后尝试访问该字符串中名为results的集合(该集合不存在,因此该集合中的位置0不存在)。基本上,你的代码什么都不做 你需要好好阅
我做错了什么?根据您的问题,我假设这是一个完整的代码片段。基于这个假设,您的代码是不完整的。您的代码创建了一个名为
url
的字符串。然后尝试访问该字符串中名为results
的集合(该集合不存在,因此该集合中的位置0不存在)。基本上,你的代码什么都不做
你需要好好阅读谷歌地理编码API,因为,我很抱歉地说,你甚至还没有接近让它工作
编辑:
为了更有用,这里还有一个演练:从您的问题中,我假设这是一个完整的代码片段。基于这个假设,您的代码是不完整的。您的代码创建了一个名为
url
的字符串。然后尝试访问该字符串中名为results
的集合(该集合不存在,因此该集合中的位置0不存在)。基本上,你的代码什么都不做
你需要好好阅读谷歌地理编码API,因为,我很抱歉地说,你甚至还没有接近让它工作
编辑:
为了更有用,这里还有一个演练:我不同意格雷格的观点……你的请求URL看起来很接近。请查看有关精确性的详细信息。您将得到一个JSON字符串,因此您应该使用类似的内容 如果您没有设置使用JSON,那么像这样的简单脚本也将返回Lat/Lng(改编自):
var地理编码器;
函数初始化(){
geocoder=新的google.maps.geocoder();
}
函数代码地址(){
var address=document.getElementById(“地址”).value;
geocoder.geocode({'address':address},函数(结果,状态){
if(status==google.maps.GeocoderStatus.OK){
var addressLocation=results[0]。geometry.location;
警报(“Lat:+addressLocation.Lat()+”Lon:+addressLocation.lng());
}否则{
警报(“地理编码因以下原因未成功:“+状态”);
}
});
}
我不同意格雷格的观点……你的请求URL似乎非常接近。请查看有关精确性的详细信息。您将得到一个JSON字符串,因此您应该使用类似的内容
如果您没有设置使用JSON,那么像这样的简单脚本也将返回Lat/Lng(改编自):
var地理编码器;
函数初始化(){
geocoder=新的google.maps.geocoder();
}
函数代码地址(){
var address=document.getElementById(“地址”).value;
geocoder.geocode({'address':address},函数(结果,状态){
if(status==google.maps.GeocoderStatus.OK){
var addressLocation=results[0]。geometry.location;
警报(“Lat:+addressLocation.Lat()+”Lon:+addressLocation.lng());
}否则{
警报(“地理编码因以下原因未成功:“+状态”);
}
});
}
…谢谢,当我重新阅读您的答案时,我意识到问题中的代码实际上根本不起作用。我不确定你们是否理解我的问题。我需要使用javascript对我的地址进行地理编码,因为我正试图通过Microsoft Dynamics CRM 2011中的自定义功能区按钮来实现这一点。因此,如果我尝试使用上述代码,就会出现“google未定义”错误。如何从javascript加载地理代码web服务并将结果返回到数据库中存储lat/long?我无法使用html页面进行此操作。您必须将脚本转换为您的需要。有一些博客文章描述了如何使用。您可能还需要查看。它有一个内置的地址查找功能…谢谢,当我重新阅读你的答案时,我意识到问题中的代码真的很难工作。我不确定你们是否理解我的问题。我需要使用javascript对我的地址进行地理编码,因为我正试图通过Microsoft Dynamics CRM 2011中的自定义功能区按钮来实现这一点。因此,如果我尝试使用上述代码,就会出现“google未定义”错误。如何从javascript加载地理代码web服务并将结果返回到数据库中存储lat/long?我无法使用html页面进行此操作。您必须将脚本转换为您的需要。有一些博客文章描述了如何使用。您可能还需要查看。它有一个内置的地址查找功能。
var url = 'http://maps.googleapis.com/maps/api/geocode/json?address=39 George Street, Belmont, WA, 6104, Australia&sensor=false'
var lat = url.results[0].geometry.location.lat();
alert(lat)
<script src="https://maps.googleapis.com/maps/api/js?sensor=false"></script>
<script>
var geocoder;
function initialize() {
geocoder = new google.maps.Geocoder();
}
function codeAddress() {
var address = document.getElementById("address").value;
geocoder.geocode( { 'address': address}, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
var addressLocation = results[0].geometry.location;
alert("Lat: " + addressLocation.lat() + " Lon: " + addressLocation.lng());
} else {
alert("Geocode was not successful for the following reason: " + status);
}
});
}
</script>