我为一个项目进行了一些测试,我想到的是涉及到附近的地方。所以我跟那个大家伙一起开始搞乱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
不起作用...是否存在无需使用Google Maps Api即可完成此项工作的方法?如果答案是否定的......是否还有其他地方api和google一样好?
谢谢!
答案 0 :(得分:17)
您正在尝试使用Places API web service,这意味着可以从服务器代码中使用,并且不支持JavaScript所需的JSONP输出。
在JavaScript中,您需要使用Places Library中的Maps API V3。您不能直接从JavaScript或jQuery代码中获取URL。 (您可能可能会发现商家信息库使用的网址格式,但服务条款不允许直接使用而无需通过API /库,并且网址可能随时发生变化。)
您是否有理由不想使用JavaScript中的Maps API?
答案 1 :(得分:0)
https://github.com/joshtronic/php-googleplaces
刚刚制作并将其上传到我的某个网站。
function loadImage(actor, event, i, loadCallback, errorCallback) {
var image = new Image();
var source ='/static/videos/'+actor+'/'+event+'/'+i+'.png';
image.onload = loadCallback;
image.onerror = errorCallback;
image.src = source;
return image;
}