Bu sayfada, Hızlı Başlangıç bölümünde ayrıntılı olarak açıklanan Google Haritalar şablonunu kullanmadan bir Android Studio projesinin Android için Haritalar SDK'sını kullanacak şekilde nasıl yapılandırılacağı açıklanmaktadır.
Google Haritalar şablonu, yeni bir Android Studio projesine otomatik olarak temel bir harita yapılandırır ve ekler. Ancak farklı bir Android Studio şablonu kullanan bir Android projesine de harita ekleyebilirsiniz. Bunu yapmak için projenizi manuel olarak yapılandırmanız ve ardından haritayı eklemeniz gerekir.
1. adım: Android Studio'yu kurun
Bu belgede, Android Studio Hedgehog ve Android Gradle eklentisinin 8.2 sürümünü kullanan bir geliştirme ortamı açıklanmaktadır.
2. adım: SDK'yı ayarlama
Android için Haritalar SDK'sı kitaplığı, Google'ın Maven deposundan edinilebilir. SDK'yı uygulamanıza eklemek için aşağıdakileri yapın:
- Üst düzey
settings.gradle.kts
dosyanıza Gradle eklenti portalını, Google Maven deposunu ve Maven merkezi deposunupluginManagement
bloğunun altına ekleyin.pluginManagement
bloğu, komut dosyasında diğer tüm ifadelerden önce görünmelidir.pluginManagement { repositories { gradlePluginPortal() google() mavenCentral() } }
- Üst düzey
settings.gradle.kts
dosyanızda,dependencyResolutionManagement
bloğunun altına Google'ın Maven deposunu ve Maven merkezi deposunu ekleyin:dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { google() mavenCentral() } }
- Modül düzeyindeki
build.gradle.kts
veyabuild.gradle
dosyanıza, Android için Haritalar SDK'sının Google Play Hizmetleri bağımlılığını ekleyin.Kotlin
dependencies { // Maps SDK for Android implementation("com.google.android.gms:play-services-maps:19.0.0") }
Modern
dependencies { // Maps SDK for Android implementation "com.google.android.gms:play-services-maps:19.0.0" }
- Modül düzeyindeki
build.gradle.kts
veyabuild.gradle
dosyanızdacompileSdk
veminSdk
'i aşağıdaki değerlere ayarlayın:Kotlin
android { compileSdk = 34 defaultConfig { minSdk = 21 // ... } }
Modern
android { compileSdk 34 defaultConfig { minSdk 21 // ... } }
- Modül düzeyindeki
build.gradle.kts
veyabuild.gradle
dosyanızınbuildFeatures
bölümüne, bu prosedürde daha sonra tanımlanan meta veri değerlerine erişmek için kullanabileceğinizBuildConfig
sınıfını ekleyin:Kotlin
android { // ... buildFeatures { buildConfig = true // ... } }
Modern
android { // ... buildFeatures { buildConfig true // ... } }
3. Adım: API anahtarınızı projeye ekleyin
Bu bölümde, API anahtarınızı uygulamanız tarafından güvenli bir şekilde referans verilebilmesi için nasıl saklamanız gerektiği açıklanmaktadır. API anahtarınızı sürüm kontrol sisteminize eklememeniz gerektiğinden, anahtarı projenizin kök dizininde bulunan secrets.properties
dosyasında saklamanızı öneririz. secrets.properties
dosyası hakkında daha fazla bilgi için Gradle özellik dosyaları konusuna bakın.
Bu görevi kolaylaştırmak için Android için Secrets Gradle Plugin'i kullanmanızı öneririz.
Android için Secrets Gradle eklentisini Google Haritalar projenize yüklemek üzere:
-
Android Studio'da üst düzey
build.gradle.kts
veyabuild.gradle
dosyanızı açın vebuildscript
altındakidependencies
öğesine aşağıdaki kodu ekleyin.Kotlin
buildscript { dependencies { classpath("com.google.android.libraries.mapsplatform.secrets-gradle-plugin:secrets-gradle-plugin:2.0.1") } }
Modern
buildscript { dependencies { classpath "com.google.android.libraries.mapsplatform.secrets-gradle-plugin:secrets-gradle-plugin:2.0.1" } }
-
Modül düzeyindeki
build.gradle.kts
veyabuild.gradle
dosyanızı açıpplugins
öğesine aşağıdaki kodu ekleyin.Kotlin
plugins { // ... id("com.google.android.libraries.mapsplatform.secrets-gradle-plugin") }
Modern
plugins { // ... id 'com.google.android.libraries.mapsplatform.secrets-gradle-plugin' }
- Modül düzeyindeki
build.gradle.kts
veyabuild.gradle
dosyanızdatargetSdk
vecompileSdk
değerlerinin 34 olarak ayarlandığından emin olun. - Dosyayı kaydedin ve projenizi Gradle ile senkronize edin.
-
Üst düzey dizininizdeki
secrets.properties
dosyasını açıp aşağıdaki kodu ekleyin.YOUR_API_KEY
yerine API anahtarınızı girin.secrets.properties
, sürüm kontrol sistemine kontrol edilmekten hariç tutulduğu için anahtarınızı bu dosyada saklayın.MAPS_API_KEY=YOUR_API_KEY
- Dosyayı kaydedin.
-
local.defaults.properties
dosyasını üst düzey dizininizde,secrets.properties
dosyasıyla aynı klasörde oluşturun ve ardından aşağıdaki kodu ekleyin.MAPS_API_KEY=DEFAULT_API_KEY
Bu dosyanın amacı,
secrets.properties
dosyası bulunamazsa API anahtarı için yedek bir konum sağlamak ve böylece derlemelerin başarısız olmasını önlemektir. Bu durum, uygulamayısecrets.properties
dosyasını atlayan bir sürüm kontrol sisteminden klonladıysanız ve API anahtarınızı sağlamak için henüz yerel olarak birsecrets.properties
dosyası oluşturmadıysanız ortaya çıkabilir. - Dosyayı kaydedin.
-
AndroidManifest.xml
dosyanızdacom.google.android.geo.API_KEY
bölümüne gidin veandroid:value attribute
değerini güncelleyin.<meta-data>
etiketi yoksa<application>
etiketinin alt öğesi olarak oluşturun.<meta-data android:name="com.google.android.geo.API_KEY" android:value="${MAPS_API_KEY}" />
Not:
com.google.android.geo.API_KEY
, API anahtarı için önerilen meta veri adıdır. Bu ada sahip bir anahtar, Android için Haritalar SDK'sı da dahil olmak üzere Android platformundaki birden fazla Google Haritalar tabanlı API'de kimlik doğrulaması yapmak için kullanılabilir. API, geriye dönük uyumluluk içincom.google.android.maps.v2.API_KEY
adını da destekler. Bu eski ad yalnızca Android Maps API v2 ile kimlik doğrulamasına olanak tanır. Bir uygulama, API anahtarı meta veri adlarından yalnızca birini belirtebilir. Her ikisi de belirtilirse API bir istisna oluşturur. -
Android Studio'da modül düzeyindeki
build.gradle.kts
veyabuild.gradle
dosyanızı açıpsecrets
mülkünü düzenleyin.secrets
mülkü yoksa ekleyin.propertiesFileName
değerinisecrets.properties
,defaultPropertiesFileName
değerinilocal.defaults.properties
ve diğer özellikleri ayarlamak için eklentinin özelliklerini düzenleyin.Kotlin
secrets { // To add your Maps API key to this project: // 1. If the secrets.properties file does not exist, create it in the same folder as the local.properties file. // 2. Add this line, where YOUR_API_KEY is your API key: // MAPS_API_KEY=YOUR_API_KEY propertiesFileName = "secrets.properties" // A properties file containing default secret values. This file can be // checked in version control. defaultPropertiesFileName = "local.defaults.properties" // Configure which keys should be ignored by the plugin by providing regular expressions. // "sdk.dir" is ignored by default. ignoreList.add("keyToIgnore") // Ignore the key "keyToIgnore" ignoreList.add("sdk.*") // Ignore all keys matching the regexp "sdk.*" }
Modern
secrets { // To add your Maps API key to this project: // 1. If the secrets.properties file does not exist, create it in the same folder as the local.properties file. // 2. Add this line, where YOUR_API_KEY is your API key: // MAPS_API_KEY=YOUR_API_KEY propertiesFileName = "secrets.properties" // A properties file containing default secret values. This file can be // checked in version control. defaultPropertiesFileName = "local.defaults.properties" // Configure which keys should be ignored by the plugin by providing regular expressions. // "sdk.dir" is ignored by default. ignoreList.add("keyToIgnore") // Ignore the key "keyToIgnore" ignoreList.add("sdk.*") // Ignore all keys matching the regexp "sdk.*" }
4. Adım: Uygulama manifestini güncelleyin
Bu bölümde, AndroidManifest.xml
dosyanıza eklenecek ayarlar açıklanmaktadır.
Google Play Hizmetleri sürüm numarası
application
öğesine aşağıdaki beyanı ekleyin. Bu, uygulamanın derlendiği Google Play Hizmetleri sürümünü yerleştirir.
<meta-data
android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" />
Konum izni
Uygulamanızın kullanıcının konumuna erişmesi gerekiyorsa AndroidManifest.xml
dosyanızda konum iznini istemeniz gerekir. Seçenekler arasında, cihazın tam konumunu sağlayan ACCESS_FINE_LOCATION
ve daha az hassas olan ACCESS_COARSE_LOCATION
yer alır. Ayrıntılar için konum verileri kılavuzunu inceleyin.
ACCESS_FINE_LOCATION
iznini istemek için manifest
öğesine şu kodu ekleyin:
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
Harici depolama izni
Google Play Hizmetleri SDK'sının 8.3 veya sonraki bir sürümünü hedefliyorsanız WRITE_EXTERNAL_STORAGE
iznine ihtiyacınız yoktur. Google Play Hizmetleri SDK'sının önceki sürümlerini hedefliyorsanız manifest
öğesinde WRITE_EXTERNAL_STORAGE iznini istemeniz gerekir.
<uses-permission
android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
Apache HTTP eski kitaplığı
com.google.android.gms:play-services-maps:16.0.0
veya önceki bir sürümü kullanıyorsanız ve uygulamanız API düzeyi 28'i (Android 9.0) veya üstünü hedefliyorsa aşağıdaki beyanı AndroidManifest.xml
öğesinin <application>
öğesine eklemeniz gerekir. Aksi takdirde bu beyanı atlayın.
<uses-library
android:name="org.apache.http.legacy"
android:required="false" />
5. Adım: Android cihazı kurma
Android için Haritalar SDK'sını kullanan bir uygulamayı çalıştırmak istiyorsanız uygulamayı Android 5.0 veya sonraki sürümleri temel alan ve Google API'lerini içeren bir Android cihaza ya da Android emülatörüne dağıtmanız gerekir.
- Android cihaz kullanmak için Uygulamaları donanım cihazında çalıştırma başlıklı makaledeki talimatları uygulayın.
- Android emülatörünü kullanmak için Android Studio ile birlikte gelen Android Virtual Device (AVD) Manager'ı kullanarak sanal cihaz oluşturabilir ve emülatörü yükleyebilirsiniz.
6. adım: İsteğe bağlı olarak Play Hizmeti desteği olup olmadığını kontrol edin
Android için Haritalar SDK'sı, uygulamanızı dağıttığınız cihazda Google Play Hizmetleri'nin yüklü olmasını gerektirir. Google, kontrol etmek için uygulamanızdan çağırabileceğiniz bir yöntem sağlar. Daha fazla bilgi için Google Play Hizmetleri'nin yüklü olup olmadığını kontrol etme başlıklı makaleyi inceleyin.
Sonraki adımlar
Projeniz yapılandırıldıktan sonra harita ekleyebilirsiniz.