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

Помогите разобраться

Добавлено: 02 апр 2011, 22:50
Sculptor
Доброго времени суток! Я новичок.

Помогите разобраться в Веб-картографией, что с чем едят, с чем нужно разобраться :(

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

Нашел в сети проект http://www.tomsk.ru09.ru/map
Не пойму какие технологии на нем используются:
1) От куда взять мне такую карту? Неужели всё рисовать самому?
2) С помощью каких програмных средств рисуются карты, слои для них.
3) Что за рендеринг тут используется.
4) О чем следует почитать, чтобы делать подобные вещи?

На самом сайте присутствует код (возможно он подскажет):

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

<script type="text/javascript">
function Init(){
	if(window.Map !=undefined && window.SearchHelper!=undefined && window.control==undefined){
		var map = new Map({divid: 'map'});
		map.search_helper = new SearchHelper('ss');

		map.hSplitter = new Splitter('map_hsplit','table_right','table_left', {splitterType: 'h', area1MinSize: 300, area2MinSize: 300, wysiwyg:true});
		map.hSplitter.addEvent('resize', function(args){
		   map.matrix.InitOffset();
		   
		   map.streetViewer.SetPosition();
		});
		map.hSplitter.Init();
				
		map.vSplitter = new Splitter('map_vsplit','table_pano','table_info', {splitterType: 'v', area1MinSize: 100, area2MinSize: 100, wysiwyg:true});
		map.vSplitter.addEvent('resize', function(args){
			resize_info();
			map.streetViewer.SetPosition();
		});
		map.vSplitter.Init();
		
		window.addEvent("resize", resize_info);
		
		resize_info();
		
		if(map.matrix)map.matrix.InitOffset();
		
		map.CatSearch();
	}
}

/*ресайз информационного блока*/
function resize_info(){
	try{
		var table_info = $('table_info');
		var histtoolbar = $('histtoolbar');
		var size = table_info.getSize();
		var hist_size = histtoolbar.getSize();
		$('right').setStyle('height', size.y - hist_size.y - 3);
	}catch(e){}
}

window.addEvent("domready", function() {Init();});
</script>
Это не не OpenStreetMap? А что может быть? Очень нужен именно такой вывод как у них.

Трудно разобраться, с чего начать.

Помогите пожалуйта...

Re: Помогите разобраться

Добавлено: 03 апр 2011, 07:55
Denis Rykov
Добро пожаловать на форум!
Описанная вами задача является типовой и решается довольно просто, но если вы ничего подобного прежде не делали, рекомендую для начала ознакомиться с базовыми понятиями. Обязательно прочитайте этот материал, очень будет полезно с концептуальной точки зрения.

А теперь давайте по-порядку.
1) Во-первых, прежде всего вам нужны данные, которые необходимо отображать. Предположим, что вы не используете сторонние сервисы (GM, OSM), а визуализируете свои данные. Да, если никаких данных у вас нет - их нужно создать, но советую перед этим посмотреть наши ежедневные OSM выгрузки в шейп файлы: http://gis-lab.info/data/osm/novosib/ - каждый архив содержит определенный слой, описание здесь. Открыть можно в ГИС QGIS, описание установки тут.
2) Во-вторых вам нужно определиться с форматом передачи данных клиенту. Если система работает локально, то можно обойтись файлами, если нет - то потребуется создание web-сервиса - WFS или WMS в зависимости от объема данных. В этом случае потребуется поднять картографический сервер.
3) В-третьих нужен клиент для отображения данных и выполнения базовых операций - сдвиг, включение/выключение слоев, изменение масштаба и т.п. Рекомендую OpenLayers. В простейшем случае это будет выглядеть так. Если хочется что-то более красивое - тоже можно, например с помощью GeoExt.

Надеюсь вы не испугались :) Материалов на сайте достаточно для выполнения поставленной задачи. Если будут вопросы - поищите на форуме, если не найдёте ответ - спрашивайте - поможем, только помните: один вопрос - одна тема.

Re: Помогите разобраться

Добавлено: 03 апр 2011, 16:55
Sculptor
Спасибо за быстрый ответ!

Первым делом прочитаю информацию, что вы тут указали. Потом на форуме поищу. Ознакомлюсь с технологиями, чтобы меньше лишних вопросов задавать :)

А всё-таки, какие технологии использует сайт http://www.tomsk.ru09.ru/map? Уж сильно мне у них вывод понравился) Или на первый взгляд на этот вопрос не ответить?

Re: Помогите разобраться

Добавлено: 03 апр 2011, 19:34
Denis Rykov
У Томска похоже что-то самописное, но я могу ошибаться.

Re: Помогите разобраться

Добавлено: 03 апр 2011, 23:06
Mavka
Мне тоже кажется что это их собственное произведение.