2013-02-18 53 views
0
$(document).ready(function() { 
    $.getJSON('https://maps.googleapis.com/maps/api/place/textsearch/json?query=Kfc+sydney&sensor=true&key=AIzaSyD-jxenRCJipqw5Kg-HXQbRXUK8dHNFz3A', 
    function (data) { 
     alert(data); 
    }); 
}); 

我的Google地图URL显示的是从浏览器请求时的JSON对象,但不是使用jQuery。Google Maps URL不会返回JSON对象?

+0

Google Maps API似乎不允许跨域请求。 – 2013-02-18 10:58:21

回答

0

您需要更多关注您的浏览器的JS控制台。

XMLHttpRequest cannot load https://maps.googleapis.com/maps/api/place/textsearch/json?query=Kfc+sydney&sensor=true&key=AIzaSyD-jxenRCJipqw5Kg-HXQbRXUK8dHNFz3A. Origin http://jsbin.com is not allowed by Access-Control-Allow-Origin.

您试图违反Same Origin Policy。在this question的回答中描述了一些变通方法。

+0

可以请你给我看一段代码,谢谢 – user2082934 2013-02-18 11:00:14

+0

@ user2082934 - 不,没有“一段代码”可以解决问题。阅读链接。 – Quentin 2013-02-18 12:56:38

1

使用Maps-Javascript-API的Places-Library从JavaScript应用程序请求服务。

<script type="text/javascript" 
     src="http://maps.googleapis.com/maps/api/js?libraries=places&sensor=false"> 
</script> 

<script type="text/javascript"> 
/*<![CDATA[*/ 
$(document).ready(function() { 
    new google.maps.places.PlacesService(document.createElement('div')) 
    .textSearch({query:'KFC sydney'}, function(data){console.log(data);}); 
}); 
/*]]>*/ 
</script> 
0

参见:Google Maps V3 Geocoding Lookup using getJSON

FYI - 如果你运行的是一个服务器端语言,如PHP或JSP,你将能够使用Maps API网址,因为有这种方法没有JavaScript跨域问题,如果您需要使用JavaScript处理JSON,您可以编写一个页面以有效地充当代理。