我正在尝试获取direction_in_traffic
,使用常规路线 API 不会返回该值。我发现有一个字段distancematrix
api 就是这样做的。
当我从自己的机器上运行该代码时,该代码可以工作,但是一旦上线,我就会看到有关的错误Access-Control-Allow-Origin
var durationInTraffic = function(from, to, mode, callback) {
var key = 'API-KEY';
var address = 'https://maps.googleapis.com/maps/api/distancematrix/json?origins=' + from + '&destinations=' + to + '&key='+ key +'&travelmode=' + mode + '&departure_time=now';
var req = new XMLHttpRequest();
req.addEventListener('load', function(){
if (typeof callback === 'function') {
callback(JSON.parse(this.responseText).rows[0].elements[0].duration_in_traffic.value);
}
});
req.open('GET',address);
req.setRequestHeader('Access-Control-Allow-Origin','https://haroen.me');
req.setRequestHeader('Access-Control-Allow-Headers','X-Requested-With');
req.send();
};
我已经创建了密钥,但是在domain verification
选项卡似乎“忘记”了我输入的地址。
jsbin http://jsbin.com/moqikajule/1/edit?js,console,output(这显然不起作用,因为该域不允许使用此密钥,但我在自己的域上遇到相同的错误)。
我正在尝试的完整代码可见于https://github.com/haroenv/maps-checker https://github.com/haroenv/maps-checker
感谢您的帮助!