2013-02-18 128 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,您可以編寫一個頁面以有效地充當代理。