Страница 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 отлично работает. Можете подсказать мне с этим?