Если, например, мой Wi-Fi отключен, в листе я вижу новые области карты серыми, но не уведомляет о том, что на самом деле происходит.
если я открою консоль, я вижу:
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");
});
ps с использованием указателя углового листа
EDIT: как указывала Ghybs в комментариях есть действительно tileerror
событие стрельбы из L.TileLayer
, однако, насколько я могу видеть, что это не реализовано в Листовке Директиве Угловой, пожалуйста, поправьте меня, если я ошибаюсь.
У L.TileLayer есть опция для установки замещающего изображения, когда нельзя errorTileUrl
: errorTileUrl
:
URL-адрес изображения плитки, чтобы показать вместо плитки, которая не загружалась.
new L.TileLayer(URL, {
errorTileUrl: 'error.png'
});
http://leafletjs.com/reference.html#tilelayer-errortileurl
Если вам нужно выполнить некоторую логику, когда плитки не загружаются, вы можете перезаписать метод L.TileLayer
_tileOnError
:
L.TileLayer.include({
_tileOnError: function (done, tile, e) {
// Do your stuff
alert('whooops!');
// Leaflet stuff
var errorUrl = this.options.errorTileUrl;
if (errorUrl) {
tile.src = errorUrl;
}
done(e, tile);
}
});
https://github.com/Leaflet/Leaflet/blob/master/src/layer/tile/TileLayer.js#L96