Клуб API Карт

Пользовательские карты

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

С помощью приложения порезано изображение,  получен html, который вставлен на сайт.  При просмотре изображения на сайте ( изменении масштаба) происходит обращение к несуществующим уровням, что не очень гуд. Как понимаю, решить проблему можно с помощью maxZoom и minZoom, но, к сожалению, не знаю какой код правильно вставить в дефолтный html, полученный с помощью приложения.

Как мне кажется, было бы не плохо, если в будущих версиях приложения при экспорте тайлов, можно будет добавлять параметры макс/мин масштаба

6 комментариев
Константин
28 января 2016, 07:18
после 
var map = new YMaps.Map(YMaps.jQuery("#YMapsID")[0]);


вставляешь и меняешь на нужные значения
map.setMaxZoom(8); 
map.setMinZoom(6);

Спасибо!
Возможно ли как-то избавиться от обращений к несуществующим тайлам на уровне? (при перетаскивании карты за пределы изображения)
Sergey Konstantinov
28 января 2016, 07:18
Вам нужно переопределить функцию getTileUrl у своего экземпляра класса YMaps.TileDataSource.

tileDataSource.getTileUrl = function (tileNumber, zoom) {
   if (/* тут какая-то проверка того, что тайл с данным номером на данном масштабе есть */) {
       return YMaps.TileDataSource.prototype.getTileUrl.call(this, tileNumber, zoom);
   } else {
       return this.getErrorTileUrl();
   }
}
"/* тут какая-то проверка того, что тайл с данным номером на данном масштабе есть */"
К сожалению, я в этом ничего не понимаю. Но все равно спасибо :)
*это все жара
В смысле, пока не понятно как это сделать, но буду пробовать :)