例如,如果我的WiFi离线,在传单上,我看到新的Map区域灰色,但没有通知真正发生了什么。
如果我打开控制台,我看到:
GET https://a.tiles.mapbox.com/v4/image.png?access_token=correct_token
net::ERR_INTERNET_DISCONNECTED
字符串
有谁知道如何捕捉此类事件并显示自定义警告?
我已经试过了:
$scope.$watch('tileerror', function (error, tile) {
alert("No coonection");
});
型
p.s.使用角瓣指示
2条答案
按热度按时间6mzjoqzu1#
编辑:正如Ghybs在评论中指出的那样,确实有一个
tileerror
事件从L.TileLayer
触发,但据我所知,它没有在Angular Leaflet指令中实现,如果我错了,请纠正我。L.TileLayer确实有一个选项,用于在无法加载图块时设置替换图像,称为:
errorTileUrl
:要显示的平铺图像的URL,以代替加载失败的平铺。
字符串
http://leafletjs.com/reference.html#tilelayer-errortileurl
如果你需要在加载失败时执行一些逻辑,你可以覆盖
L.TileLayer
的_tileOnError
方法:型
https://github.com/Leaflet/Leaflet/blob/master/src/layer/tile/TileLayer.js#L96
neskvpey2#
我想补充一点,IH8建议的机制对于阻止由损坏或缺失的图层端点引起的错误非常有用。以下对模式的修改检查单个瓦片。如果有错误,则从Map中删除违规图层,并使用回退(本地)图像
L.imageOverlay
。字符串