当我尝试使用ajax从谷歌地图Place API获取json时,我收到this错误。我尝试使用var baseAPIUrl = 'https://maps.googleapis.com/maps/api/directions/json?';
$.ajax({
url: baseAPIUrl += "origin=place_id:" + placeId[0] + "&destination=place_id:" + placeId[1] + apikey,
type: "GET",
dataType: "json",
crossDomain: true,
success: function(data) {
do something..
}
}
和"row"
,但他们根本没有工作。这是我下面的ajax代码。
divs
我试图从网址获取方向作为json并使用方向信息做一些事情。有什么想法吗?谢谢!
答案 0 :(得分:0)
首先,你有一个错字:
url: baseAPIUrl + "origin=place_id:" + placeId[0] + "&destination=place_id:" + placeId[1] + apikey,
不应该是baseAPIUrl +=
而是baseAPIUrl +
。
其次,您无法访问域外的URL(在本例中为localhost)。
在此处阅读:https://developer.mozilla.org/en-US/docs/Web/Security/Same-origin_policy
简而言之,您需要向服务器发出ajax请求,而您的服务器会向google api发出请求。
答案 1 :(得分:0)
尝试这样的事情:
$(document).ready(function(){
$.ajax({
url: 'mapProcess.php',
type: 'POST',
data: {
var1 :val1 // parameter
},
success: function(response){ // response from mapProcess.php
// do your stuff here
}
});
});
腓:
$url = "https://maps.googleapis.com/maps/api/geocode/json?address=".$address."&components=country:IN&key=your_key";
// CURL call to get data from API
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$APIresponse = curl_exec($ch);
curl_close($ch);
$resp = json_decode($APIresponse, true);