- Кастомне картографічне програмне забезпечення: Основи
- Основні особливості нашого кастомного картографічного програмного проєкту
- Висновок
Сучасне життя важко уявити без подорожей. Тому інструменти для пошуку напрямків, прокладання маршрутів та планування поїздок стають все більш затребуваними. У цій статті я поділюся думками з нашого досвіду розробки власних картографічних рішень, зосереджуючись на веб-продукті, призначеному для мандрівників. Ми також розглянемо різні підходи до створення кастомного програмного забезпечення для картографування, адаптованого до різних категорій користувачів.
Кастомне картографічне програмне забезпечення: Основи

Геопросторові дані є важливим компонентом у різних аспектах нашого сучасного повсякденного життя, а одним із найзручніших способів представлення таких даних є карти. Подумайте про те, як офлайн-карти, що завантажуються на пристрій, значно спростили користувацький досвід; або про розвиток веб-карт, зокрема анімованих і карт у реальному часі, та їхній трансформаційний вплив.
У SECL Group наша команда розробила складний картографічний вебсайт, спеціально створений для туристів. Проєкт продемонстрував значне зростання. За перший рік вебсайт залучив понад 100 000 відвідувачів щомісяця, і його популярність продовжує зростати. Наш досвід повного циклу створення картографічних програмних рішень дозволив нам глибоко зануритися в цю спеціалізовану галузь. Я радий поділитися отриманими знаннями та уроками.
Веб-картографічне програмне забезпечення базується на картах, створених за допомогою геоінформаційних систем (GIS). GIS-технології відіграють ключову роль у зберіганні, управлінні, аналізі, редагуванні, виведенні та візуалізації геопросторових даних. Під час розробки картографічних рішень ми зіткнулися з двома основними викликами:
- По-перше, багато доступних географічних даних є незручними для користувачів. Наприклад, використання широти та довготи може бути прийнятним для туристів у диких місцевостях або скаутів, але більшість мандрівників надає перевагу звичайним адресам вулиць. Наше рішення полягало в тому, щоб переформатувати геопросторові дані у зрозумілий і зручний для використання формат, заощадивши час і зусилля наших користувачів.
- По-друге, включення атрибутивних (семантичних) даних є ключовим для покращення карт з детальною інформацією про місцевість, пристосованою до різноманітних потреб користувачів. Наприклад, туристам корисні шари, що показують місцеві визначні пам’ятки, заклади харчування або спортивні майданчики. Підтримка актуальності цих карт є вирішальною для їхньої ефективності. Розробники накладають ці спеціалізовані дані на базову GIS-карту, яка містить основну топографічну інформацію. Важливо передбачити необхідність використання багатьох, іноді десятків, таких шарів даних — як ми переконалися на власному досвіді в нашому проєкті — щоб забезпечити динамічне та комплексне картографічне рішення.
Перед розробкою кастомних картографічних рішень важливо визначити, який спосіб подання даних буде найбільш зручним для користувачів, і яка додаткова інформація їм знадобиться. Це розуміння допомагає створити цінне картографічне програмне забезпечення, яке виділяється на ринку.
Кастомні картографічні рішення часто починаються з карт від відомих постачальників, на які розробники накладають дані, специфічні для їхнього проєкту. Давайте розглянемо основні інтерактивні картографічні сервіси, які можна використовувати при створенні вашого програмного забезпечення.
Google Maps
Карти Google, запущені у 2005 році, стали провідною картографічною онлайн-системою, відомою своїм глобальним покриттям і надзвичайною точністю, особливо в міських ландшафтах. Вона швидко стала стандартом у галузі, пропонуючи комплексний доступ до карт світу та супутникових знімків.
Як і будь-який популярний сервіс, Google Maps має свої переваги та недоліки для розробки кастомних картографічних рішень. Розробники цінують високу точність даних Google Maps, але стикаються зі значними витратами на використання сервісу. У нашому кейсі ми розглядаємо стратегії оптимізації витрат і альтернативні підходи до роботи з картографічними сервісами.
Набір сервісів Google Maps включає, серед іншого, Google Планета Земля для зображення поверхні, Google Aerial View для аерофотозйомки, Indoor Google Maps для геопросторових даних важливих будівель, Get Directions для планування маршрутів, Google Transit для інформації про громадський транспорт та Google Street View для панорамних зображень вулиць. Також інтегровано каталог Google Мій бізнес (GMB). Постійні оновлення, що проводяться командою Google та партнерами, забезпечують постійну актуальність даних.
Для інтеграції цих сервісів у картографічні рішення доступно кілька API, кожен з яких вимагає реєстрації та отримання ключа API:
- JavaScript API – для додавання карт на веб-сайт;
- Geocoding API – доступ до геокодингу статичних адрес через HTTP-запит, що дозволяє розміщувати контент на карті;
- Directions API – необхідний для побудови маршрутів, розрахунку часу подорожі та відстаней;
- Places API Web Service – надає доступ до додаткової інформації про об’єкти.
Google Maps Platform спеціально розроблена для створення кастомного картографічного програмного забезпечення, об’єднуючи свої численні API та SDK у три основні категорії: Maps, Routes і Places. Однак більшість функцій є платними, а безкоштовні можливості мають обмеження.
Звучить чудово, чи не так? Але варто також подумати, чому покладатися лише на одного постачальника хмарних карт, навіть такого всеосяжного, як Google Maps, насправді не є ідеальним варіантом:
- Актуальність даних: Сучасні міста змінюються дуже швидко, і оновлення в Google Maps можуть відставати. Іноді необхідно використовувати альтернативні джерела для отримання найсвіжіших даних.
- Регіональна варіативність: Деталізація та рівень наближення карт у Google Maps різняться залежно від регіону, з фокусом на великі міста. Для деяких територій може знадобитися додаткове джерело даних.
- Обмежена персоналізація: Функції на кшталт “Для вас” або “Ваш збіг” пропонують загальні рекомендації. Проте глибша персоналізація (наприклад, аналіз історії пошуку) не завжди можлива або доцільна.
Тому розробники індивідуальних картографічних рішень часто використовують Google Maps як основу, а потім доповнюють її шарами інших картографічних даних або спеціальною інформацією. Такий підхід може зменшити фінансові витрати, оскільки використання більшої кількості власних або безкоштовних даних зменшує залежність від платних послуг Google.
Тепер давайте розглянемо деякі альтернативні базові картографічні сервіси.
OpenStreetMap
Розмова про картографічні сервіси була б неповною без згадки про OpenStreetMap, міжнародну ініціативу, присвячену створенню вільно доступної карти світу. Цей проєкт працює за моделлю співпраці, схожою на Вікіпедію. Волонтери з усього світу вносять дані про місцевості та інфраструктуру, отримані з особистих досліджень або відкритих джерел. Геопросторові дані в OpenStreetMap структуровані навколо основних елементів, таких як вузли (Nodes), шляхи (Ways), відношення (Relations) та мітки (Tags) – останні надають додаткові деталі про основні елементи. Як некомерційне підприємство, воно покладається на пожертви, але пропонує свої дані для безкоштовного використання, з єдиною вимогою – зазначенням джерела.
Інтеграція OpenStreetMap у веб-ресурси є простою. Карти можна вбудовувати безпосередньо у вебсайти або веб-додатки без API, використовуючи бібліотеку веб-карт і відповідний скрипт. Однак для більш складних інтеграцій також доступні API, такі як Overpass API (раніше OSM Server Side Scripting або OSM3S).
Для картографічних вебсайтів використання географічних даних OpenStreetMap є відмінним вибором завдяки безкоштовному доступу. Враховуючи високі витрати, пов’язані з картографічними сервісами Google, має сенс почати з детальної базової карти, такої як Google Maps, і доповнити її власною кастомною базою даних інформації про об’єкти. Крім того, інтеграція безкоштовних геоданих з OpenStreetMap для відображення на платформі на основі Google Maps може значно знизити витрати в порівнянні з використанням лише Google Maps. Цей гібридний підхід є причиною того, чому ми включили OpenStreetMap у наше картографічне рішення, досягнувши економічної ефективності без шкоди для насиченості та точності даних.
Azure Maps
Azure Maps — це хмарний набір геопросторових картографічних сервісів від Microsoft. API та SDK для картографії дозволяють створювати та експлуатувати кастомне картографічне програмне забезпечення на платформі Microsoft Cloud. Azure Maps має розширену функціональність, включаючи трекінг активів, маршрутизацію транспортних засобів, геолокацію та багато іншого. Сервіс обробляє кілька тисяч запитів користувачів до API на місяць безкоштовно, але використання API понад цю межу підлягає оплаті. Ми використовуємо дані Azure Maps для нашого продукту. Це особливо корисно для нашого вебсайту, оскільки ми отримуємо дані про межі міст через API.
Bing maps
Bing Maps — це картографічний сервіс від Microsoft, який був запущений у той же рік, що й Google Maps, але неодноразово змінював назву. Цей веб-продукт Microsoft має функціональні подібності з Google Maps. Зокрема, існує Bing Maps Preview, подібний до Google Earth, оскільки він має 3D-карти великих міст з високоякісними фотографіями.
Для розробників кастомних картографічних рішень доступна платформа Bing Maps з набором API, причому інструментарій цієї платформи призначений не лише для Bing Maps, а й для Azure Maps.
Багато типів проєктів можуть почати використовувати Bing Maps API з безкоштовним базовим ключем. У випадках, коли кількість сумарних платних транзакцій перевищує обмеження базового ключа, їм доведеться придбати корпоративний ключ.
Apple Maps
Apple Inc. також має власний вебкартографічний сервіс. Apple Maps є системою карт за замовчуванням на пристроях iOS, iPadOS, macOS і watchOS, а також доступною через Інтернет. Пристрої, що не належать до Apple, також можуть отримати доступ до Apple Maps, наприклад, здійснивши пошук, пов’язаний з картами, у пошуковій системі DuckDuckGo. Сервіс містить чотири шари: звичайна карта, супутниковий вид, гібридний вид (комбінація перших двох видів) та вид громадського транспорту. Apple Maps надає API затвердженим партнерам, які створюють картографічне програмне забезпечення для бізнесу. Розробники використовують MapKit JS для вбудовування інтерактивних карт безпосередньо на вебсайти на різних платформах та операційних системах, включаючи iOS та Android. Кожен учасник програми Apple Developer Program отримує певну кількість безкоштовних послуг, до 250 000 переглядів карт та 25 000 викликів сервісів на день. Послуги понад цей ліміт підлягають оплаті.
Amazon Maps
Технологічний гігант Amazon також вийшов на ринок просторових даних. Їхні послуги пропонують функціонал, подібний до тих, які ми обговорювали раніше. Amazon Location Service Map надає доступ до базових картографічних даних, які легко інтегруються з бібліотеками рендерингу карт. Ця інтеграція дозволяє додавати інтерактивні карти до додатків. Amazon Location Services розширює свої можливості SDK та API для різних функцій, таких як Карти, Місця, Маршрути, Трекери та Геозони.
Особливістю цінової політики AWS Cloud Map є принцип оплати за фактичне використання. Це означає, що ви платите лише за ті ресурси та виклики API, які дійсно використали. Для нових користувачів Amazon пропонує безкоштовний рівень Location Service на перші три місяці. Цей рівень дозволяє безкоштовно користуватися певними сервісами, але з обмеженнями. Після закінчення цього періоду починає діяти платний рівень Amazon Location Service. Вартість послуг на цьому рівні розраховується на основі кількості завантажених фрагментів карт, геокодованих місць, розрахованих маршрутів та інших аналогічних показників.
Here WeGo
Історія Here WeGo демонструє еволюцію картографічної системи, спочатку розробленої в Nokia як Nokia Maps, у повністю незалежний проєкт із власним унікальним брендом. Сьогодні Here WeGo пропонує веб-картографію та програмне забезпечення для супутникової навігації, доступне як через веб, так і через мобільні платформи. Функції системи включають покрокову навігацію, а також інформацію про маршрути громадського транспорту, пішоходів та велосипедистів. Вона надає оновлення трафіку в реальному часі та пропонує доступ до офлайн-карт. Для розробників, які працюють над кастомним картографічними рішеннями, Here WeGo пропонує HERE Map API, який включає підтримку геолокації та функціонал пошуку точок інтересу (POI). Плата за використання базується на кількості транзакцій та вибраних функціях, з доступними як безкоштовними, так і платними планами.
MapQuest
MapQuest – одна з найстаріших безкоштовних веб-картографічних служб, заснована у 1996 році. Першочергово орієнтований на Північну Америку, MapQuest зберігає значну присутність на цьому ринку. Він пропонує повний набір API для різних програмних картографічних рішень, включаючи Менеджер даних, Напрямки, Геокодування, Пошук, Трафік і Статичну карту. Крім того, MapQuest надає MapQuest.js, бібліотеку JavaScript для інтерактивних карт, геокодування та надання інформації про маршрути і дорожній рух.
NASA WorldWind
Національне управління з аеронавтики та дослідження космосу США (NASA), завдяки своїм унікальним можливостям спостереження за поверхнею Землі з космосу, також робить значний внесок у картографічні рішення. NASA WorldWind — це віртуальний глобус, який є безкоштовним і з відкритим кодом. API WorldWind дозволяє розробникам кастомних рішень у сфері картографії створювати інтерактивні візуалізації географічної інформації. Власники вебсайтів можуть легко впроваджувати функції прогнозу погоди, візуалізації рельєфу, відстеження трафіку, аналізу геопросторових даних тощо за допомогою NASA WorldWind.
Wikimapia
Wikimapia також є безкоштовною. Цей Вікі-проєкт поєднує можливості картографічних рішень з Вікі-технологіями. Користувачі багатьма мовами заповнюють та редагують ресурс під наглядом адміністрації вебсайту. Будь-хто зацікавлений може додавати власні довідкові статті та змінювати існуючі. Маючи десятки мільйонів об’єктів, потужна функція пошуку Wikimapia дозволяє користувачам легко орієнтуватися по різних категоріях об’єктів. Крім того, Wikimapia пропонує API, що дозволяє вебсайтам та веб-додаткам отримувати доступ до її великої бази даних карт.
Я познайомив вас із основними джерелами геопросторових даних для кастомного картографічного програмного забезпечення. Тепер постає питання: як орієнтуватися у цьому різноманітті? Які джерела найкраще підходять для ваших картографічних потреб? Читайте далі, щоб дізнатися більше.
Основні особливості нашого кастомного картографічного програмного проєкту
Ключовим аспектом проєкту, який ми обговорюємо, був наш підхід до інтеграції карт. Замість того, щоб просто вбудовувати сторонні карти на наш веб-сайт, ми розробили власне картографічне рішення. Наш продукт базується на геопросторових даних, отриманих з кількох джерел, що забезпечує унікальний та комплексний досвід картографії.
Картографічні програмні рішення: правильний вибір джерел даних

Розглядаючи різноманітні варіанти використання геопросторових даних, виникає спокуса вибрати для інтеграції на сайті один картографічний або геопросторовий сервіс або створити на його основі цілий веб-сайт. Попри простоту, цей метод має суттєві обмеження. Своєчасне усвідомлення цих обмежень стало ключем до успіху нашого проєкту.
Готуючись до запуску нашого картографічного рішення, орієнтованого на мандрівників, ми розпочали всебічну дискавері-фазу. Цей важливий крок допоміг нам визначити, які існуючі геопросторові бази даних використовувати, від яких провайдерів отримувати дані та як ефективно їх обробляти. Отримані знання не лише запобігли непотрібним витратам, але й створили основу для конкурентоспроможності нашого картографічного веб-рішення на ринку. Наш підхід полягав в об’єднанні даних з декількох геопросторових баз даних та інтеграції додаткової інформації, отриманої з різних веб-ресурсів.
Ця стратегія ґрунтується на трьох основних принципах, які складають основу нашого проекту з розробки кастомного картографічного програмного забезпечення.
1. Якість просторових даних вища, якщо отримувати їх із кількох джерел. Хоча розглянуті нами геопросторові бази даних і сервіси є технологічно розвиненими, важливо розуміти, що вони не завжди однаково та бездоганно відображають певні території та об’єкти. Наприклад, роздільна здатність зображень для однієї й тієї ж місцевості може суттєво відрізнятися залежно від джерела.
Крім того, кожна картографічна база даних має свої унікальні особливості та сильні сторони. Наприклад, варто звернути увагу на актуальність даних. У великих міських районах зміни ландшафтів і об’єктів відбуваються швидко, тому всі провідні сервіси прагнуть підтримувати оновлені дані. Однак швидкість цих оновлень може відрізнятися: деякі провайдери можуть нещодавно оновити інформацію у вашому регіоні, тоді як інші — відставати. Тому корисно порівнювати дані з різних джерел.
Підходи до розробки різних постачальників також різняться, що зумовлює унікальні переваги їхніх функцій. Наприклад, точність перетворення координат на зручні для користувача адреси відрізняється на різних платформах. MapQuest виділяється тим, що надає не лише адреси будівель, але й конкретні місця входів, що особливо корисно у великих будівельних комплексах. Інший приклад – Google Maps, який точно визначає межі міст. На жаль, ці дані недоступні через API. Серед інших згаданих постачальників, Azure Maps найбільш точно відображає межі міст і надає цю інформацію через API. Ми використовуємо це на нашому вебсайті.
Вибір джерел геопросторових даних для кастомного картографічного рішення повинен відповідати цілям та вимогам вашого проєкту. Для нашого проєкту ми обрали Google Maps як основу, оскільки розробляли туристичну карту, що охоплює всі країни. Велика геобаза даних Google Maps, що охоплює всі країни та міста, задовольнила наші потреби. Крім того, ми прагнули з самого початку створити власну базу даних місць та об’єктів. Отже, Google Maps служить лише основою, до якої ми додаємо наші унікальні дані. Ми також інтегруємо дані з інших сервісів, коли це покращує наш продукт, подібно до того, як ми використовували дані про межі міст з Azure Maps.
Наш досвід у розробці картографічного програмного забезпечення показує, що більшість проєктів виграє від отримання даних із кількох провайдерів, що й демонструє наш підхід.
2. Ви економите гроші, використовуючи геопросторові дані з різних джерел. Більшість постачальників, про яких я згадував, спочатку пропонували свої послуги безкоштовно, але це стає все рідше. Повна залежність від одного, хоч і потужного, постачальника підвищує фінансові ризики для вашого вебсайту. Використання API несе значні витрати. Хоча постачальники можуть пропонувати обмежений спектр безкоштовних послуг, зазвичай вони стягують плату за більш запитувані дії, такі як маршрутизація, актуальне геопозиціювання та інформація про об’єкти. Вартість переважно залежить від кількості запитів та різноманітності даних. Наприклад, отримання даних про геолокацію в реальному часі, таких як відстеження транспортних засобів, є витратним. Якщо ваше кастомне картографічне рішення привабить десятки тисяч користувачів, витрати будуть значними. Якщо ж кількість користувачів сягає мільйонів, фінансові витрати можуть стати непідйомними.
Щоб пом’якшити цю проблему, ми прийняли стратегію інтеграції різних карт і збору інформації, в тому числі безкоштовних даних, з різних джерел. Однак важливо зазначити, що для успішного поєднання даних з різних інтерактивних карт і геопросторових баз даних в економічно ефективний і функціональний спосіб, як це зробили ми, потрібна досвідчена команда розробників.
Наш підхід до проєкту картографічних рішень є більш універсальним. Ми використовуємо деякі безкоштовні джерела даних, такі як OpenStreetMap. Як вже згадувалося, комерційні постачальники часто пропонують підписки, включаючи безкоштовні, але обмежені варіанти. Також важливо розуміти цінові моделі різних сервісів.
Наша стратегія ґрунтується на принципах юніт-економіки та глибокому розумінні нашої аудиторії користувачів. Обчислюючи середні граничні витрати третіх сторін на одного користувача на місяць, ми досягаємо балансу між безкоштовними та платними послугами, підтримуючи бюджетний контроль. Ми рекомендуємо цю модель усім засновникам проєктів, які прагнуть розробити кастомне картографічне програмне забезпечення.
3. Ваша власна база даних об’єктів та геозон є додатковою цінністю, яку ви можете запропонувати користувачам. По-перше, вона дозволяє уточнювати та накопичувати власні просторові дані. По-друге, вона надає доступ до великої кількості додаткової інформації про об’єкти, що цікавлять користувачів, яку можна ефективно організувати та накладати на карти відповідно до груп користувачів.
Мандрівники, наприклад, шукають інформацію про транспорт, покупки, розваги, погоду, видатні місця, сервісні заклади разом з їх цінами, культурні та бізнес-заходи та багато іншого. Хоча неможливо детально описати все в статті, наше кастомне картографічне рішення має близько 50 шарів додаткових даних для користувачів. Важливо підтримувати та оновлювати таку кастомну базу даних, і ми ставимося до неї як до безцінного активу нашого вебпроєкту.
Проаналізувавши все вищезазначене, ми обрали OpenStreetMap, Google Maps та Azure Maps як наші основні джерела геопросторових даних для нашого кастомного картографічного рішення. Для наповнення наших геоданих ми створили парсери, використовуючи API цих сервісів.
Технологічний стек проєкту зі створення картографічного рішення
При розробці нашого картографічного програмного забезпечення ми використовували Vue/JavaScript для фронтенду та Django/Python для бекенду. Окрім цих стандартних мов та фреймворків веб-розробки, створення кастомного картографічного рішення вимагає спеціалізованого набору інструментів для впровадження карт і управління інформацією про просторові об’єкти.
У GIS ми широко використовуємо полігони — тип геометрії — для відображення додаткових довідкових даних на картах, таких як поштові адреси та об’єкти інтересу. Картографування полігонів не лише рендерить полігони та їх атрибути на картах, але також дозволяє здійснювати комплексне алфавітно-цифрове маркування. Це включає детальні аспекти, такі як затінення, розміщення символіки та числова ідентифікація.
Використання полігонів також підвищує точність зворотного геокодування, яке перетворює географічні координати у зрозумілі для людини адреси або назви місць. Це дозволяє нам додавати більш детальну інформацію про об’єкти та населені пункти.
Ми використовуємо Simple Polygon, функцію Maps JavaScript API, для побудови полігонів на карті. Метод getBBox() застосовується для визначення координат полігонів.
Наші фахівці налаштували парсинг з вищевказаних джерел геоданих за допомогою асинхронної черги завдань Celery. Завдяки цьому програмному забезпеченню парсинг виконується у фоновому режимі. Для обробки геоданих ми використовуємо модуль GeoDjango та Python-пакет Shapely.
Для пошуку об’єктів у нашому кастомному картографічному рішенні ми поєднуємо можливості Google Maps і Azure Maps для пошуку за назвою з кастомно розробленою логікою формування запитів та перевірки коректності відповідей. Наші інженери використовують пошукову систему Elasticsearch, щоб забезпечити функцію фільтрації для пошуку геоданих.
Звісно, ми також застосували технології, які забезпечують адаптивність і зручність нашого картографічного рішення для мобільних пристроїв. Що ж до архітектури картографічного програмного продукту, ми почали з монолітної структури, а згодом перейшли на мікросервіси. Ми зробили цей крок, щоб покращити масштабованість у зв’язку зі зростаючою популярністю вебсайту.
З розвитком проєкту ми перейшли від використання нашого апаратного сервера до хмарного хостингу, перемістивши веб-продукт до AWS.
Зрештою, ми дотрималися рекомендацій, які я завжди даю нашим клієнтам:
- З одного боку, технології обираються на основі цілей та специфіки проєкту.
- По-друге, важливо бути готовими до масштабованості та зростання трафіку вебсайту, особливо коли — як ми з радістю виявили на нашому проєкті — ваша маркетингова стратегія резонує з вашою цільовою аудиторією та добре сприймається.
Створення кастомного картографічного програмного забезпечення є високоспеціалізованим завданням. Щоб відповідати термінам розробки та бюджетним обмеженням, вам потрібна команда, яка має досвід і здатна працювати в цій сфері. Зокрема, розробники повинні знати API картографічних сервісів, які вони використовують, як свої п’ять пальців, щоб зекономити кошти клієнта, адже вартість використання API є однією з ключових проблем у таких проєктах.
Функціонал веб-картографічних рішень:

Функціонал кастомних картографічних рішень може відрізнятися один від одного; ступінь цих відмінностей залежить від цільової аудиторії користувачів. Наприклад, ми створили наш вебсайт для туристів, але якщо ви хочете розробити кастомне картографічне програмне забезпечення для бізнесу, ви зосередитеся на інших функціях.
Тому давайте розглянемо приблизний функціонал, який підійде для більшості кастомних картографічних рішень, а після списку я додам коментарі щодо особливостей нашого продукту. Функціонал веб-картографічних рішень може включати в себе наступне:
1. Налаштування карти
- Налаштування базової карти: Існує безліч стилів базової карти, включаючи супутникові знімки топографічні карти та інше.
- Налаштування маркерів: Спеціальні маркери на карті можуть включати власні значки, кольори, мітки тощо.
- Налаштування стилю карти: Загальний вигляд карти, включаючи кольори, шрифти та інші візуальні елементи.
2. Візуалізація даних
- Теплові карти (Heatmaps): Теплова карта допомагає візуалізувати концентрацію точок даних на карті.
- Хороплетні карти (Choropleth maps): Цей спосіб візуалізації допомагає відобразити розподіл даних по різних місцевостях. Виділення певних територій кольором або затіненням показує їхні властиві закономірності та характеристики, наприклад, висоту будівель, щільність населення, доступність зв’язку тощо. Таким чином, можна показати значення будь-якого параметра певної області.
- Бульбашкові карти (Bubble maps): Візуалізація точок даних на карті за допомогою бульбашок різних розмірів.
- Лінійні графіки (Line charts): Лінії, які показують зміну точок даних з часом.
- Стовпчасті діаграми (Bar charts): Ці діаграми призначені для порівняння різних точок даних.
3. Взаємодія з користувачем
- Масштабування та панорамування: Можливість для користувачів збільшувати та зменшувати масштаб карти, а також панорамувати, щоб переглядати різні області.
- Пошук: можливість для користувачів шукати конкретні місця або точки інтересу (POI) на карті, що може стати ключовою функцією кастомних картографічних рішень.
- Фільтрація: Функція фільтрації даних за різними критеріями.
- Підказки (Tooltips): Підказки з додатковою інформацією про точки даних з’являються на карті, коли користувачі наводять на них курсор.
- Випливаючі вікна (Popups): Вікна з більш детальною інформацією про точки інтересу з’являються на карті, коли користувачі натискають на них.
- Маршрути та напрямки: Користувачі можуть прокладати маршрути до різних місць на карті, а також отримувати покрокові інструкції та навігаційні інструменти.
- Інструменти вимірювання: Набір інструментів для вимірювання відстаней та площ на карті.
- Локалізація: переклад карти та додаткових даних на різні мови.
4. Співпраця
- Спільний доступ: Можливість для користувачів ділитися своїми картами з іншими через посилання або код для вставки.
- Спільна робота: Декілька користувачів можуть разом працювати над однією картою за допомогою цієї функції.
- Коментарі: Можливість для користувачів залишати коментарі до різних частин карти.
5. Інтеграція даних
- Імпорт та експорт даних: Ця функція дозволяє користувачам імпортувати та експортувати дані з карти в різні формати.
- Інтеграція API: Це потенційно перспективна функція для кастомного картографічного програмного забезпечення для бізнесу, яка допомагає інтегрувати ваш вебсайт з іншими вебсайтами та додатками через API.
6. Інші функції:
- Індивідуальне брендування: Мається на увазі брендування карти, включаючи, наприклад, логотип та кольори вашої компанії.
- Інтеграція з соціальними мережами: Обмін користувачами своїми картами в соціальних мережах
- Перегляд вулиць: Перегляд локацій на рівні вулиць.
- 3D-карти: Відображення 3D-карт і моделей.
- Карти приміщень: Мапи внутрішніх приміщень, таких як будівлі та торгові центри.
7. Преміум-функції:
- Платні акаунти: Користувачі з такими акаунтами отримують доступ до додаткової інформації на карті, яка недоступна звичайним відвідувачам сайту карти.
- Оновлення даних у реальному часі: Карти оновлюються з даними в реальному часі з різних джерел.
- Геопросторова аналітика: Проведення геопросторового аналізу даних карти.
- Офлайн-підтримка: Доступ до карти в офлайн-режимі.
- Кастомні інтеграції: Інтеграція карти з конкретними сторонніми системами та додатками на вибір користувача.
Я доповню загальну картину загальної функціональності кастомних картографічних рішень кількома конкретними деталями про наш вебсайт.
Для позначення точок на карті ми додали маркери, звичайні та розширені. Для цього наші розробники використали функціонал google.maps.marker з Google Maps API. Для кожного маркера доступне налаштування користувацьких значків та відкриття інформаційних вікон при наведенні курсора. Наші інженери реалізували цю функцію за допомогою google.maps.InfoWindow. Також вони розробили додатковий інтерактивний функціонал для цього елементу на Vue.js.
Дані геолокації, отримані з бази даних, можуть бути відображені в будь-якій формі з можливістю додавання стилізації: колір заливки, межі, прозорість, ефекти наведення, спливаючі вікна та інше. Ми реалізували цю функцію за допомогою google.maps.data.
На карті також відображаються геометричні фігури користувача, додані за допомогою інструментів «Кола», «Ламана», «Прямокутник», «Багатокутник» та інших. На карті нашого кастомного картографічного рішення реалізована навігація користувача, так що відвідувач веб-сайту може, наприклад, автоматично перемістити область перегляду до свого поточного місцезнаходження або до будь-якого об’єкта, який він намагається знайти на карті.
Ми відстежуємо взаємодію користувачів з картою. Наприклад, з метою оптимізації при зміні області перегляду та масштабування карти автоматично пропонуються додаткові маркери, навіть якщо користувач не встановив їх заздалегідь.
Стилізація намальованих полігонів (колір, насиченість, розміри тощо) може змінюватися залежно від масштабу карти. Так само, коли користувач змінює масштаб, відбувається об’єднання маркерів, що відображаються на карті.
Особливістю нашого картографічного програмного забезпечення є розширені можливості пошуку. Він включає детальну фільтрацію, допомагає користувачам з їхніми запитами та гарантує, що результати будуть релевантними та перевіреними.
Наша унікальна база даних, ретельно зібрана з високоякісних даних, є ключовим компонентом нашого проєкту. Вона пропонує близько 50 шарів інформації для пошуку, яка збагачується завдяки безперервній перевірці. Наше прагнення надати повний спектр інформації підкріплюється широким використанням модульних тестів. Ці тести швидко виявляють і виправляють прогалини в даних, що надходять з різних каналів.
Щоб підвищити релевантність даних, ми регулярно аналізуємо нашу базу користувачів, яка охоплює 200 країн. Завдяки цьому дослідженню ми визначили 150 різних груп інтересів серед наших відвідувачів. Ця інформація допомагає нам створювати цільовий, цінний контент і функціональні можливості.
Наприклад, наше картографічне рішення пропонує інформацію про події в режимі реального часу, що дозволяє користувачам планувати подорожі з урахуванням конкретних подій та заходів. Крім того, користувачі можуть порівнювати місця відпочинку на основі персоналізованих критеріїв, а результати порівняння візуально відображати на карті.
Ще одна функція, орієнтована на користувача, — це можливість створювати детальні маршрути подорожей. Користувачі можуть обирати з різних транспортних варіантів, розклади яких інтегровані в нашу платформу. Це лише один з багатьох прикладів, які демонструють нашу увагу до покращення користувацького досвіду.
Пам’ятайте, що базовий функціонал завжди можна розширити додатковими можливостями, залежно від вимог проєкту та очікувань цільових користувачів.
Управління проєктом розробки кастомного картографічного програмного забезпечення
Скільки спеціалістів знадобилося нам для створення кастомного картографічного рішення? Ось склад нашої проєктної команди:
- Один керівник проєкту (PM)
- Один бізнес-аналітик
- Один UI/UX дизайнер
- Два бекенд-розробники
- Два фронтенд-розробники
- Один інженер з ручного контролю якості
- Один інженер з автоматизованого контролю якості
Від початку проєкт досягнув успіху, особливо в моделі монетизації. Поєднання платних користувацьких акаунтів, реклами та розміщення посилань у партнерських програмах дозволило отримувати кошти для подальшого розвитку проєкту.
Лише через рік після запуску наш вебсайт з кастомним картографічним рішенням досяг приблизно 100 000 користувачів на місяць, і це число продовжує зростати. Ця віха не лише відображає популярність платформи, але й підкреслює її корисність та цінність для подорожуючих.
Висновок
Тепер ви знаєте, як ми розробили наше кастомне картографічне програмне забезпечення, враховуючи унікальні аспекти та спеціалізовані інструменти цієї сфери. Наша компанія входить до числа провідних команд розробників, які мають необхідний досвід і експертизу у використанні спеціалізованих інструментів для створення індивідуальних картографічних рішень.
Наш досвід у цій сфері дозволяє нам суттєво вплинути на успіх вашого проєкту. Якщо у вас є ідея для веб-картографічного рішення, звертайтеся до нас — ми допоможемо вам у його реалізації, заощадивши ваш час і кошти.