Google's Places API和JQuery请求-Origin http://localhost不被Ac
Google's Places API and JQuery request - Origin http://localhost is not allowed by Access-Control-Allow-Origin
我为一个项目做了一些测试,我想到了使用附近的地方。所以我跟着那个大人物开始摆弄谷歌的位置Api。我在地图上使用了带有开放街道瓷砖的传单。现在一切都很好,直到我试着用那该死的东西。
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 :
显然$.parseJSON
不工作…有没有一种方法,使这项工作,而不必使用谷歌地图Api?如果答案是否定的……还有其他地方的api和谷歌一样好吗?
谢谢!
您正在尝试使用Places API web服务,该服务旨在从服务器代码中使用,不支持JavaScript所需的JSONP输出。
在JavaScript中,您需要使用地图API V3中的Places库。您不能直接从JavaScript或jQuery代码命中URL。(你可以可能发现地点库使用的URL模式,但服务条款不允许在不通过API/库的情况下直接使用,并且URL可以随时更改。)
是否有一个原因,你不想使用地图API从JavaScript?
https://github.com/joshtronic/php-googleplaces
刚做了这个,上传到我的一个网站上。
<?php
include 'GooglePlaces.php';
include 'GooglePlacesClient.php';
$google_places = new joshtronic'GooglePlaces('your_key');
$google_places->location = array(<your_lat>, <your_lon>);
$google_places->radius = 800;
$results = $google_places->nearbySearch();
header('Content-Type: application/json');
header('Access-Control-Allow-Origin: *');
echo json_encode($results);
相关文章:
- Meteor如何接收HTTP请求
- 在我的情况下,如何进行http请求
- //而不是在src=“”上使用http://"属性
- 我无法使用angularJs($http)访问服务器
- AJAX简单错误.XMLHttpRequest无法加载http://localhost/mpl/getPage.php.
- 如何将PHP get查询转换为Meteor's HTTP.get()
- 角度异步http自动完成
- 如何解决Access Control Allow Origin错误
- 什么's本地node.js服务器和python简单http服务器之间的区别
- 角度http服务器页面刷新404s
- Angularjs http.get() Cross-Origin 请求被阻止
- Angular Cross Origin Request CORS失败,但节点http.get()成功返回
- 角度:原点http://localhost在Access Control Allow Origin标头中找不到
- XMLHttpRequest 无法加载 http No Access-Control-Allow-Origin head
- Angularjs Rails-Origin http://localhost:9000 是 Access-Contro
- Angular JS$http Access-Control-Allow-Origin中的Credentials和通配符
- Access Control Allow Origin问题和angular$http服务
- HTTP请求时出现Access-Control-Allow-Origin错误
- Access-Control-Allow-Origin不允许访问http://localhost
- Google's Places API和JQuery请求-Origin http://localhost不被Ac