OsmAnd API, SDK - Приклади
Якщо ви хочете використовувати OsmAnd як бібліотеку для свого застосунку, ви можете розглянути можливість використання його через SDK або через API. Наразі ці опції доступні лише для Android.
Існує 2 основні способи повторного використання потужності OsmAnd у вашому застосунку:
- Android OsmAnd AIDL API
- Android OsmAnd Full Library SDK
Весь код для 2 прикладів доступний в одному репозиторії.
Приклади SDK
Ось список прикладів використання SDK у вашому продукті.
Проста мапа - як додати мапу до простого застосунку.
Android OsmAnd AIDL API
Основна концепція цього підходу полягає в тому, що цільовий застосунок взаємодіє з OsmAnd через AIDL або API намірів. OsmAnd має багатий набір підтримуваних методів AIDL інтерфейсу. Існує кілька застосунків, побудованих за цим підходом, і основна концепція полягає в тому, що застосунок містить кілька екранів і кнопку "Перейти до мапи", за якою застосунок повністю переналаштовує OsmAnd і надає зворотний виклик для основних операцій, таких як навігація, отримання GPS-місцезнаходження, а також включає елементи інтерфейсу, такі я к віджети / кнопки висувної панелі, щоб користувач міг повернутися з мапи до цільового API.
Список API досить довгий, і ви можете ознайомитися з ним у Демо-застосунку.
Переваги
- Немає проблем з ліцензією - доступно для всіх можливих цілей
- Завжди підтримується, версіонується та обслуговується командою OsmAnd
- Найпростіша інтеграція вимагає найменшої кількості рядків коду
- Завжди не змішувати логіку OsmAnd та бізнес-логіку застосунку
- Найменший розмір (2 МБ)
Недоліки
- Вимагає встановлення застосунку OsmAnd поруч із вашим застосунком
- Обмежена кількість методів порівняно з підходом Full Library SDK
- Обмежені можливості брендування, хоча в застосунку OsmAnd може бути брендований логотип, брендовані профілі, стилі мап тощо
- Неможливо передавати код та елементи інтерфейсу до OsmAnd, тому вся взаємодія може здійснюватися лише шляхом перемикання екранів між застосунками та зворотних викликів
Будь ласка, перегляньте приклад у репозиторії Github.
Android OsmAnd Full Library SDK
Повна бібліотека OsmAnd повторно використовує повний OsmAnd як бібліотеку. В основному весь код / всі фрагменти інтерфейсу є частиною цієї бібліотеки, що дає свободу використовувати те, що вже є в OsmAnd, але вимагає хорошого розуміння того, як можна поєднати кілька шарів / сервісів.
Переваги
- Немає потреби встановлювати OsmAnd / OsmAnd+
- Доступні для повторного використання всі можливі функції / методи з OsmAnd
- Не вимагає багато власного коду для створення багатофункціонального застосунку
Недоліки
- Немає повної документації
- Сувора ліцензія на код, точно така ж, як і сам код OsmAnd
- API, що використовує сервери OsmAnd, вимагає прямої згоди команди OsmAnd
- API не є стабільним (оскільки це не API, це, по суті, внутрішня бібліотека)
- Розмір 70-150 МБ (можна зменшити, видаливши базову мапу світу 20 МБ). Інші маніпуляції з розміром можуть бути виконані залежно від призначення цільов ого застосунку.
Будь ласка, перегляньте приклад у репозиторії Github. Демо-застосунок OsmAnd-map-sample.apk.
Ліцензія
Ви можете переглянути Ліцензію OsmAnd та повну версію.