Leaflet / Progressive Web App - быстрый поворот на плитке 404 (возможно, с использованием Workbox)? - PullRequest
0 голосов
/ 01 июня 2018

У меня есть карта Leaflet с двумя наборами моих тайлов (это для карты кемпинга).Плитка ограничена границами лагеря, поэтому у меня их немного.Я создал прогрессивное веб-приложение (использующее Workbox для кэширования) и подумал о следующей ситуации:

Существует значительное количество запросов для несуществующих плиток, где TileLayer знает, как обслуживатьплитка по умолчанию через errorTileUrl, что означает довольно много 404 запросов даже в автономном режиме (поскольку плитки не будут в кеше).Тем не менее, это кажется мне немного глупым, потому что я знаю , какие плитки должны присутствовать раньше времени, поэтому я должен быть в состоянии предотвратить 404s вне карты (просматривая около 20 неудачных запросов при запуске).

Мне нужно иметь возможность показывать (пустые) листы вне карты, потому что я не могу гарантировать ориентацию / геометрию полноэкранной карты на устройстве.

Мой основной вопросстоит ли беспокоиться об этом?Приложение работает как есть сейчас;просто пытаюсь сделать его немного более эффективным для сети.

Если это так, я рассмотрел один из вариантов - создать новый маршрут workbox.router для обработки вызовов для извлечения тайлов и просто быстро вернуть 404, если он не находится всписок, в противном случае перейдите в кэш / сеть.Или я что-то упускаю в Leaflet (или плагине), который уже справляется с этим?

Спасибо за мысли и идеи.

1 Ответ

0 голосов
/ 02 июня 2018

Вы должны быть в состоянии указать доступные плитки вашего слоя листов листов в прямоугольной области и в диапазоне масштабирования, используя опции:

  • bounds: если установлено,плитки будут загружаться только внутри набора LatLngBounds.
  • minNativeZoom: минимальное число масштабирования, доступное источнику плитки.Если указано, плитки на всех уровнях масштабирования ниже minNativeZoom будут загружаться с уровня minNativeZoom и автоматически масштабироваться.
  • maxNativeZoom: максимальное число масштабирования плиткиисточник есть в наличии.Если он указан, плитки на всех уровнях масштабирования выше maxNativeZoom будут загружены с уровня maxNativeZoom и автоматически масштабированы.

Если ваши доступные плитки не заполняют прямоугольную область, выможет предоставить фиктивные плитки, чтобы заполнить открытую область.Использование сервисного маршрутизатора может помочь в перенаправлении на обычный фиктивный фрагмент в кэше.

Для внешней области вы можете просто использовать фон контейнера.Или, если вы действительно хотите подобный эффект как Tile Layer, используйте фиктивные, которые указывают на общий шаблон постоянной фиктивной / «нет плитки доступен».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...