连接到Google地图网址以获取特定位置的纬度和经度时出现问题

时间:2010-09-09 07:29:19

标签: javascript firefox google-maps jquery google-maps-api-3

我有以下代码来获取给定地址的经度和经度但是拒绝了google网址的权限。

function getlatlng(address,callback){                 var addressval = address;                 var地址;                 var url;                 var googleUrl =“http://maps.google.com/maps/api/geocode/json?”;                 var sensor =“& sensor = false”;

            if (addressval != null && addressval != "" && addressval.length != 0) {

                address = "address=" + encodeURIComponent(addressval);

                $.ajax({
                    url: googleUrl + address + sensor,
                    type: "POST",
                    async: false,
                    dataType: "json",
                    contentType: "application/json; charset=utf-8",
                    success: function(longlatJson) {

                        var jsonObj = JSON.parse(JSON.stringify(longlatJson));
                        var lat = jsonObj.results[0].geometry.location.lat;
                        var lng = jsonObj.results[0].geometry.location.lng;
                        cb(lat, lng);
                    },
                    error: function() { alert("unable to conect to google server"); }
                });
            }

        }

这将是我对给定地址的getlatlng的函数调用

getlatlng(地址,函数(lat,lng){                     警报(LAT);                     警报(LNG);                          ...............                          ...............

                });

2 个答案:

答案 0 :(得分:1)

我的代码中没有看到任何API密钥的引用;你是否按照你的要求发送了它?

答案 1 :(得分:1)

您不需要v3的密钥。

问题是Google Maps JSON网络服务不使用jsonp,因此您无法使用它,因为您正在使用浏览器的跨域策略。

您需要让服务器执行该请求(通过wget或其他内容),然后将结果传回浏览器,或者使用Google Maps API地理编码器,并为您处理。

您可以在此处阅读更多内容http://code.google.com/apis/maps/documentation/javascript/services.html#Geocoding