Description | Улучшения:
1) !! Не нужно больше искать вручную манифест и редактировать размеры картинки в GetUrlScript.
2) Изменен алгоритм вычисления количества тайлов при заданном увеличении. В большинстве случаев разница несущественна, но вот пример карты, на которой при старом алгоритме происходит сбой: https://images.jomidav.com/Liverpool2.htm. В старом алгоритме число тайлов, например, по X, определяется делением WIDTH из манифеста на произведение коэффициента уменьшения на 256 с последующим округлением вверх. В новом -- сначала определяем размер уменьшенной картинки,
деля на коэффициент и округляем ВНИЗ, а уже затем делим еще на 256 и теперь уже, конечно, округляем вверх. Впрочем, я не уверен, что я совершенно правильно разгадал эти правила округления, поэтому старые формулы оставлены под комментариями.
3) Еще одно изменение алгоритма связано с тем, что минимальный зум не обязан быть "одноклеточным". Правда я таких картинок пока не встречал, но правильный подсчет тайлов должен базироваться на NUMTILES из манифеста, а не на редукции до 1x1.
4) Наконец, введен контроль границ. Его отсутствие -- общий недостаток большинства zmp. Серверы реагируют иногда неадекватно, когда у них запрашиваешь несуществующий тайл. Вышеупомянутый https://images.jomidav.com пытается догадаться, что хотели и часто выдает тайл с "похожим" URL. В результате вокруг картинки образуется дезориентирующая мозаика "левых" тайлов.
Кстати, вопрос: как вывести из скрипта сообщение об ошибке или отладочную информацию? Пока присваиваю ResultURL, но это как-то некрасиво.
|