Google Maps SDK — що це, карти Google та API для розробки

Автор: IT Sectr Опубліковано: 2026-04-30 Час читання: 10 хв

Google Maps SDK — це набір інструментів від Google для інтеграції інтерактивних карт, геокодування, маршрутів та пошуку місць у мобільні та веб-додатки. SDK включає Maps SDK для Android та iOS, Places API для роботи з геоданими та Directions API для побудови маршрутів. Сервіси Google Maps обробляють понад 100 мільярдів запитів на день, що робить Maps SDK одним із найпродуктивніших картографічних рішень. Згідно з Google Maps Platform Documentation, 2025, SDK використовується в 60% усіх мобільних додатків з картами.

Головне

  • Google Maps SDK — платформа для інтеграції карт, геоданих та навігації в додатки
  • Maps SDK — відображення інтерактивних карт з налаштовуваними стилями та шарами
  • Places API — пошук місць, геокодування та отримання інформації про заклади
  • Directions API — побудова маршрутів для різних видів транспорту
  • Білінг — оплата за використання API на основі кількості запитів ($2-10 за 1000 запитів)

Що таке Google Maps SDK?

Google Maps SDK — це всеохоплююча платформа для розробників, яка надає інструменти для роботи з географічними даними в додатках. Платформа включає кілька API: Maps SDK (відображення карт), Routes API (маршрути), Places API (пошук місць та геодані) та Geocoding API (перетворення адрес у координати). Кожен SDK інтегрується окремо та має власну модель білінгу.

На відміну від Apple MapKit, Google Maps SDK пропонує ширший набір даних: інформація про 250 мільйонів місць, трафік у реальному часі, панорами Street View та Indoor Maps для будівель. Згідно з Statista (2025), Google Maps Platform займає 75% ринку SDK картографії у мобільних додатках. Ключова перевага — єдиний ключ API для всіх служб Google Maps та кросплатформена інтеграція (Android, iOS, веб).

Ключ API та налаштування безпеки

Ключ API — обов’язковий елемент для роботи з Google Maps SDK. Ключ створюється в Google Cloud Console та прив’язується до конкретного проекту. Для Android потрібно вказати SHA-1 сертифікат додатка, для iOS — Bundle Identifier. Google рекомендує обмежувати використання ключа API за IP-адресами, HTTP-реферерами або пакетами додатків для запобігання несанкціонованому доступу.

Maps SDK для Android: Інтеграція та можливості

Maps SDK для Android — це бібліотека, яка відображає інтерактивні карти Google всередині додатка Android через MapView або SupportMapFragment. SDK підтримує: користувацькі стилі карт, маркери з інформаційними вікнами, багатокутники та багатолінії, шари трафіку та транспорту, а також сенсорні події та жести (збільшення, обертання, нахил). Карти використовують OpenGL для рендерінгу, забезпечуючи 60 FPS на сучасних пристроях.

Інтеграція починається з додавання залежності в build.gradle та налаштування ключа API через AndroidManifest.xml. Google Maps SDK для Android потребує Google Play Services на пристрої. Якщо Google Play Services недоступні (наприклад, на пристроях Huawei без служб Google), карти не відобразяться. Для таких випадків Google рекомендує використовувати альтернативні рішення або WebView з JavaScript Maps API.

kotlin
// AndroidManifest.xml — метадані ключа API
// 
//     android:value="YOUR_API_KEY"/>

// Фрагмент карти в Activity
class MapActivity : AppCompatActivity(),
    OnMapReadyCallback {

    private lateinit var map: GoogleMap

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_map)
        val mapFragment = supportFragmentManager
            .findFragmentById(R.id.map) as SupportMapFragment
        mapFragment.getMapAsync(this)
    }

    override fun onMapReady(googleMap: GoogleMap) {
        map = googleMap
        val sydney = LatLng(-33.8688, 151.2093)
        map.addMarker(MarkerOptions().position(sydney)
            .title("Sydney"))
        map.moveCamera(CameraUpdateFactory
            .newLatLngZoom(sydney, 12f))
    }
}

Google Maps SDK на Android підтримує Indoor Maps — відображення планів поверх (аеропорти, торговельні центри). Просто встановіть map.isIndoorEnabled = true для активації. Шар трафіку показує завантаженість доріг у реальному часі — дані оновлюються кожні 2-5 хвилин. Шар транспорту відображає маршрути громадського транспорту в підтримуваних містах.

Maps SDK для iOS: Налаштування та використання

Maps SDK для iOS надає ті ж можливості, що й версія для Android, але адаптовані для платформи Apple. Інтеграція здійснюється через Swift Package Manager або CocoaPods. Maps SDK для iOS використовує сервери Google для рендерінгу карт, але може працювати разом з Apple MapKit для нативної навігації. SDK підтримує iOS 15 та вище, а також SwiftUI через UIViewRepresentable.

Особливість iOS-версії — обов’язкове налаштування Info.plist з ключем API та додавання схеми URL для Google Maps. На відміну від Android, iOS SDK не потребує Google Play Services, але потребує встановлений додаток Google Maps для деяких функцій (наприклад, відкриття карт у навігації). Для кросплатформених проектів Google рекомендує єдиний ключ API на проект, активований для обох платформ.

swift
import GoogleMaps

class MapViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
        let camera = GMSCameraPosition.camera(
            withLatitude: 55.7558,
            longitude: 37.6173,
            zoom: 10
        )
        let mapView = GMSMapView.map(
            withFrame: view.frame,
            camera: camera
        )
        self.view = mapView

        let marker = GMSMarker()
        marker.position = CLLocationCoordinate2D(
            latitude: 55.7558,
            longitude: 37.6173
        )
        marker.title = "Moscow"
        marker.map = mapView
    }
}

На iOS Google Maps SDK підтримує користувацькі стилі через JSON-файл у форматі Google Maps Styling. Стилі дозволяють змінювати кольори доріг, води, парків та будівель відповідно до дизайну додатка. Також підтримуються Heatmap Layer для візуалізації щільності даних, KML та GeoJSON для імпорту географічних даних з зовнішніх джерел.

Places API: Пошук місць та геокодування

Places API — це служба Google Maps Platform для отримання інформації про географічні місця: адреси, координати, рейтинги, години роботи, фото та відгуки. Places API працює в двох режимах: Place Search (пошук за текстом або радіусом) та Place Details (отримання детальної інформації про конкретне місце за Place ID). SDK доступний для Android, iOS та як REST API.

Places SDK для Android та iOS дозволяє вбудовувати автозаповнення адрес (Place Autocomplete) безпосередньо в текстові поля додатка. Це ключова функція для додатків доставки, таксі та логістики — користувач починає вводити адресу, і SDK пропонує варіанти з бази даних Google Maps. Place Autocomplete зменшує кількість помилок введення адреси на 80% порівняно з ручним введенням. Білінг Places API: $2.83 за 1000 запитів Place Details, Place Search — $4.71 за 1000.

kotlin
// Пошук місця за текстом на Android
val placesClient = Places.createClient(context)
val request = FindCurrentPlaceRequest.builder(
    listOf(Place.Field.NAME, Place.Field.ADDRESS)
).build()

placesClient.findCurrentPlace(request)
    .addOnSuccessListener { response ->
        for (placeLikelihood in response.placeLikelihoods) {
            Log.d("Places", "${placeLikelihood.place.name} - ${placeLikelihood.likelihood}")
        }
    }

Place Autocomplete

Geocoding API — зворотне геокодування (координати → адреса) та пряме (адреса → координати). Використовується для перетворення введеної користувачем адреси в координати для відображення на карті. Geocoding API тарифікується окремо: $4.71 за 1000 запитів. Google надає 200 безкоштовних запитів на день на акаунт для тестування.

Directions API: Побудова маршрутів

Directions API — це служба для розрахунку маршрутів між двома або більше точками з урахуванням виду транспорту (авто, пішки, велосипед, громадський транспорт). API повертає кілька альтернативних маршрутів із зазначенням відстані, часу в подорожі, покрокових інструкцій та багатолінії для малювання маршруту на карті. Directions API доступний як REST API та через клієнтські SDK.

Розширена функціональність — Routes API (нова API, рекомендована Google з 2024 року). Routes API пропонує покращене маршрутизацію з урахуванням трафіку в реальному часі, екологічного маршрутообрання та прогнозного аналізу часу прибуття. За даними Google, Routes API розраховує час поїздки на 20% точніше в міських умовах порівняно з класичною Directions API. Routes API тарифікується: $5.00 за 1000 запитів.

kotlin
// Запит маршруту через Routes API
val client = OkHttpClient()
val requestBody = """
    {
        "origin": {"location": {"latLng": {"latitude": 55.75, "longitude": 37.61}}},
        "destination": {"location": {"latLng": {"latitude": 55.79, "longitude": 37.79}}},
        "travelMode": "DRIVE",
        "routingPreference": "TRAFFIC_AWARE"
    }
""".trimIndent()

val request = Request.Builder()
    .url("https://routes.googleapis.com/directions/v2:computeRoutes")
    .header("X-Goog-Api-Key", apiKey)
    .header("Content-Type", "application/json")
    .post(requestBody.toRequestBody())
    .build()

client.newCall(request).enqueue(object : Callback {
    override fun onResponse(call: Call, response: Response) {
        Log.d("Route", response.body?.string() ?: "")
    }
})

Directions API підтримує до 25 проміжних точок (waypoints) для одного маршруту. Проміжні точки можуть бути задані як координати або Place ID. Для оптимізації порядку точок (задача комівояжера) використовуйте параметр optimize:true. Ціни: Directions API — $4.71 за 1000 запитів (до 10 точок), кожна додаткова точка додає 50% до вартості запиту.

Налаштування карт: Стилі, маркери та інформаційні вікна

Google Maps SDK надає широкі можливості налаштування: зміна кольорової схеми карти через JSON-стилі, додавання користувацьких маркерів (у тому числі анімованих), інформаційних вікон (InfoWindow) з довільним вмістом та накладання графічних шарів (GroundOverlay, Circle, Polygon). Налаштування дозволяє адаптувати карту під бренд додатка та покращувати користувацький досвід.

Стилізація карт виконується через Google Maps Styling Wizard або JSON-файл у форматі Map Style. Можна змінювати кольори доріг (featureType: road), води (water), парків (poi.park), будівель (building) та інших елементів. Для карт у темній темі використовуйте нічний стиль з темним фоном та приглушеними кольорами. Google Maps підтримує до 100 стильових правил в одному JSON-файлі.

Елемент налаштуванняМетод/КласОпис
МаркериMarkerOptions.icon(BitmapDescriptor)Користувацька іконка маркера з ресурсів або URL
БагатолініїPolylineOptions.color(width)Лінії для відображення маршрутів з користувацьким кольором
БагатокутникиPolygonOptions.fillColor(strokeColor)Заповнення області з прозорістю та контуром
InfoWindowGoogleMap.setInfoWindowAdapterКористувацький вміст інформаційного вікна (будь-який View)
GroundOverlayGroundOverlayOptions.image(BitmapDescriptor)Зображення, накладене на область карти

Кластеризація для продуктивності

Кластеризація — об’єднання маркерів у кластери при великій кількості точок на карті. Google Maps SDK для Android та iOS включає вбудовану утиліту кластеризації (com.google.maps.android:android-maps-utils). Кластеризація запобігає перевантаженню карти маркерами на низьких рівнях збільшення. При збільшенні кластер автоматично розбивається на окремі маркери. За даними Google, кластеризація підвищує продуктивність карти на 40% при 1000+ маркерах.

Приклад коду: Карта з маркерами на Kotlin

Повний приклад відображення карти з користувацьким маркером, багатолінією маршруту та інформаційним вікном. Додаток показує карту Москви з точкою інтересу та маршрутом до неї від центру міста. Код демонструє основні можливості Google Maps SDK: додавання маркера, малювання багатолінії, переміщення камери та обробку кліків.

kotlin
class MapDemoActivity : AppCompatActivity(), OnMapReadyCallback {

    override fun onMapReady(map: GoogleMap) {
        val kremlin = LatLng(55.7513, 37.6189)
        val gorkyPark = LatLng(55.7311, 37.6116)

        map.addMarker(MarkerOptions()
            .position(kremlin)
            .title("Кремль")
            .icon(BitmapDescriptorFactory.defaultMarker(
                BitmapDescriptorFactory.HUE_RED)))

        map.addPolyline(PolylineOptions()
            .add(kremlin, gorkyPark)
            .width(5f)
            .color(Color.parseColor("#2196F3")))

        map.moveCamera(CameraUpdateFactory
            .newLatLngZoom(kremlin, 13f))

        map.setOnInfoWindowClickListener { marker ->
            Toast.makeText(this,
                "${marker.title} clicked",
                Toast.LENGTH_SHORT).show()
        }
    }
}

Рекомендації щодо продуктивності: використовуйте асинхронне завантаження маркерів через ClusterManager при понад 200 точок, обмежте кількість видимих багатоліній (Google рекомендує не більше 100 одночасно), використовуйте Lite Mode для карт, які не потребують повної функціональності (прокрутка без зміни збільшення). Lite Mode зменшує споживання пам’яті на 50% та прискорює завантаження карти в 2 рази.

Ціни та ліміти Google Maps Platform

Google Maps Platform використовує модель плати за використання з щомісячним безкоштовним лімітом $200 кредиту. Кожна API тарифікується окремо: Maps SDK — $2.83 за 1000 завантажень карти, Places API — $4.71 за 1000 запитів, Directions API — $4.71 за 1000 маршрутів. Routes API (рекомендована) — $5.00 за 1000 запитів. Безкоштовний ліміт $200 зазвичай покриває до 70 000 завантажень карт на місяць.

Для високонавантажених проектів Google пропонує знижки при обсязі від 500 000+ запитів на місяць. Google Maps SDK не тарифікується за відображення базової карти без взаємодії — плата стягується тільки за завантаження карти. Кожен раз, коли користувач відкриває екран з картою, це вважається одним завантаженням. Оптимізація: кешування тайлів карти зменшує кількість завантажень при повторному відкритті.

Ліміти: 300 запитів на хвилину для Places API (можна збільшити до 3000 через квоту в Cloud Console). Для Directions API — 100 запитів на хвилину. Перевищення ліміту повертає помилку OVER_QUERY_LIMIT. Google рекомендує використовувати експоненційну затримку (exponential backoff) для повторних запитів. Моніторинг використання доступний в Google Cloud Console з затримкою до 5 хвилин.

Часті запитання

Скільки коштує використання Google Maps SDK в мобільному додатку?

Google Maps SDK тарифікується за моделлю плати за використання: $2.83 за 1000 завантажень карти. Щомісяця Google надає $200 безкоштовних кредитів, які покривають до 70 000 завантажень карт. Places API та Directions API тарифікуються окремо. Для невеликих проектів з аудиторією до 10 000 користувачів витрати зазвичай становлять $10-50 на місяць.

Чи можна використовувати Google Maps SDK без інтернету?

Так, Google Maps SDK підтримує офлайн-карти через кешування тайлів. SDK автоматично кешує до 1000 тайлів (приблизно 10x10 км). Для повної офлайн-підтримки використовуйте Google Maps Offline API для Android, яка дозволяє завантажити карту цілого регіону. Офлайн-карти не підтримують трафік, маршрути та Places API.

Чим Google Maps SDK відрізняється від Apple MapKit?

Google Maps SDK пропонує ширший набір даних: 250 мільйонів місць, трафік у реальному часі, Street View, Indoor Maps. Apple MapKit безкоштовний, але має менше даних поза межами США та Європи. Google SDK потребує ключ API та оплати, Apple MapKit — ні. Для кросплатформених проектів Google Maps SDK більш бажаний через єдину API для обох платформ.

Як отримати безкоштовний ключ API для Google Maps?

Ключ API створюється в Google Cloud Console у розділі APIs and Services, Credentials. Для активації потрібно прив’язати ключ до платіжного аккаунта, але Google надає $200 безкоштовних кредитів щомісяця. Ключ можна обмежити за IP, HTTP-реферером або пакетом Android/iOS Bundle ID. Для тестування не потрібна кредитна картка.

Чи підтримує Google Maps SDK кластеризацію маркерів?

Так, Google Maps SDK підтримує кластеризацію через бібліотеку android-maps-utils (Android) та Google-Maps-iOS-Utils (iOS). ClusterManager автоматично об’єднує близькі маркери в кластер з числовим індикатором. При збільшенні кластер розбивається на окремі маркери. Кластеризація обов’язкова при 200+ маркерах для збереження продуктивності карти.

Підсумки

  • Google Maps SDK — платформа для інтеграції карт, геоданих та навігації в мобільні додатки
  • Maps SDK для Android та iOS відображає інтерактивні карти з підтримкою стилів, маркерів та шарів
  • Places API — пошук місць, автозаповнення адрес та геокодування для додатків з геоданими
  • Directions API / Routes API — побудова маршрутів з урахуванням трафіку та до 25 проміжних точок
  • Налаштування включає JSON-стилі, користувацькі маркери, InfoWindow, кластеризацію та GroundOverlay
  • Ціни — плата за використання від $2.83 за 1000 завантажень карти з безкоштовним лімітом $200 на місяць
  • Ключ API обов’язковий, прив’язаний до проекту в Google Cloud Console та обмежений за платформою

Ми розробимо мобільний застосунок під ключ

IT Sectr створює застосунки для iOS та Android для стартапів і бізнесу з 2017 року. Ми проконсультуємо вас і запропонуємо найкраще рішення.

Обговорити проект

Читайте також