传单没有互联网检测和通知

时间:2015-12-03 14:16:00

标签: angularjs leaflet mapbox

例如,如果我的wifi下线,在传单中我看到新的地图区域是灰色的,但没有关于真实情况的通知。

如果我打开控制台,我会看到:

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。使用angular-leaflet-directive

1 个答案:

答案 0 :(得分:1)

编辑:正如Ghybs在评论中指出的那样,确实有一个tileerror事件从L.TileLayer开始,但据我所知,它没有在Angular Leaflet Directive中实现,请纠正我,如果我错了。

L.TileLayer可以选择在无法加载图块时设置替换图像:errorTileUrl

  

要显示的图块图像的URL,以代替无法加载的图块。

new L.TileLayer(URL, {
    errorTileUrl: 'error.png'
});

http://leafletjs.com/reference.html#tilelayer-errortileurl

如果您需要在拼贴无法加载时执行某些逻辑,则可以覆盖L.TileLayer的{​​{1}}方法:

_tileOnError

https://github.com/Leaflet/Leaflet/blob/master/src/layer/tile/TileLayer.js#L96