我正在尝试制作一个包含静态 Google 地图的页面。调整页面大小时,我会动态更改地图。我在一个函数中有以下代码,该函数在页面调整大小时触发,并在检查页面上元素的大小是否匹配后定期触发:
if (imageDownloadEnabled) {
url = 'http://maps.googleapis.com/maps/api/staticmap?center=' + userLat + ',' + userLng + '&zoom=14&size=' + ((theWidth/2)|0) + 'x'+ ((theHeight/2)|0) + '&sensor=false&scale=2';
newImage = $('<img />');
console.log('Retrieving map from ' + url);
newImage.error( function() {
console.log("error loading image");
imageDownloadEnabled = false;
}).load(function(eventObject) {
console.log("done loading image");
console.dir(eventObject);
$('#maps-image').replaceWith(newImage);
newImage.attr('id', 'maps-image');
}).attr('src', url);
/**/
} else {
console.log('disabled');
}
当 google maps api 重载(目前发生,因为我的一个 bug 导致了无限循环)我得到一个 403 错误和一个替代图像。虽然没有调用错误事件处理程序。
有没有办法解决?我想确保在 403 事件中,该页面停止向 Google 请求新图片。