我尝试使用 Google map 的路线 API 获取路线,但收到错误消息:
请求的资源上不存在“Access-Control-Allow-Origin” header 。来源'http://irfanknow.com ' 因此不允许访问。
我尝试使用 https 作为协议(protocol),使用 jsonp 作为数据类型,但似乎都无法修复它。我做错了什么?
这是我的代码:
$.ajax({
url: 'https://maps.googleapis.com/maps/api/directions/json?origin='+encodeURI(from)+'&destination='+encodeURI(to)+'&key=AIzaSyA-DmsaUVTWZgzqd43J5lMWIgUcIiIfIlo',
dataType: 'json',
jsonp: 'callback',
method: 'GET',
success: function(directionsResults){
console.log(directionsResults);
}
});
最佳答案
启用方向 API 并阅读文档 ( https://developers.google.com/maps/documentation/javascript/directions ) 后,可以执行类似的操作。这会将 map 中心设置在芝加哥,并给出从芝加哥到波士顿的路线。
var directionsDisplay;
var directionsService = new google.maps.DirectionsService();
var map;
function initialize() {
directionsDisplay = new google.maps.DirectionsRenderer();
var chicago = new google.maps.LatLng(41.850033, -87.6500523);
var mapOptions = {
zoom:7,
center: chicago
}
map = new google.maps.Map(document.getElementById("map-canvas"), mapOptions);
directionsDisplay.setMap(map);
}
function calcRoute() {
var start = 'Chicago';
var end = 'Boston';
var request = {
origin:start,
destination:end,
travelMode: google.maps.TravelMode.DRIVING
};
directionsService.route(request, function(result, status) {
if (status == google.maps.DirectionsStatus.OK) {
directionsDisplay.setDirections(result);
}
});
}
关于javascript - 发送 AJAX 请求以获取 Google map 路线时出错(访问 header ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26197073/