我有一个谷歌地图实现,我在其中使用位于在线位置的 map 图 block 。但是,如果我走到图 block 区域之外,它会抛出错误,因为它找不到该图像。当它们不存在时,我如何制作一个 if 语句来返回 null?
我考虑的是这个,因为我包含了 jquery:
$.get(url)
.done(function() {
// exists code
return `http://www.blablabla.com/grey-tiles/${zoom}/${coord.x}/${coord.y}.png`
}).fail(function() {
// not exists code
return null;
})
但这对我不起作用这是我组件的构造函数:
constructor(){
this.imageMapOptions = {
getTileUrl: (coord: ImageMapTypeCoord, zoom: number) => {
return `http://www.blablabla.com/grey-tiles/${zoom}/${coord.x}/${coord.y}.png`
},
tileSize: { height: 256, width: 256 },
maxZoom: 18,
minZoom: 16,
radius: 1738000,
name: 'Beeksebergen'
};
}
最佳答案
这样的事情可能会起作用:
var url = 'https://example.com/image.png';
return new Promise((resolve, reject) => {
return $('<img>')
.on('error', reject.bind(null, url))
.on("load", resolve.bind(null, url))
.appendTo(document.body)
.css({ "position": "absolute", top: -9999, left: -9999 })
.on("error load", $.fn.remove)
.attr("src", url);
});
关于javascript - 检查 typescript 中是否存在图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37703032/