Google Maps API 地理编码给出错误“标签无效”在火狐浏览器中

发布于 2024-08-29 22:09:23 字数 971 浏览 7 评论 0 原文

今天,我遇到了以下问题:

$.ajax({url:'http://maps.google.com/maps/api/geocode/jsonaddress=Karachi&sensor=false&output=json&callback=?',
        dataType: 'json',
        success: function(data){
         //eval("("+data+")");
         alert(data);
        }
});

Firefox 给出错误“无效标签”,Chrome 给出错误“未捕获的语法错误:意外的标记:”。我发现了很多关于此的帖子,并且尝试了各种类似 eval() 的方法,但也得到了:

$.getJSON('http://maps.google.com/maps/api/geocode/jsonaddress=Karachi&sensor=false&output=json&callback=?',
 function(data){
  //eval("("+data+")");
  alert(data);
 }
);

相同的结果。此外,其他 json 数据也可以正常工作,例如 flickr ("http://api.flickr.com/services/feeds/photos_public.gne?tags=cat&tagmode=any&format=json&jsoncallback=?)。所以它有我猜想与 Google Maps API 输出有关。

提前致谢。

Today I struggled with the following:

$.ajax({url:'http://maps.google.com/maps/api/geocode/jsonaddress=Karachi&sensor=false&output=json&callback=?',
        dataType: 'json',
        success: function(data){
         //eval("("+data+")");
         alert(data);
        }
});

Firefox gives the error "Invalid Label" and Chrome "Uncaught SyntaxError: Unexpected token :". I found a lot of posts about this, and I tried all kinds of things like eval(), but also:

$.getJSON('http://maps.google.com/maps/api/geocode/jsonaddress=Karachi&sensor=false&output=json&callback=?',
 function(data){
  //eval("("+data+")");
  alert(data);
 }
);

Same result. Also, other json data works fine, for instance flickr ("http://api.flickr.com/services/feeds/photos_public.gne?tags=cat&tagmode=any&format=json&jsoncallback=?). So it has something to do with the Google Maps API output i guess..

Thanks in advance.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

风渺 2024-09-05 22:09:23

你可以在maps V3中做到这一点,但你不能使用$.getJSON来获取数据,相反,maps api中有一个方法,如果你给它一个地址,它就会检索数据。

var  geocoder = new google.maps.Geocoder();
 geocoder.geocode( { 'address': '10 downing street, London, UK'}, function(results, status) {
      if (status == google.maps.GeocoderStatus.OK) {
        console.log(results);
        alert(results[0].geometry.location);

      } else {
        alert("Geocode was not successful for the following reason: " + status);
      }
    });

这些链接包含所有信息......
https://developers.google.com/maps/documentation/javascript/geocoding#GeocodingRequests

https://google-developers.appspot.com /maps/documentation/javascript/examples/geocoding-simple

You can do it in maps V3, but you can't use $.getJSON to get the data, instead there is a method in the maps api which retrives the data if you give it an address.

var  geocoder = new google.maps.Geocoder();
 geocoder.geocode( { 'address': '10 downing street, London, UK'}, function(results, status) {
      if (status == google.maps.GeocoderStatus.OK) {
        console.log(results);
        alert(results[0].geometry.location);

      } else {
        alert("Geocode was not successful for the following reason: " + status);
      }
    });

these links have all the info....
https://developers.google.com/maps/documentation/javascript/geocoding#GeocodingRequests

https://google-developers.appspot.com/maps/documentation/javascript/examples/geocoding-simple

欢你一世 2024-09-05 22:09:23

你就是做不到; AFAIK Geocoder V3 不允许 callback=?
检查此内容 线程以获取更多信息。

You just can't do it; AFAIK Geocoder V3 does not allow callback=?.
Check this thread for further information.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文