OpenLayers: подобрать resolutions и maxExtent

Не знаете, где задать вопрос? Задавайте здесь.
Ответить
delirivm
Новоприбывший
Сообщения: 3
Зарегистрирован: 30 ноя 2012, 13:06
Репутация: 0

OpenLayers: подобрать resolutions и maxExtent

Сообщение delirivm » 30 ноя 2012, 13:43

Здравствуйте. Я все пытаюсь подобрать нужные значения параметров resolutions и maxExtent. Задача состоит вот в чем: существует картинка 5000x5000 пикселей, с помощью скрипта я разрезал ее на тайлы. Тайлы хранятся в статичных файлах (их размер стандартный, 256x256 пикселей). Суть вот в чем: число 5000 на 256 делится с остатком, поэтому тайлы в самой правой «колонке» получились как бы обрезанными («лишние» области остались залиты черным цветом).

Уровней (или зумов) я сделал 4 штуки, умножая размер картинки соответственно на 1, 0.8, 0.6 и 0.4. В итоге получилась следующая таблица:
  • 5000 x 1 = 5000 (вся картинка приближена максимально, колонок 19, строк 19)
  • 5000 x 0.8 = 4000 (картинка чуть отдалена, колонок 15, строк 15)
  • 5000 x 0.6 = 3000 (картинка отдалена еще сильнее, колонок 11, строк 11)
  • 5000 x 0.4 = 2000 (картинка отдалена максимально, колонок 7, строк 7)
Под «строками» и «колонками» я подразумевал кол-во тайлов, которое необходимо отобразить на колонку или строку, если вообразить, что тайлы образуют собой таблицу. Еще надо учесть, что «крайние» тайлы залиты черным цветом, поэтому эти черные области нужно как-нибудь закрыть или выдвинуть за viewport.

Следующий кусок кода более менее работает только на первом (1 = 5000) и последнем (0.4 = 2000) уровнях, на остальных он почему-то не работает как положено:

Код: Выделить всё

var extend = [0, 0, 5000, 5000]; // или [0, 0, 2000, 2000]
var map = new OpenLayers.Map ({
div: 'map',
layers: [
new OpenLayers.Layer.XYZ ('New Layer', '/tiles/${z}/${x}/${y}.png', {
resolutions: [2.5, 2, 1.5, 1] // или [1, 0.8, 0.6, 0.4]
})
],
maxExtent: new OpenLayers.Bounds (extend),
restrictedExtent: new OpenLayers.Bounds (extend)
});
complexMap.zoomToMaxExtent ();

Проверьте пожалуйста, правильно ли я указал resolutions и maxExtent. Если необходимы скриншоты, опубликую.

delirivm
Новоприбывший
Сообщения: 3
Зарегистрирован: 30 ноя 2012, 13:06
Репутация: 0

Re: OpenLayers: подобрать resolutions и maxExtent

Сообщение delirivm » 01 дек 2012, 14:44

Помогите, пожалуйста, у меня вся работа из-за этого встала.

delirivm
Новоприбывший
Сообщения: 3
Зарегистрирован: 30 ноя 2012, 13:06
Репутация: 0

Re: OpenLayers: подобрать resolutions и maxExtent

Сообщение delirivm » 02 дек 2012, 14:30

Проблема все еще актуальна.

Ответить

Вернуться в «Я новичок!»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 4 гостя