Google的Places API和JQuery请求 – Access-Control-Allow-Origin不允许使用Origin http:// localhost

我正在为一个项目做一些测试,我想到的是涉及到附近的地方。 所以我跟那个大个子一起去了,并开始搞乱Google的Places Api。 我正在使用带有openstreet瓷砖的传单来制作我的地图。 现在一切都很好,直到我尝试使用dang的东西。

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不起作用…有没有办法使这项工作,而不必使用谷歌地图Api? 如果答案是否定的……是否有其他地方api和google一样好?

谢谢!

您正在尝试使用Places API Web服务 ,该服务旨在用于服务器代码,并且不支持JavaScript所需的JSONP输出。

在JavaScript中,您需要使用Maps API V3中的地方库 。 您不能直接从JavaScript或jQuery代码中获取URL。 (您可能会发现Places库使用的URL模式,但服务条款不允许直接使用而无需通过API /库,并且URL可能随时更改。)

您是否有理由不想使用JavaScript中的Maps API?

https://github.com/joshtronic/php-googleplaces

刚刚制作并将其上传到我的一个网站。

 location = array(, ); $google_places->radius = 800; $results = $google_places->nearbySearch(); header('Content-Type: application/json'); header('Access-Control-Allow-Origin: *'); echo json_encode($results);