leaflet или openlayers как движок карты для любого растра?
Добавлено: 11 мар 2014, 17:17
Добрый день, Уважаемые!
Можно ли с помощью библиотек leaflet или openlayers реализовать поставленную ниже задачу? Или нужно что-то другое
Задача: сделать интерактивную карту объекта с возможностью масштабирования и адресацией на элементы объекта Карта должна отображаться на html страницах.
Подробнее о результате на примере: Eсть растровая схема дома. В итоге должна получится карта:
- с возможностью приближения-удаления этой схемы дома,
- возможностью кликнуть(тапнуть) на любую комнату - pop up с информацией о комнате, ссылкой на другую страницу.
- с другой страницы перейти обратно к карте, к любой комнате.
Растровую схему нарезаем на тайлы размером 256px под несколько масштабов.
По начальной растровой схеме в программе josm делаем osm разметку:
- границы растровой карты заданы с помощью прямоугольника с неким тегом, например imageBounds=true
- каждая комната - объект с тегом idObj
- внутри объекта - точка в которой отображается маркер. Точка имеет тег idPoint
Можно ли с помощью библиотек leaflet или openlayers реализовать поставленную выше задачу? Как обращаться к объектам в osm и geojson?
Если это все реально - то согласен ли кто-нибудь проконсультировать (стоимость?) или реализовать подобное (цена?)
Собственные пробы:
1. При использовании Leaflet:
- подключаем тайлы
- подключаем geojson
и они не совпадают !!!
Тайлы подключаются, но выходит, что 0 масштаб - это весь мир. Но удается вызвать popup с идентификатором объектов, значит и ссылки можно будет вставить.
Если бы удалось совместить разные слои - то это было бы возможно лучшим вариантом.
2. При использовании openlayers:
- получилось совместить тайлы и osm
- если задавать значально var mapBounds = new OpenLayers.Bounds(37.713246, 55.91410447548679, 37.717452, 55.915370530099466);
- но не понятно как взять из osm разметки идентификаторы комнат и вообще как работать с данными в osm;
- хотелось бы не вручную задавать эти координаты, а получить их из osm или geojson файла (так как в разметке они существуют как вершины прямоугольника с неким тегом например "imageBounds")
результаты собственных проб можно посмотреть по ссылкам:
Leaflet_1
Leaflet_2
openlayers_with_osm_1 -
openlayers_with_osm_2 -
1 и 2 отличаются нарезками тайлов. Нарезка выполнялась в программе MapTiler. Там есть возможность задать координаты соответствия углов картины углам в мире.
Если необходимо все исходники можно найти на https://github.com/semasping/forQuestAboutHouseMap
Большое спасибо за возможную помощь и внимание.
Можно ли с помощью библиотек leaflet или openlayers реализовать поставленную ниже задачу? Или нужно что-то другое
Задача: сделать интерактивную карту объекта с возможностью масштабирования и адресацией на элементы объекта Карта должна отображаться на html страницах.
Подробнее о результате на примере: Eсть растровая схема дома. В итоге должна получится карта:
- с возможностью приближения-удаления этой схемы дома,
- возможностью кликнуть(тапнуть) на любую комнату - pop up с информацией о комнате, ссылкой на другую страницу.
- с другой страницы перейти обратно к карте, к любой комнате.
Растровую схему нарезаем на тайлы размером 256px под несколько масштабов.
По начальной растровой схеме в программе josm делаем osm разметку:
- границы растровой карты заданы с помощью прямоугольника с неким тегом, например imageBounds=true
- каждая комната - объект с тегом idObj
- внутри объекта - точка в которой отображается маркер. Точка имеет тег idPoint
Можно ли с помощью библиотек leaflet или openlayers реализовать поставленную выше задачу? Как обращаться к объектам в osm и geojson?
Если это все реально - то согласен ли кто-нибудь проконсультировать (стоимость?) или реализовать подобное (цена?)
Собственные пробы:
1. При использовании Leaflet:
- подключаем тайлы
- подключаем geojson
и они не совпадают !!!
Тайлы подключаются, но выходит, что 0 масштаб - это весь мир. Но удается вызвать popup с идентификатором объектов, значит и ссылки можно будет вставить.
Если бы удалось совместить разные слои - то это было бы возможно лучшим вариантом.
2. При использовании openlayers:
- получилось совместить тайлы и osm
- если задавать значально var mapBounds = new OpenLayers.Bounds(37.713246, 55.91410447548679, 37.717452, 55.915370530099466);
- но не понятно как взять из osm разметки идентификаторы комнат и вообще как работать с данными в osm;
- хотелось бы не вручную задавать эти координаты, а получить их из osm или geojson файла (так как в разметке они существуют как вершины прямоугольника с неким тегом например "imageBounds")
результаты собственных проб можно посмотреть по ссылкам:
Leaflet_1
Leaflet_2
openlayers_with_osm_1 -
openlayers_with_osm_2 -
1 и 2 отличаются нарезками тайлов. Нарезка выполнялась в программе MapTiler. Там есть возможность задать координаты соответствия углов картины углам в мире.
Если необходимо все исходники можно найти на https://github.com/semasping/forQuestAboutHouseMap
Большое спасибо за возможную помощь и внимание.