Hızlı Başlangıç: Azure Haritalar ile Android uygulaması oluşturma
Bu makalede, Bir Android uygulamasına Azure Haritalar ekleme açıklanmıştır. Bu, şu temel adımlarda size yol boyunca yol verdir:
- Geliştirme ortamınızı ayarlama.
- Kendi Azure Haritalar oluşturun.
- Uygulamada kullanmak için Haritalar Azure depolama anahtarınızı edinin.
- Projedeki Azure Haritalar kitaplıklarına bakın.
- Uygulamaya bir Azure Haritalar denetimi ekleyin.
Önkoşullar
- Azure portal Haritalar kullanarak bir Azure Azure portal. Azure aboneliğiniz yoksa başlamadan önce ücretsiz bir hesap oluşturun.
- Azure Haritalar hesabı yapma
- Birincil anahtar veya abonelik anahtarıolarak da bilinen birincil abonelik anahtarını alın. Azure Haritalar'de kimlik doğrulaması hakkında daha fazla bilgi için bkz. Azure'da kimlik Haritalar.
- Google Android Studio ücretsiz olarak indirin.
Azure Haritalar hesabı oluşturma
Aşağıdaki adımları kullanarak Haritalar azure hesabı oluşturun:
Azure portalının sol üst köşesinde bulunan Kaynak oluştur öğesine tıklayın.
Markette Ara kutusuna Azure Haritalar.
Sonuçlar'dan Azure Haritalar. Haritanın altında görüntülenen Oluştur düğmesine tıklayın.
Haritalar Hesabı Oluştur sayfasında aşağıdaki değerleri girin:
- Bu hesap için kullanmak istediğiniz Abonelik.
- Bu hesap için Kaynak grubu adı. Kaynak grubu için Yeni oluştur veya Mevcut olanı kullan seçeneğini belirleyebilirsiniz.
- Yeni hesabınıza verilen Ad.
- Bu hesabın Fiyatlandırma katmanı.
- Lisans’ı ve Gizlilik Bildirimi’ni okuyun ve onay kutusunu işaretleyerek koşulları kabul edin.
- Oluştur düğmesine tıklayın.
Hesabınızın birincil anahtarını alma
Yeni Haritalar başarıyla oluşturulduktan sonra, api'leri sorgulamanıza olanak Haritalar anahtarı alın.
- Portalda Haritalar hesabınızı açın.
- Ayarlar bölümünde Kimlik Doğrulaması'ı seçin.
- Birincil Anahtar’ı panonuza kopyalayın. Bu öğreticinin ilerleyen kısmında kullanmak üzere bunu yerel olarak kaydedin.
Not
Birincil anahtar yerine Azure abonelik anahtarını Haritalar, haritanız düzgün şekilde iş görünmez. Ayrıca, güvenlik amacıyla birincil ve ikincil anahtarlarınız arasında döndürmeniz önerilir. Anahtarları döndürmek için uygulamanızı ikincil anahtarı kullanmak üzere güncelleştirin, dağıtın ve ardından birincil anahtarın yanındaki döngü/yenileme düğmesine basarak yeni bir birincil anahtar üretin. Eski birincil anahtar devre dışı bırakılır. Anahtar döndürme hakkında daha fazla bilgi için bkz. Anahtar döndürme Azure Key Vault denetim ile anahtar döndürmeyi ayarlama

Android Studio'de proje oluşturma
İlk olarak boş etkinlikle yeni bir proje oluşturun. Yeni bir proje oluşturmak için Android Studio tamamlayın:
- Projenizi seçin altında, Telefon ve Tablet'i seçin. Uygulamanız bu form faktöründe çalıştıracak.
- Telefon ve Tablet sekmesinde Boş Etkinlik'i ve ardından Sonraki'yi seçin.
- Projenizi yapılandır'ın altında en
API 21: Android 5.0.0 (Lollipop)düşük SDK olarak öğesini seçin. Bu, Azure Haritalar Android SDK tarafından desteklenen en eski sürümdür. - Varsayılanı kabul et
Activity NameveLayout NameSon'a seçin.
Yeni Android Studio yükleme ve yeni proje oluşturma hakkında daha fazla Android Studio için Android Studio belgelerine bakın.

Sanal cihaz ayarlama
Android Studio, bilgisayarınızda sanal bir Android cihazı ayarlamanızı sağlar. Bunu yapmak, geliştirme sırasında uygulamalarınızı test etmeye yardımcı olabilir. Bir sanal cihaz ayarlamak için proje ekrannizin sağ üst köşesindeki Android Sanal Cihaz (AVD) Yöneticisi simgesini ve ardından Sanal Cihaz Oluştur'u seçin. Araç çubuğundan Araçlar Android AVD Yöneticisi'ni seçerek > > AVD Yöneticisi'ne de çıkabilirsiniz. Telefonlar kategorisinde Nexus 5X'i ve ardından Sonraki'yi seçin.
AVD ayarlama hakkında daha fazla bilgi edinmek için Android Studio edinebilirsiniz.

Azure Haritalar Android SDK
Uygulamalarınızı inşa etmek için sonraki adım, Azure Haritalar Android SDK. SDK'yı yüklemek için şu adımları tamamlayın:
Üst düzey build.gradle dosyasını açın ve aşağıdaki kodu tüm projeler , depolar bloğu bölümüne ekleyin:
maven { url "https://atlas.microsoft.com/sdk/android" }App/build.gradle'nizi güncelleştirin ve buna aşağıdaki kodu ekleyin:
Projenizin minSdkVersion'un API 21 veya daha yüksek bir sürümde olduğundan emin olun.
Android bölümüne aşağıdaki kodu ekleyin:
compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 }Bağımlılıklar bloğularınızı güncelleştirin ve en son Azure aboneliği için yeni bir uygulama bağımlılık Haritalar Android SDK:
implementation "com.azure.android:azure-maps-control:1.0.0"Not
Kodunuzun her zaman en son sürüme işaret etmek için sürüm numarasını "0+" olarak ayarlayın.
Araç çubuğunda Dosya'ya gidin ve Gradle Dosyaları ile Project'a tıklayın.
Ana etkinliğine bir harita parçası ekleyin (res > layout > activity _main.xml):
<com.azure.android.maps.control.MapControl android:id="@+id/mapcontrol" android:layout_width="match_parent" android:layout_height="match_parent" />
MainActivity.java dosyasında şunları gerekir:
- Azure Haritalar SDK'sı için içeri aktarmalar ekleme
- Azure kimlik doğrulaması Haritalar ayarlama
- onCreate yönteminde harita denetimi örneğini elde etme
sınıfındaki kimlik doğrulama bilgilerini veya yöntemlerini kullanarak genel olarak ayarlama, kimlik doğrulama bilgilerini her görünüme
AzureMapssetSubscriptionKeysetAadPropertieseklemenize gerek olmayacak şekilde yapar.Harita denetimi, Android'in OpenGL yaşam döngüsünü yönetmek için kendi yaşam döngüsü yöntemlerini içerir. Bu yaşam döngüsü yöntemleri doğrudan içeren Etkinlik'den çağrılmalı. Uygulamanıza harita denetimi yaşam döngüsü yöntemlerini doğru şekilde çağıranın, harita denetimi içeren Etkinlik'te aşağıdaki yaşam döngüsü yöntemlerini geçersiz kılmanız gerekir. Ayrıca, ilgili eşleme denetimi yöntemini çağırmalısiniz.
onCreate(Bundle)onDestroy()onLowMemory()onPause()onResume()onSaveInstanceState(Bundle)onStart()onStop()
MainActivity.java dosyasını aşağıdaki gibi düzenleyin:
package com.example.myapplication; import androidx.appcompat.app.AppCompatActivity; import com.azure.android.maps.control.AzureMaps; import com.azure.android.maps.control.MapControl; import com.azure.android.maps.control.layer.SymbolLayer; import com.azure.android.maps.control.options.MapStyle; import com.azure.android.maps.control.source.DataSource; public class MainActivity extends AppCompatActivity { static { AzureMaps.setSubscriptionKey("<Your Azure Maps subscription key>"); //Alternatively use Azure Active Directory authenticate. //AzureMaps.setAadProperties("<Your aad clientId>", "<Your aad AppId>", "<Your aad Tenant>"); } MapControl mapControl; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mapControl = findViewById(R.id.mapcontrol); mapControl.onCreate(savedInstanceState); //Wait until the map resources are ready. mapControl.onReady(map -> { //Add your post map load code here. }); } @Override public void onResume() { super.onResume(); mapControl.onResume(); } @Override protected void onStart(){ super.onStart(); mapControl.onStart(); } @Override public void onPause() { super.onPause(); mapControl.onPause(); } @Override public void onStop() { super.onStop(); mapControl.onStop(); } @Override public void onLowMemory() { super.onLowMemory(); mapControl.onLowMemory(); } @Override protected void onDestroy() { super.onDestroy(); mapControl.onDestroy(); } @Override protected void onSaveInstanceState(Bundle outState) { super.onSaveInstanceState(outState); mapControl.onSaveInstanceState(outState); }}Not
Önceki adımları tamamlandıktan sonra, bazı kodlar hakkında Android Studio uyarılarla karşına çıkabilirsiniz. Bu uyarıları çözmek için içinde başvurulan sınıfları içeri
MainActivity.javaaktarın. (Mac'te) öğesini seçerekAlt+Enterbu sınıfları otomatikOption+Returnolarak içeri aktarabilirsiniz.
MainActivity.kt dosyasında şunları yapmak gerekir:
- Azure Haritalar SDK'sı için içeri aktarmalar ekleme
- Azure kimlik doğrulaması Haritalar ayarlama
- onCreate yönteminde harita denetimi örneğini elde etme
sınıfındaki kimlik doğrulama bilgilerini veya yöntemlerini kullanarak genel olarak ayarlama, kimlik doğrulama bilgilerini her görünüme
AzureMapssetSubscriptionKeysetAadPropertieseklemenize gerek olmayacak şekilde yapar.Harita denetimi, Android'in OpenGL yaşam döngüsünü yönetmek için kendi yaşam döngüsü yöntemlerini içerir. Bu yaşam döngüsü yöntemleri doğrudan içeren Etkinlik'den çağrılmalı. Uygulamanıza harita denetimi yaşam döngüsü yöntemlerini doğru şekilde çağıranın, harita denetimi içeren Etkinlik'te aşağıdaki yaşam döngüsü yöntemlerini geçersiz kılmanız gerekir. Ayrıca, ilgili eşleme denetimi yöntemini çağırmalısiniz.
onCreate(Bundle)onDestroy()onLowMemory()onPause()onResume()onSaveInstanceState(Bundle)onStart()onStop()
MainActivity.kt dosyasını aşağıdaki gibi düzenleyin:
package com.example.myapplication; import androidx.appcompat.app.AppCompatActivity import android.os.Bundle import com.azure.android.maps.control.AzureMap import com.azure.android.maps.control.AzureMaps import com.azure.android.maps.control.MapControl import com.azure.android.maps.control.events.OnReady class MainActivity : AppCompatActivity() { companion object { init { AzureMaps.setSubscriptionKey("<Your Azure Maps subscription key>"); //Alternatively use Azure Active Directory authenticate. //AzureMaps.setAadProperties("<Your aad clientId>", "<Your aad AppId>", "<Your aad Tenant>"); } } var mapControl: MapControl? = null override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) mapControl = findViewById(R.id.mapcontrol) mapControl?.onCreate(savedInstanceState) //Wait until the map resources are ready. mapControl?.onReady(OnReady { map: AzureMap -> }) } public override fun onStart() { super.onStart() mapControl?.onStart() } public override fun onResume() { super.onResume() mapControl?.onResume() } public override fun onPause() { mapControl?.onPause() super.onPause() } public override fun onStop() { mapControl?.onStop() super.onStop() } override fun onLowMemory() { mapControl?.onLowMemory() super.onLowMemory() } override fun onDestroy() { mapControl?.onDestroy() super.onDestroy() } override fun onSaveInstanceState(outState: Bundle) { super.onSaveInstanceState(outState) mapControl?.onSaveInstanceState(outState) } }Not
Önceki adımları tamamlandıktan sonra, bazı kodlar hakkında Android Studio uyarılarla karşına çıkabilirsiniz. Bu uyarıları çözmek için içinde başvurulan sınıfları içeri
MainActivity.ktaktarın. (Mac'te) öğesini seçerekAlt+Enterbu sınıfları otomatikOption+Returnolarak içeri aktarabilirsiniz.
Aşağıdaki grafikte gösterildiği gibi çalıştır düğmesini seçin (veya
Control+RMac'te tuşuna basın).
Android Studio birkaç saniye sürer. Derleme tamamlandıktan sonra, öykünülen Android cihazında uygulamalarınızı test edebilirsiniz. Aşağıdakine benzer bir harita görüyor gerekir:

Kaynakları temizleme
Uyarı
Sonraki Adımlar bölümünde listelenen öğreticiler, Hesabınızla Azure Haritalar yapılandırma hakkında ayrıntılı bilgi sağlar. Öğreticilere devam etmek için bu hızlı başlangıçta oluşturulan kaynakları temizlemeyebilirsiniz.
Öğreticilere devam etme planınız yoksa, kaynakları temizlemek için şu adımları uygulayın:
- Uygulamayı Android Studio ve oluşturduğunuz uygulamayı silin.
- Uygulamayı bir dış cihazda test ettiyebilirsiniz, uygulamayı bu cihazdan kaldırın.
Azure Haritalar Android SDK ile geliştirmeye devam etme planınız yoksa:
- Azure portal gidin. Ana portal sayfasından Tüm kaynaklar'ı seçin. Veya sol üst köşedeki menü simgesine tıklayın. Tüm kaynaklar’ı seçin.
- Azure Haritalar tıklayın. Sayfanın üst kısmında Sil'e tıklayın.
- İsteğe bağlı olarak, Android uygulamaları geliştirmeye devam etme planınız yoksa, Android Studio.
Daha fazla kod örneği için şu kılavuzlara bakın:
- Azure Haritalar'de kimlik doğrulamasını yönetme
- Android haritalarda harita stillerini değiştirme
- Sembol katmanı ekleme
- Çizgi katmanı ekleme
- Çokgen katmanı ekleme
Sonraki adımlar
Bu hızlı başlangıçta, Azure Haritalar hesabını ve bir tanıtım uygulaması oluşturdunız. Azure Hizmetleri hakkında daha fazla bilgi edinmek için aşağıdaki öğreticilere Haritalar: