У цій замітці я хочу познайомити Вас з картографічному сервісом OpenStreetMap і прикладами його використання на сайтах.
![Знайомство з проектом openstreetmap - цікава веб-картографія (схеми доріг назви) Знайомство з проектом openstreetmap - цікава веб-картографія](https://images-on-off.com/images/147/znakomstvosproektomopenstreetmapzanimate-7a7076b0.jpg)
Це вільний проект по спільному розвитку загальнодоступних карт і схем міст, вулиць, доріг за допомогою ручного або автоматичного введення даних, а також отримання даних з портативних GPS-приймачів.
Над створенням карти працює спільнота користувачів з різних населених пунктів світу, кожен з яких додає невеликий шматочок інформації.
Дані створювані в рамках OpenStreetMap поширюються за ліцензією Creative Commons Attribution-ShareAlike 2.0. що має на увазі вільне поширення, результати будь-яких змін повинні публікуватися під тією ж ліцензією.
Як відбувається робота з даними:
Дані з OpenStreetMap можна вільно використовувати на своїх сайтах.
1. Використовуємо API Google Maps v3
![Знайомство з проектом openstreetmap - цікава веб-картографія (схеми доріг назви) Знайомство з проектом openstreetmap - цікава веб-картографія](https://images-on-off.com/images/147/znakomstvosproektomopenstreetmapzanimate-587734b6.jpg)
Поясню даний код.
На початку ми задаємо властивості карти і инициализируем її.
Після цього створюємо новий тип карти osm з набором властивостей openStreet.
Додаємо створений тип до нашої карті
map.mapTypes.set ( 'osm', openStreet);
map.setMapTypeId ( 'osm');
Крім цього додаємо наявні типи карт Google Maps:
- ROADMAP стандартна карта Google Maps в форматі 2D, схеми доріг та назви населених пунктів;
- SATELLITE карта, складена зі знімків з космосу;
- HYBRID відображає комбінацію перших двох типів карт - знімки з космосу і схеми доріг, назви міст;
- TERRAIN відображає на карті рельєф місцевості (ріки, гори).
2. Використовуємо OpenLayers
![Знайомство з проектом openstreetmap - цікава веб-картографія (схеми доріг назви) Знайомство з проектом openstreetmap - цікава веб-картографія](https://images-on-off.com/images/147/znakomstvosproektomopenstreetmapzanimate-7557b25a.jpg)
Визначаємо карту і контейнер для неї basicMap.
Підключаємо шар з картою OpenStreetMap:
var mapnik = new OpenLayers.Layer.OSM ();
map.addLayer (mapnik);
Задаємо центр карти і рівень масштабу.
OpenLayers має можливість перетворення картографічних проекцій.
В даному прикладі використовується в OpenStreetMap проекція WGS 1984 перетвориться в проекцію, яка використовується в Google Maps - Меркатора.
Більше дізнатися про роботу з OpenLayers можна тут:
Навігація по публікаціям