Google Maps SDK — mi ez, Google térképek és API fejlesztéshez

Szerző: IT Sectr Megjelenés: 2026-04-30 Olvasási idő: 10 perc

Google Maps SDK — a Google eszközkészlete interaktív térképek, geokódolás, útvonalak és helykeresés integrálásához mobil- és webalkalmazásokba. Az SDK tartalmazza a Maps SDK-t Android és iOS rendszerekhez, a Places API-t a geoadatokkal való munkához és a Directions API-t útvonalak építéséhez. A Google Maps szolgáltatások naponta több mint 100 milliárd kérést dolgoznak fel, ami a Maps SDK-t az egyik legteljesítményesebb térképezési megoldássá teszi. A Google Maps Platform Documentation, 2025 szerint az SDK-t a térképes mobilalkalmazások 60%-a használja.

Főbb pontok

  • Google Maps SDK — platform térképek, geoadatok és navigáció integrálására alkalmazásokba
  • Maps SDK — interaktív térképek megjelenítése stílusok és rétegek testreszabásával
  • Places API — helyek keresése, geokódolás és információ lekérése létesítményekről
  • Directions API — útvonalak építése különböző közlekedési módokhoz
  • Számlázás — fizetés az API használatáért a kérések száma alapján ($2-10 1000 kérésenként)

Mi az a Google Maps SDK?

Google Maps SDK — egy átfogó platform fejlesztőknek, amely eszközöket biztosít a földrajzi adatokkal való munkához alkalmazásokban. A platform több API-t foglal magában: Maps SDK (térképmegjelenítés), Routes API (útvonalak), Places API (helykeresés és geoadatok) és Geocoding API (címek koordinátákká alakítása). Minden SDK külön integrálódik és saját számlázási modellel rendelkezik.

Az Apple MapKit-tel ellentétben a Google Maps SDK szélesebb adatkészletet kínál: információ 250 millió helyről, valós idejű forgalom, Street View panorámák és Indoor Maps beltéri terekhez. A Statista (2025) szerint a Google Maps Platform a mobilalkalmazások térképezési SDK piacának 75%-át birtokolja. A kulcsfontosságú előny — egyetlen API-kulcs az összes Google Maps szolgáltatáshoz és cross-platform integráció (Android, iOS, web).

API-kulcs és biztonsági konfiguráció

API-kulcs — kötelező elem a Google Maps SDK-val való munkához. A kulcs a Google Cloud Console-ban jön létre és egy adott projekthez kapcsolódik. Androidhoz meg kell adni az alkalmazás tanúsítványának SHA-1-jét, iOS-hez a Bundle Identifier-t. A Google javasolja az API-kulcs használatának IP-címek, HTTP refererek vagy alkalmazáscsomagok szerinti korlátozását a jogosulatlan hozzáférés megakadályozására.

Maps SDK Androidhoz: integráció és lehetőségek

Maps SDK Androidhoz — egy könyvtár, amely interaktív Google Térképeket jelenít meg Android-alkalmazáson belül MapView vagy SupportMapFragment segítségével. Az SDK támogatja: egyedi térképstílusokat, jelölőket információs ablakokkal, sokszögeket és vonalláncokat, forgalmi és közlekedési rétegeket, valamint érintési eseményeket és gesztusokat (nagyítás, forgatás, döntés). A térképek OpenGL-t használnak a megjelenítéshez, 60 FPS-t biztosítva modern eszközökön.

Az integráció a függőség build.gradle-hez adásával és az API-kulcs AndroidManifest.xml-en keresztüli konfigurálásával kezdődik. Google Maps SDK Androidhoz Google Play Services-t igényel az eszközön. Ha a Google Play Services nem érhető el (pl. Google-szolgáltatások nélküli Huawei eszközökön), a térképek nem jelennek meg. Ilyen esetekben a Google alternatív megoldások vagy WebView használatát javasolja JavaScript Maps API-val.

kotlin
// AndroidManifest.xml — API-kulcs metaadatai
// <meta-data android:name="com.google.android.geo.API_KEY"
//     android:value="YOUR_API_KEY"/>

// Térképfragmentum Activity-ben
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 Androidon támogatja az Indoor Maps-ot — épületek alaprajzainak megjelenítését (repülőterek, bevásárlóközpontok). Az engedélyezéshez elég beállítani a map.isIndoorEnabled = true értéket. A forgalmi réteg (Traffic Layer) valós időben mutatja az utak terheltségét — az adatok 2-5 percenként frissülnek. A közlekedési réteg (Transit Layer) a tömegközlekedési útvonalakat jeleníti meg a támogatott városokban.

Maps SDK iOS-hez: konfiguráció és használat

Maps SDK iOS-hez ugyanazokat a lehetőségeket biztosítja, mint az Android verzió, de az Apple platformhoz igazítva. Az integráció Swift Package Manageren vagy CocoaPods-on keresztül történik. A Maps SDK iOS-hez Google szervereket használ a térképek megjelenítéséhez, de együttműködhet az Apple MapKit-tel a natív navigációhoz. Az SDK támogatja az iOS 15 és újabb verzióit, valamint a SwiftUI-t UIViewRepresentable-en keresztül.

Az iOS verzió sajátossága — az Info.plist kötelező konfigurálása az API-kulcs megadásával és az URL séma hozzáadásával a Google Maps számára. Az Androidtól eltérően az iOS SDK nem igényel Google Play Services-t, de bizonyos funkciókhoz (pl. térképek megnyitása navigációban) telepített Google Maps alkalmazást igényel. Cross-platform projektekhez a Google egyetlen, mindkét platformra aktivált API-kulcsot javasol projektenként.

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-en a Google Maps SDK támogatja az egyedi stílusokat JSON fájlon keresztül Google Maps Styling formátumban. A stílusok lehetővé teszik az utak, víz, parkok és épületek színeinek megváltoztatását az alkalmazás dizájnjának megfelelően. Támogatott még a Heatmap Layer az adatsűrűség vizualizálásához, KML és GeoJSON földrajzi adatok külső forrásokból való importálásához.

Places API: helykeresés és geokódolás

Places API — a Google Maps Platform szolgáltatása földrajzi helyekkel kapcsolatos információk lekéréséhez: címek, koordináták, értékelés, nyitvatartás, fényképek és vélemények. A Places API két módban működik: Place Search (helyek keresése szöveg vagy sugár alapján) és Place Details (részletes információ lekérése egy adott helyről Place ID alapján). Az SDK Androidra, iOS-re és REST API-ként érhető el.

A Places SDK Androidra és iOS-re lehetővé teszi a címek automatikus kiegészítésének (Place Autocomplete) beépítését közvetlenül az alkalmazás szövegmezőibe. Ez kulcsfontosságú funkció a szállítási, taxis és logisztikai alkalmazások számára — a felhasználó elkezdi beírni a címet, az SDK pedig opciókat javasol a Google Maps adatbázisából. Place Autocomplete 80%-kal csökkenti a címe beviteli hibákat a kézi bevitelhez képest. Places API számlázás: $2.83 1000 Place Details kérésenként, Place Search — $4.71 1000-enként.

kotlin
// Hely keresése szöveg alapján Androidon
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: címek automatikus kiegészítése

Geocoding API — fordított geokódolás (koordináták → cím) és közvetlen (cím → koordináták). A felhasználó által beírt cím koordinátákká alakítására szolgál a térképen való megjelenítéshez. A Geocoding API külön számlázandó: $4.71 1000 kérésenként. A Google 200 ingyenes kérést biztosít naponta fiókonként teszteléshez.

Directions API: útvonalak építése

Directions API — szolgáltatás útvonalak kiszámításához két vagy több pont között, figyelembe véve a közlekedési módot (autó, gyalog, kerékpár, tömegközlekedés). Az API több alternatív útvonalat ad vissza a távolság, utazási idő, lépésről lépésre utasítások és az útvonal térképre rajzolásához szükséges vonallánc megadásával. A Directions API REST API-ként és kliens SDK-kon keresztül érhető el.

Kibővített funkcionalitás — Routes API (új API, amelyet a Google 2024 óta javasol). A Routes API fejlettebb útvonaltervezést kínál valós idejű forgalom, ökológiai lábnyom (eco-friendly routing) és az érkezési idő prediktív elemzésének figyelembevételével. A Google szerint a Routes API 20%-kal pontosabban számolja ki az utazási időt városi körülmények között a klasszikus Directions API-hoz képest. A Routes API számlázása: $5.00 1000 kérésenként.

kotlin
// Útvonal kérés Routes API-n keresztül
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 egy útvonalhoz akár 25 köztes pontot (waypoints) támogat. A köztes pontok megadhatók koordinátaként vagy Place ID-ként. A pontok sorrendjének optimalizálásához (utazó ügynök probléma) használja az optimize:true paramétert. Számlázás: Directions API — $4.71 1000 kérésenként (10 pontig), minden további pont 50%-kal növeli a kérés költségét.

Térképek testreszabása: stílusok, jelölők és információs ablakok

Google Maps SDK széles körű testreszabási lehetőségeket kínál: a térkép színrendszerének megváltoztatása JSON stílusokon keresztül, egyedi jelölők (beleértve az animáltakat) hozzáadása, információs ablakok (InfoWindow) tetszőleges tartalommal és grafikus rétegek (GroundOverlay, Circle, Polygon) elhelyezése. A testreszabás lehetővé teszi a térkép alkalmazás arculatához igazítását és a felhasználói élmény javítását.

Térképstílusok a Google Maps Styling Wizard vagy egy Map Style formátumú JSON fájl segítségével hozhatók létre. Megváltoztathatók az utak (featureType: road), víz (water), parkok (poi.park), épületek (building) és más elemek színei. A sötét témájú alkalmazásokhoz használjon éjszakai stílust sötét háttérrel és tompított színekkel. A Google Maps egy JSON fájlban akár 100 stílusszabályt támogat.

Testreszabási elemMetódus/OsztályLeírás
JelölőkMarkerOptions.icon(BitmapDescriptor)Egyedi jelölő ikon erőforrásokból vagy URL-ből
VonalláncokPolylineOptions.color(width)Vonalak útvonalak megjelenítéséhez egyedi színnel
SokszögekPolygonOptions.fillColor(strokeColor)Terület kitöltése átlátszósággal és körvonallal
InfoWindowGoogleMap.setInfoWindowAdapterInformációs ablak egyedi tartalma (bármilyen View)
GroundOverlayGroundOverlayOptions.image(BitmapDescriptor)Térképterületre helyezett kép

Clustering: jelölők klaszterezése a teljesítményért

Clustering — jelölők összevonása klaszterekbe nagyszámú pont esetén a térképen. A Google Maps SDK Androidhoz és iOS-hez beépített klaszterező segédprogramot tartalmaz (com.google.maps.android:android-maps-utils). A Clustering megakadályozza a térkép túlterhelését jelölőkkel egy bizonyos szint alatti nagyításoknál. Nagyításkor a klaszter automatikusan egyedi jelölőkre bomlik. A Google szerint a klaszterezés 40%-kal javítja a térkép teljesítményét 1000+ jelölő esetén.

Kódpélda: térkép jelölőkkel Kotlinban

Teljes példa a térkép megjelenítésére egyedi jelölővel, útvonal vonallánccal és információs ablakkal. Az alkalmazás Moszkva térképét mutatja egy érdekes ponttal és a hozzá vezető útvonallal a városközpontból. A kód bemutatja a Google Maps SDK alapvető lehetőségeit: jelölő hozzáadása, vonallánc rajzolása, kamera mozgatása és kattintások kezelése.

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("Kreml")
            .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()
        }
    }
}

Teljesítmény-ajánlások: használja a jelölők aszinkron betöltését ClusterManager segítségével 200 pont felett, korlátozza a látható vonalláncok számát (a Google legfeljebb 100 egyidejű használatát javasolja), használja a Lite Mode-ot azokhoz a térképekhez, amelyek nem igényelnek teljes funkcionalitást (görgetés nagyítás változtatása nélkül). A Lite Mode 50%-kal csökkenti a memóriahasználatot és 2-szeresére gyorsítja a térkép betöltését.

Google Maps Platform árak és korlátok

Google Maps Platform Pay-as-you-go fizetési modellt használ havi $200 ingyenes kreditkorláttal. Minden API külön számlázandó: Maps SDK — $2.83 1000 térképbetöltésenként, Places API — $4.71 1000 kérésenként, Directions API — $4.71 1000 útvonalonként. Routes API (javasolt) — $5.00 1000 kérésenként. A $200 ingyenes limit általában havi 70 000 térképbetöltést fedez.

Magas terhelésű projektekhez a Google kedvezményeket kínál havi 500 000 kéréstől kezdődő mennyiségnél. Google Maps SDK nem számlázandó az alaptérkép interakció nélküli megjelenítéséért — a díjat csak a betöltésért (map load) számítják fel. Minden alkalommal, amikor a felhasználó megnyitja a térképes képernyőt, az egy betöltésnek számít. Optimalizálás: a térkép csempék gyorsítótárazása csökkenti a betöltések számát ismételt megnyitáskor.

Korlátok: 300 kérés percenként a Places API-hoz (3000-re növelhető a Cloud Console kvótáján keresztül). Directions API-hoz — 100 kérés percenként. A korlát túllépése OVER_QUERY_LIMIT hibát ad vissza. A Google exponenciális késleltetés (exponential backoff) használatát javasolja ismételt kérésekhez. A használat monitorozása a Google Cloud Console-ban érhető el, maximum 5 perces késleltetéssel.

Gyakran ismételt kérdések

Mennyibe kerül a Google Maps SDK használata mobilalkalmazásban?

Google Maps SDK a pay-as-you-go modell szerint számlázandó: $2.83 1000 térképbetöltésenként. A Google havonta $200 ingyenes kreditet biztosít, amely akár 70 000 betöltést fedez. A Places API és Directions API külön számlázandó. Kis projekteknél, legfeljebb 10 000 felhasználóval, a költségek általában havi $10-50.

Használható a Google Maps SDK internet nélkül?

Igen, a Google Maps SDK támogatja az offline térképeket a csempék gyorsítótárazásán keresztül. Az SDK automatikusan gyorsítótáraz akár 1000 csempét (körülbelül 10x10 km terület). A teljes offline támogatáshoz használja a Google Maps Offline API-t Androidhoz, amely lehetővé teszi egy teljes régió térképének letöltését. Az offline térképek nem támogatják a forgalmat, útvonalakat és a Places API-t.

Miben különbözik a Google Maps SDK az Apple MapKit-től?

Google Maps SDK szélesebb adatkészletet kínál: 250 millió hely, valós idejű forgalom, Street View, Indoor Maps. Az Apple MapKit ingyenes, de kevesebb adattal rendelkezik az USA-n és Európán kívül. A Google SDK API-kulcsot és fizetést igényel, az Apple MapKit nem. Cross-platform projektekhez a Google Maps SDK előnyösebb az egyetlen API-kulcs miatt mindkét platformon.

Hogyan szerezhetek ingyenes API-kulcsot a Google Mapshez?

Az API-kulcs a Google Cloud Console-ban hozható létre az APIs & Services → Credentials szakaszon keresztül. Az aktiváláshoz a kulcsot fizetési fiókhoz kell kapcsolni, de a Google havi $200 ingyenes kreditet biztosít. A kulcs korlátozható IP, HTTP referrer vagy Android csomag / iOS Bundle ID alapján. Teszteléshez nem szükséges bankkártya adatok megadása.

Támogatja a Google Maps SDK a jelölők klaszterezését?

Igen, a Google Maps SDK támogatja a klaszterezést a android-maps-utils (Android) és Google-Maps-iOS-Utils (iOS) könyvtáron keresztül. A ClusterManager automatikusan összevonja a közeli jelölőket egy klaszterbe numerikus jelzővel. Nagyításkor a klaszter egyedi jelölőkre bomlik. A klaszterezés kötelező 200+ jelölő esetén a térkép teljesítményének megőrzéséhez.

Összefoglaló

  • Google Maps SDK — platform térképek, geoadatok és navigáció integrálására mobilalkalmazásokba
  • Maps SDK Androidhoz és iOS-hez interaktív térképeket jelenít meg stílusok, jelölők és rétegek támogatásával
  • Places API — helykeresés, címautomatikus kiegészítés és geokódolás geoadatokat használó alkalmazásokhoz
  • Directions API / Routes API — útvonalépítés forgalom figyelembevételével és akár 25 köztes ponttal
  • Testreszabás tartalmazza a JSON stílusokat, egyedi jelölőket, InfoWindow-t, klaszterezést és GroundOverlay-t
  • Árazás — pay-as-you-go $2.83-tól 1000 betöltésenként, havi $200 ingyenes korláttal
  • API-kulcs kötelező, a projekthez kapcsolódik a Google Cloud Console-ban és platform szerint korlátozódik

Kulcsrakész mobilalkalmazást fejlesztünk

Az IT Sectr 2017 óta készít iOS és Android alkalmazásokat induló vállalkozásoknak és vállalkozásoknak. Tanácsot adunk, és a legjobb megoldást javasoljuk.

Projekt megbeszélése

Olvassa el is