jjzjj

javascript - Google 的 Places API 和 JQuery 请求 - 来源 http ://localhost is not allowed by Access-Control-Allow-Origin

coder 2024-05-15 原文

我正在为我想到的一个项目做一些测试,该项目涉及使用附近的地方。所以我和大个子一起去了,开始摆弄谷歌的 Places Api。我正在为我的 map 使用带有 openstreet tiles 的传单。现在一切都很好,直到我尝试使用该死的东西。

var lat = coords.lat;
var lng = coords.lng;
var apiUrl = "https://maps.googleapis.com/maps/api/place/nearbysearch/json";
var data = {
    key: 'AIzaSyBl8bmE8kQT7RjoXhP6k2yDti44h9-fSUI',
    location: lat+','+lng,
    radius: '10000',
    sensor: 'false',
    rankby: 'prominence',
    types: 'bar|night_club'
};
$.ajax({
  url: apiUrl,
  type: 'POST',
  data: data,    
  dataType:"jsonp",
  crossDomain: true,
  success: function(data) {
            var obj = $.parseJSON(data);
                // console.log(data.next_page_token);
          }
});

dataType 属性更改为 json 我得到 Origin http://localhost is not allowed by Access-Control-Allow-Origin.使用 jsonp 我得到一个解析错误 Unexpected token : Obviusly $.parseJSON 不工作......有没有办法让这个工作而不必使用 Google Maps Api?如果答案是否定的...还有其他地方的 api 与 google 的一样好吗?

谢谢!

最佳答案

您正在尝试使用 Places API web service ,旨在从服务器代码中使用,不支持 JavaScript 所需的 JSONP 输出。

在 JavaScript 中,您需要使用 Places Library来自 Maps API V3 .您不能直接从 JavaScript 或 jQuery 代码中访问 URL。 (您可能可能会发现 Places Library 使用的 URL 模式,但服务条款不允许不通过 API/Library 直接使用,并且 URL 可能随时更改。)

您有什么理由不想通过 JavaScript 使用 Maps API 吗?

关于javascript - Google 的 Places API 和 JQuery 请求 - 来源 http ://localhost is not allowed by Access-Control-Allow-Origin,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15847623/

有关javascript - Google 的 Places API 和 JQuery 请求 - 来源 http ://localhost is not allowed by Access-Control-Allow-Origin的更多相关文章

随机推荐