Клуб API Карт

Безопасное создание карты

Пост в архиве.

В проекте используется карта для отображения указанных пользователем координатах

Для уменьшения объема загрузки, мы инициализируем карту сразу с центром в указанном пользователем месте с зумом  15:

 

this.map = new ymaps.Map(this.containerId, {
     center: this.value.coordinates,
     zoom: this.selectedCoordinatesZoom /*15*/
});

 

Однако, может возникнуть ситуация, когда данный масштаб недоступен и на запрос соответствующих тайлов возвращается 404 ошибка. Для  предотвращения этого можно либо выставлять меньший точно доступный масштаб, но тогда, придется его потом менять, а значит грузить дополнительные данные, либо делать запрос доступных масштабов через map.ZoomRange, но до создания карты он недоступен.

Может кто-то уже сталкивался с таким? Подскажите, как создавать карту, предварительно проверяя верность масштаба?

2 комментария
Sergey Konstantinov
28 января 2016, 03:20

Вы можете, как workaround, создать карту с type: null (тогда никакие тайлы не будут грузиться), проверить map.zoomRange и поставить нужный масштаб и тип.

В одной из ближайших версий мы сделаем удобный механизм безопасной инициализации карты.

А как отработать zoomRange если типа карты нет?