TextSearch没有返回输出(但URL有效)

时间:2016-07-27 15:02:49

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

function getCoffeeLatLon(inpLat, inpLon){
    var searchURL = "https://maps.googleapis.com/maps/api/place/textsearch/json?query=coffee&key=AIzaSyCKY43b8fpjLUuagtq1ZdSc477QwFuprew&location=15.7228486,-90.2348";
    var firstLat;
    var firstLon;
    var firstName;
    var fullJSON= $.getJSON("https://maps.googleapis.com/maps/api/place/textsearch/json?query=coffee&key=AIzaSyCKY43b8fpjLUuagtq1ZdSc477QwFuprew&location=15.7228486,-90.2348", function(data){
                                            firstLat = data.results[0].geometry.location.lat;  
                                            firstLon = data.results[0].geometry.location.lng; 
                                            firstName = data.results[0].name;
                                            console.log("checking");
                                            });

    var coffeeLatLonName = [firstLat, firstLon, firstName];
    return coffeeLatLonName;
  }

以上是我的代码示例。虽然我可以在线访问Google Maps API网址并查看完整的JSON结果,但在我的代码中使用它时,它将无法运行“成功”。 $ .getJSON调用的函数。我还可以保存URL的结果并毫无问题地使用该文件。

为什么我不能直接在我的代码中使用该网址?

感谢。

1 个答案:

答案 0 :(得分:2)

如果我运行your code (fiddle),则会出现javascript错误:

XMLHttpRequest cannot load https://maps.googleapis.com/maps/api/place/textsearch/json?query=coffee&key=AIzaSyCKY43b8fpjLUuagtq1ZdSc477QwFuprew&location=15.7228486,-90.2348. 
No 'Access-Control-Allow-Origin' header is present on the requested resource. 
Origin 'http://fiddle.jshell.net' is therefore not allowed access.

如果您想从javascript访问地方API文字搜索,请使用Places Library of the Google Maps Javascript API v3