Google Maps SDK — bu nədir, Google xəritələri və tərtibatçılar üçün API

Müəllif: IT Sectr Dərc olunub: 2026-04-30 Oxuma vaxtı: 10 dəq

Google Maps SDK — mobil və veb tətbiqlərə interaktiv xəritələr, geokodlaşdırma, marşrutlar və yer axtarışını inteqrasiya etmək üçün Google-dan alətlər dəstidir. SDK Android və iOS üçün Maps SDK, geodata ilə işləmək üçün Places API və marşrutların qurulması üçün Directions API daxildir. Google Maps xidmətləri gündə 100 milyarddan çox sorğu emal edir ki, bu da Maps SDK-nı ən məhsuldar xəritəçəkmə həllərindən birinə çevirir. Google Maps Platform Documentation, 2025 məlumatlarına görə, SDK xəritələri olan bütün mobil tətbiqlərin 60%-də istifadə olunur.

Əsas məqamlar

  • Google Maps SDK — tətbiqlərdə xəritələr, geodata və naviqasiyanı inteqrasiya etmək üçün platforma
  • Maps SDK — üslubların və qatların fərdiləşdirilməsi ilə interaktiv xəritələrin göstərilməsi
  • Places API — yerlərin axtarışı, geokodlaşdırma və məkanlar haqqında məlumat əldə etmə
  • Directions API — müxtəlif nəqliyyat növləri üçün marşrutların qurulması
  • Ödəniş — sorğuların sayına əsasən API istifadəsi üçün ödəniş ($2-10 hər 1000 sorğuya)

Google Maps SDK nədir?

Google Maps SDK — tərtibatçılara tətbiqlərdə coğrafi məlumatlarla işləmək üçün alətlər təqdim edən kompleks platformadır. Platforma bir neçə API daxildir: Maps SDK (xəritələrin göstərilməsi), Routes API (marşrutlar), Places API (yer axtarışı və geodata) və Geocoding API (ünvanların koordinatlara çevrilməsi). Hər bir SDK ayrıca inteqrasiya olunur və öz ödəniş modelinə malikdir.

Apple MapKit-dən fərqli olaraq, Google Maps SDK daha geniş məlumat dəsti təklif edir: 250 milyon yer haqqında məlumat, real vaxtda trafik, Street View panoramaları və qapalı məkanlar üçün Indoor Maps. Statista (2025) məlumatlarına görə, Google Maps Platform mobil tətbiqlərdə xəritəçəkmə SDK bazarının 75%-ni tutur. Əsas üstünlük — bütün Google Maps xidmətləri üçün vahid API açarı və çarpaz platforma inteqrasiyası (Android, iOS, veb).

API açarı və təhlükəsizlik konfiqurasiyası

API açarı — Google Maps SDK ilə işləmək üçün məcburi elementdir. Açar Google Cloud Console-da yaradılır və konkret layihəyə bağlanır. Android üçün əlavə olaraq tətbiq sertifikatının SHA-1-i, iOS üçün Bundle Identifier tələb olunur. Google, icazəsiz girişin qarşısını almaq üçün API açarının istifadəsini IP ünvanları, HTTP refererlər və ya tətbiq paketləri ilə məhdudlaşdırmağı tövsiyə edir.

Android üçün Maps SDK: inteqrasiya və imkanlar

Android üçün Maps SDK — Android tətbiqi daxilində MapView və ya SupportMapFragment vasitəsilə interaktiv Google xəritələrini göstərən kitabxanadır. SDK dəstəkləyir: fərdi xəritə üslubları, məlumat pəncərələri olan markerlər, çoxbucaqlılar və polixətlər, trafik və nəqliyyat qatları, həmçinin toxunma hadisələri və jestlər (zoom, fırlatma, əymə). Xəritələr renderinq üçün OpenGL istifadə edir, müasir cihazlarda 60 FPS təmin edir.

İnteqrasiya build.gradle-ə asılılığın əlavə edilməsi və AndroidManifest.xml vasitəsilə API açarının konfiqurasiyası ilə başlayır. Google Maps SDK Android üçün cihazda Google Play Services tələb edir. Google Play Services mövcud deyilsə (məsələn, Google xidmətləri olmayan Huawei cihazlarında), xəritələr göstərilməyəcək. Belə hallarda Google alternativ həllər və ya JavaScript Maps API ilə WebView istifadə etməyi tövsiyə edir.

kotlin
// AndroidManifest.xml — API açarının metadata məlumatları
// <meta-data android:name="com.google.android.geo.API_KEY"
//     android:value="YOUR_API_KEY"/>

// Activity-də xəritə fraqmenti
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-də Indoor Maps — binaların planlarının göstərilməsini (hava limanları, ticarət mərkəzləri) dəstəkləyir. Aktivləşdirmək üçün map.isIndoorEnabled = true təyin etmək kifayətdir. Trafik qatı (Traffic Layer) real vaxtda yol sıxlığını göstərir — məlumatlar hər 2-5 dəqiqədən bir yenilənir. Nəqliyyat qatı (Transit Layer) dəstəklənən şəhərlərdə ictimai nəqliyyat marşrutlarını göstərir.

iOS üçün Maps SDK: konfiqurasiya və istifadə

iOS üçün Maps SDK Android versiyası ilə eyni imkanları təmin edir, lakin Apple platformasına uyğunlaşdırılmışdır. İnteqrasiya Swift Package Manager və ya CocoaPods vasitəsilə həyata keçirilir. iOS üçün Maps SDK xəritələrin renderinqi üçün Google serverlərindən istifadə edir, lakin yerli naviqasiya üçün Apple MapKit ilə birlikdə işləyə bilər. SDK iOS 15 və daha yuxarı versiyaları, həmçinin UIViewRepresentable vasitəsilə SwiftUI-ni dəstəkləyir.

iOS versiyasının özəlliyi — API açarının göstərilməsi və Google Maps üçün URL sxeminin əlavə edilməsi ilə Info.plist-in məcburi konfiqurasiyasıdır. Android-dən fərqli olaraq, iOS SDK Google Play Services tələb etmir, lakin bəzi funksiyalar üçün (məsələn, naviqasiyada xəritələrin açılması) Google Maps tətbiqinin quraşdırılmasını tələb edir. Çarpaz platforma layihələri üçün Google hər iki platforma üçün aktivləşdirilmiş vahid API açarını tövsiyə edir.

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-da Google Maps SDK Google Maps Styling formatında JSON faylı vasitəsilə fərdi üslubları dəstəkləyir. Üslublar tətbiq dizaynına uyğun olaraq yolların, suyun, parkların və binaların rənglərini dəyişməyə imkan verir. Həmçinin məlumat sıxlığının vizuallaşdırılması üçün Heatmap Layer, xarici mənbələrdən coğrafi məlumatların idxalı üçün KML və GeoJSON dəstəklənir.

Places API: yer axtarışı və geokodlaşdırma

Places API — coğrafi yerlər haqqında məlumat əldə etmək üçün Google Maps Platform xidmətidir: ünvanlar, koordinatlar, reytinq, iş saatları, fotoşəkillər və rəylər. Places API iki rejimdə işləyir: Place Search (mətn və ya radius üzrə yer axtarışı) və Place Details (Place ID üzrə konkret yer haqqında ətraflı məlumat əldə etmə). SDK Android, iOS və REST API şəklində mövcuddur.

Android və iOS üçün Places SDK tətbiqin mətn sahələrinə birbaşa ünvan avtodoldurmasını (Place Autocomplete) yerləşdirməyə imkan verir. Bu çatdırılma, taksi və logistika tətbiqləri üçün əsas funksiyadır — istifadəçi ünvanı yazmağa başlayır, SDK isə Google Maps bazasından variantlar təklif edir. Place Autocomplete əl ilə daxil etmə ilə müqayisədə ünvan daxiletmə xətalarını 80% azaldır. Places API qiymətləri: Place Details üçün $2.83 hər 1000 sorğuya, Place Search — $4.71 hər 1000-ə.

kotlin
// Android-də mətn üzrə yer axtarışı
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: ünvanların avtodoldurulması

Geocoding API — tərs geokodlaşdırma (koordinatlar → ünvan) və birbaşa (ünvan → koordinatlar). İstifadəçi tərəfindən daxil edilən ünvanın xəritədə göstərilməsi üçün koordinatlara çevrilməsi üçün istifadə olunur. Geocoding API ayrıca tarifləşdirilir: $4.71 hər 1000 sorğuya. Google test üçün hesaba gündə 200 pulsuz sorğu təqdim edir.

Directions API: marşrutların qurulması

Directions API — nəqliyyat növü nəzərə alınmaqla (avtomobil, piyada, velosiped, ictimai nəqliyyat) iki və ya daha çox nöqtə arasında marşrutların hesablanması xidmətidir. API məsafə, səyahət vaxtı, addım-addım təlimatlar və xəritədə marşrutun çəkilməsi üçün polixətlə göstərilən bir neçə alternativ marşrut qaytarır. Directions API REST API və müştəri SDK-ları vasitəsilə mövcuddur.

Genişləndirilmiş funksionallıq — Routes API (Google tərəfindən 2024-cü ildən tövsiyə olunan yeni API). Routes API real vaxtda trafik, ekoloji iz (eco-friendly routing) və gəliş vaxtının prediktiv analizi nəzərə alınmaqla təkmilləşdirilmiş marşrutlaşdırma təklif edir. Google məlumatlarına görə, RoutesAPI klassik Directions API ilə müqayisədə şəhər şəraitində səyahət vaxtını 20% daha dəqiq hesablayır. Routes API tarifi: $5.00 hər 1000 sorğuya.

kotlin
// Routes API vasitəsilə marşrut sorğusu
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 bir marşrut üçün 25 ara nöqtəyə (waypoints) qədər dəstəkləyir. Ara nöqtələr koordinatlar və ya Place ID kimi təyin edilə bilər. Nöqtələrin sırasını optimallaşdırmaq üçün (səyahət edən satıcı problemi) optimize:true parametrindən istifadə edin. Tariflər: Directions API — $4.71 hər 1000 sorğuya (10 nöqtəyə qədər), hər əlavə nöqtə sorğunun dəyərinə 50% əlavə edir.

Xəritələrin fərdiləşdirilməsi: üslublar, markerlər və məlumat pəncərələri

Google Maps SDK geniş fərdiləşdirmə imkanları təqdim edir: JSON üslubları vasitəsilə xəritə rəng sxeminin dəyişdirilməsi, fərdi markerlərin (o cümlədən animasiyalı) əlavə edilməsi, ixtiyari məzmunlu məlumat pəncərələri (InfoWindow) və qrafik qatların (GroundOverlay, Circle, Polygon) əlavə edilməsi. Fərdiləşdirmə xəritəni tətbiqin brendinə uyğunlaşdırmağa və istifadəçi təcrübəsini yaxşılaşdırmağa imkan verir.

Xəritə üslubları Google Maps Styling Wizard və ya Map Style formatında JSON faylı vasitəsilə həyata keçirilir. Yolların (featureType: road), suyun (water), parkların (poi.park), binaların (building) və digər elementlərin rəngləri dəyişdirilə bilər. Tətbiqin qaranlıq mövzusu üçün xəritələrdə qaranlıq fon və sakit rənglərlə gecə üslubundan istifadə edin. Google Maps bir JSON faylında 100 üslub qaydasına qədər dəstəkləyir.

Fərdiləşdirmə elementiMetod/Sinifİzahat
MarkerlerMarkerOptions.icon(BitmapDescriptor)Resurslardan və ya URL-dən fərdi marker işarəsi
PolixətlərPolylineOptions.color(width)Fərdi rənglə marşrutların göstərilməsi üçün xətlər
ÇoxbucaqlılarPolygonOptions.fillColor(strokeColor)Şəffaflıq və kontur ilə sahənin doldurulması
InfoWindowGoogleMap.setInfoWindowAdapterMəlumat pəncərəsinin fərdi məzmunu (istənilən View)
GroundOverlayGroundOverlayOptions.image(BitmapDescriptor)Xəritə sahəsinə yerləşdirilmiş şəkil

Clustering: məhsuldarlıq üçün markerlərin klasterləşdirilməsi

Clustering — xəritədə çox sayda nöqtə olduqda markerlərin klasterlərə birləşdirilməsidir. Android və iOS üçün Google Maps SDK daxili klasterləşdirmə alətini (com.google.maps.android:android-maps-utils) ehtiva edir. Clustering müəyyən səviyyədən aşağı zoom-larda xəritənin markerlərlə dolmasının qarşısını alır. Zoom zamanı klaster avtomatik olaraq ayrı-ayrı markerlərə parçalanır. Google məlumatlarına görə, klasterləşdirmə 1000+ marker olduqda xəritənin performansını 40% yaxşılaşdırır.

Kod nümunəsi: Kotlin-də markerlərlə xəritə

Fərdi marker, marşrut polixətti və məlumat pəncərəsi ilə xəritənin göstərilməsinin tam nümunəsi. Tətbiq Moskva xəritəsini maraq nöqtəsi və şəhər mərkəzindən ona gedən marşrutla göstərir. Kod Google Maps SDK-nın əsas imkanlarını nümayiş etdirir: marker əlavə etmə, polixətt çəkmə, kameranın hərəkət etdirilməsi və kliklərin işlənməsi.

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()
        }
    }
}

Performans tövsiyələri: 200-dən çox nöqtə olduqda ClusterManager vasitəsilə markerlərin asinxron yüklənməsindən istifadə edin, görünən polixətlərin sayını məhdudlaşdırın (Google eyni anda 100-dən çox olmamağı tövsiyə edir), tam funksionallıq tələb olunmayan xəritələr üçün Lite Mode-dan istifadə edin (zoom dəyişmədən sürüşdürmə). Lite Mode yaddaş istehlakını 50% azaldır və xəritənin yüklənməsini 2 dəfə sürətləndirir.

Google Maps Platform qiymətləri və limitləri

Google Maps Platform aylıq $200 pulsuz kredit limiti ilə Pay-as-you-go ödəniş modelindən istifadə edir. Hər bir API ayrıca tarifləşdirilir: Maps SDK — $2.83 hər 1000 xəritə yükləməsinə, Places API — $4.71 hər 1000 sorğuya, Directions API — $4.71 hər 1000 marşruta. Routes API (tövsiyə olunan) — $5.00 hər 1000 sorğuya. Pulsuz limit $200 adətən ayda 70 000 xəritə yükləməsini əhatə edir.

Yüksək yüklü layihələr üçün Google ayda 500 000 sorğudan həcmdə endirimlər təklif edir. Google Maps SDK qarşılıqlı təsir olmadan əsas xəritənin göstərilməsi üçün tarifləşdirilmir — ödəniş yalnız yükləmə (map load) üçün alınır. İstifadəçi xəritə ilə ekranı hər açdıqda bu bir yükləmə sayılır. Optimasiya: xəritə kafelrinin keşləşdirilməsi təkrar açılışda yükləmələrin sayını azaldır.

Limitlər: Places API üçün dəqiqədə 300 sorğu (Cloud Console-da limit vasitəsilə 3000-ə qədər artırıla bilər). Directions API üçün — dəqiqədə 100 sorğu. Limitin aşılması OVER_QUERY_LIMIT xətası qaytarır. Google təkrar sorğular üçün eksponensial gecikmə (exponential backoff) istifadə etməyi tövsiyə edir. İstifadə monitorinqi Google Cloud Console-da 5 dəqiqəyə qədər gecikmə ilə mövcuddur.

Tez-tez verilən suallar

Mobil tətbiqdə Google Maps SDK istifadəsi nə qədərdir?

Google Maps SDK pay-as-you-go modeli ilə tarifləşdirilir: $2.83 hər 1000 xəritə yükləməsinə. Hər ay Google 70 000 yükləməni əhatə edən $200 pulsuz kredit təqdim edir. Places API və Directions API ayrıca tarifləşdirilir. 10 000 istifadəçiyə qədər auditoriyası olan kiçik layihələr üçün xərclər adətən ayda $10-50 təşkil edir.

Google Maps SDK-nı internet olmadan istifadə etmək olar?

Bəli, Google Maps SDK kafelrin keşləşdirilməsi vasitəsilə oflayn xəritələri dəstəkləyir. SDK avtomatik olaraq 1000 kafelə qədər (təxminən 10x10 km sahə) keşləyir. Tam oflayn dəstək üçün bütün regionun xəritəsini yükləməyə imkan verən Android üçün Google Maps Offline API-dən istifadə edin. Oflayn xəritələr trafik, marşrutlar və Places API-ni dəstəkləmir.

Google Maps SDK Apple MapKit-dən nə ilə fərqlənir?

Google Maps SDK daha geniş məlumat dəsti təklif edir: 250 milyon yer, real vaxtda trafik, Street View, Indoor Maps. Apple MapKit pulsuzdur, lakin ABŞ və Avropadan kənarda daha az məlumata malikdir. Google SDK API açarı və ödəniş tələb edir, Apple MapKit isə yox. Çarpaz platforma layihələri üçün Google Maps SDK hər iki platformada vahid API açarı ilə üstünlük təşkil edir.

Google Maps üçün pulsuz API açarını necə əldə etmək olar?

API açarı Google Cloud Console-da APIs & Services → Credentials bölməsində yaradılır. Aktivləşdirmək üçün açarı ödəniş hesabına bağlamaq lazımdır, lakin Google aylıq $200 pulsuz kredit təqdim edir. Açar IP, HTTP referrer və ya Android paketi / iOS Bundle ID ilə məhdudlaşdırıla bilər. Test üçün bank kartı məlumatlarının daxil edilməsi tələb olunmur.

Google Maps SDK marker klasterləşdirilməsini dəstəkləyir?

Bəli, Google Maps SDK android-maps-utils (Android) və Google-Maps-iOS-Utils (iOS) kitabxanası vasitəsilə klasterləşdirməni dəstəkləyir. ClusterManager avtomatik olaraq yaxın markerləri ədədi göstərici ilə klasterə birləşdirir. Zoom zamanı klaster ayrı-ayrı markerlərə parçalanır. Xəritənin performansını qorumaq üçün 200+ marker olduqda klasterləşdirmə məcburidir.

Nəticə

  • Google Maps SDK — mobil tətbiqlərə xəritələr, geodata və naviqasiyanı inteqrasiya etmək üçün platforma
  • Maps SDK Android və iOS üçün üslublar, markerlər və qatlar dəstəyi ilə interaktiv xəritələr göstərir
  • Places API — geodata tətbiqləri üçün yer axtarışı, ünvan avtodoldurması və geokodlaşdırma
  • Directions API / Routes API — trafik nəzərə alınmaqla və 25 ara nöqtəyə qədər marşrutların qurulması
  • Fərdiləşdirmə JSON üslubları, fərdi markerlər, InfoWindow, klasterləşdirmə və GroundOverlay daxildir
  • Qiymətlər — aylıq $200 pulsuz limitlə $2.83-dən başlayaraq hər 1000 yükləməyə pay-as-you-go
  • API açarı məcburidir, Google Cloud Console-da layihəyə bağlanır və platforma üzrə məhdudlaşdırılır

Açar təslim mobil tətbiq hazırlayacağıq

IT Sectr 2017-ci ildən startaplar və bizneslər üçün iOS və Android tətbiqləri yaradır. Sizə məsləhət verəcəyik və ən yaxşı həlli təklif edəcəyik.

Layihəni müzakirə et

Həm də oxuyun