Dynamics crm 2011 使用Google地理编码Web服务进行地理编码

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不存在)。基本上,你的代码什么都不做 你需要好好阅

我正在尝试使用Javascript对Microsoft Dynamics CRM 2011中的地址进行地理编码。 我不想显示地图,只需执行地理编码并将Lat/Long值存储在数据库中。 我一直收到一条错误消息说

“结果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>