Страница 1 из 1

привязка слоёв (tiles) ко времени

Добавлено: 04 сен 2012, 12:41
spirit
Доброе всем время суток.
Никак не могу сделать шкалу времени с привязанными к ней тайлами.
Необходимо примерно как здесь http://timemap.googlecode.com/svn/tags/ ... ayers.html , только привязывать не точки (point), а карты (снимки воздушных потоков).
Может кто уже делал так? или кто-то сможет привести пример?

Re: привязка слоёв (tiles) ко времени

Добавлено: 04 сен 2012, 12:54
novia
ну в этом примере по времени анимируется динамический слой... не тайлы.
анимация тайлов вопрос отдельной проработки на уровне логики веб-приложения... что не только в соответствии с охватом карты брать картинки, но и с учетом даты...

поверхностный гугль выдает, например, вот такую статью. Там есть три идеи о том, как анимировать такие слои. по факту все сводится опять же к смене источника тайлов при сохранении схемы разбивки (по сути к смене сервиса)

Re: привязка слоёв (tiles) ко времени

Добавлено: 04 сен 2012, 15:24
spirit
Спасибо. Но думаю мне даже проще нужно. просто выбрав дату отображаются попавшие под неё тайлы. А если пользователь ничего не делает, то и вся карта ничего не делает.

Re: привязка слоёв (tiles) ко времени

Добавлено: 04 сен 2012, 15:50
novia
spirit писал(а):Спасибо. Но думаю мне даже проще нужно. просто выбрав дату отображаются попавшие под неё тайлы. А если пользователь ничего не делает, то и вся карта ничего не делает.
ну почитайте таки статью. там и такой случай описан. меняете сервис (если их немного) и все.

Re: привязка слоёв (tiles) ко времени

Добавлено: 05 сен 2012, 15:53
spirit
Решил использовать MapTimeLine http://code.google.com/p/maptimeline/ , но не могу использовать у неё метод addLayer (или addLayers)

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

mt = new MapTimeline(mtlOptions);

var tmsoverlay = new OpenLayers.Layer.TMS( "Vectors"+vector_mas[index],
    "http://localhost/vector"+ vector_mas[index] +"/tiles/",
        {
           buffer: 2,
            serviceVersion: '.', layername: '.',
                                                type: 'png', getURL: overlay_getTileURL, alpha: true, 
            mapBounds: new OpenLayers.Bounds( 21.9000, 58.9500, 30.5000, 60.7500).transform("EPSG:4326", "EPSG:900913"),
            mapMinZoom: 3,
            mapMaxZoom: 9,
            displayOutsideMaxExtent: true,
            attribution: '',
            isBaseLayer: false}
        )

    mt.addLayers([tmsoverlay]);
Вот строка mt.addLayers([tmsoverlay]); не работает (на ней прерывается скрипт). Также не работает mt.addLayer(tmsoverlay); , хотя с OpenLayers.Map отлично работает. Можете подсказать мне с этим?