Google maps api 3 解决经度和纬度转换问题

Google maps api 3 解决经度和纬度转换问题,google-maps-api-3,dynamics-crm-2011,dynamics-crm-online,Google Maps Api 3,Dynamics Crm 2011,Dynamics Crm Online,我正在尝试使用以下代码根据Microsoft dynamics CRM 2011 Online的地址返回经度和纬度。地址接收正常,但下面的代码不起作用。有人能帮我找出原因吗 try { var xHReq = new ActiveXObject("Msxml2.XMLHTTP"); xHReq.Open("GET", "http://maps.google.com/maps/api/geocode/xml?sensor=false&address=" + address,

我正在尝试使用以下代码根据Microsoft dynamics CRM 2011 Online的地址返回经度和纬度。地址接收正常,但下面的代码不起作用。有人能帮我找出原因吗

try
{
    var xHReq = new ActiveXObject("Msxml2.XMLHTTP");
    xHReq.Open("GET", "http://maps.google.com/maps/api/geocode/xml?sensor=false&address=" + address, false);
    xHReq.Send(null);

    var resultXml =xHReq.responseXML;
alert(resultXml);
    var addressComponents=resultXml.selectNodes("//GeocodeResponse/result/geometry/location");
    if (addressComponents != null && addressComponents.length > 0) 
    {
        var long = parseFloat(resultXml.selectSingleNode("//GeocodeResponse/result/geometry/location/lng").nodeTypedValue);
        var lat = parseFloat(resultXml.selectSingleNode("//GeocodeResponse/result/geometry/location/lat").nodeTypedValue);

        crmForm.all.address1_latitude.DataValue = lat;
        crmForm.all.address1_longitude.DataValue = long;
        alert(lat);

crmForm.all.address1_latitude.ForceSubmit = true;
        crmForm.all.address1_longitude.ForceSubmit = true;
        }

}
我收到以下错误消息:权限被拒绝

我开始怀疑我是否有问题,因为该网站是https://


是否有其他人遇到相同的错误。

如果您自己的代码不在域中,则无法使用XMLHttp访问域中的数据(跨域限制)。因为您的代码不是从google.com提供的,所以您无法访问该域中的数据

对于Javascript,使用Javascript API中的地理编码服务,正如Mano所评论的那样。本质上,它使用JSON,不受JSON的限制。

请转到url

只需键入地址,即可将地址转换为经度和纬度。您可以键入世界上的任何地址,只要使用以下格式:街道、城市、国家或街道、城市、州。甚至你也可以找到属于门牌号的经度和纬度。您可以将经度或纬度复制并粘贴到GPS或任何使用长/纬度的程序,如“poi编辑器”或“IGo poi浏览器”。如果您想为导航工具创建Poi文件,此网站非常有用


这个网站正在使用谷歌的地理编码脚本。地理编码是估计给定位置的纬度和经度的过程。

也许您可以添加一些不起作用的细节?错误消息?意外的结果..?很难调试代码段,除非确实有明显的错误。如果你能发布一个活的样本,那就更好了。此外,不要使用HTTP WebService,而是考虑使用JavaScript API的地理编码服务,它更容易和JS MAP API集成在一起。