首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Google Place API -请求的资源上不存在'Access-Control-Allow-Origin‘标头。因此不允许访问源'null‘

Google Place API -请求的资源上不存在'Access-Control-Allow-Origin‘标头。因此不允许访问源'null‘
EN

Stack Overflow用户
提问于 2015-02-06 14:21:44
回答 8查看 107K关注 0票数 51

我正在使用Google Place API。

我想得到什么建议的地方打字帮助。

所以,我所做的是-

代码语言:javascript
复制
var Google_Places_API_KEY = "AIzaSyAK08OEC-B2kSyWfSdeCzdIkVnT44bcBwM";      //Get it from - https://code.google.com/apis/console/?noredirect#project:647731786600:access
var language = "en";        //'en' for English, 'nl' for Nederland's Language


var Auto_Complete_Link = "https://maps.googleapis.com/maps/api/place/autocomplete/json?key="+Google_Places_API_KEY+"&types=geocode&language="+language+"&input=Khu";
$.getJSON(Auto_Complete_Link , function(result)
{
    $.each(result, function(i, field)
    {
        //$("div").append(field + " ");
        //alert(i + "=="+ field);
        console.error(i + "=="+ field);
    });
});

所以我请求的链接是-

https://maps.googleapis.com/maps/api/place/autocomplete/json?key=AIzaSyAK08OEC-B2kSyWfSdeCzdIkVnT44bcBwM&types=geocode&language=en&input=Khu

如果我用浏览器转到这个链接,我可以得到类似它的输出(请尝试点击)-

但是如果我尝试使用jQuery的.getJSON.ajax,我的请求将被阻止,并显示以下消息:

所以XMLHTTPRequest被屏蔽了,因为-

否请求的资源上存在'Access-Control-Allow-Origin‘标头。因此不允许访问源'null‘。

我已经为这个问题的解决方案签入了StackOverflow,并通过herehere进行了检查,但无法完美地获得我的解决方案。

有没有人能开导我?

EN

Stack Overflow用户

发布于 2016-04-16 06:51:45

好的,这就是我们在javascript中如何做的……谷歌对此有自己的功能……

链接:https://developers.google.com/maps/documentation/javascript/places#place_search_requests

代码语言:javascript
复制
var map;
var service;
var infowindow;

function initialize() {
  var pyrmont = new google.maps.LatLng(-33.8665433,151.1956316);

  map = new google.maps.Map(document.getElementById('map'), {
      center: pyrmont,
      zoom: 15
    });

  var request = {
    location: pyrmont,
    radius: '500',
    types: ['store']
  };

  service = new google.maps.places.PlacesService(map);
  service.nearbySearch(request, callback);
}

function callback(results, status) {
  if (status == google.maps.places.PlacesServiceStatus.OK) {
    for (var i = 0; i < results.length; i++) {
      var place = results[i];
      createMarker(results[i]);
    }
  }
}

任何人想要访问地点Id和其他东西,这就是我们的方式……在回调函数中,我们有谷歌返回的地点的JSONArray ...在for循环内的回调函数中,在行var place = results[i];之后,你可以得到你想要的结果

代码语言:javascript
复制
console.log(place.name);
console.log(place.place_id);
var types = String(place.types);
types=types.split(",");
console.log(types[0]);
票数 5
EN
查看全部 8 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28359730

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档