Google Maps API Android
Selam!
Bu yazımızda Android projemize Google Maps desteği nasıl sağlanır bundan bahsedeceğiz…
Varsayalım ki, bir Android projenize harita desteği sunmak istiyorsunuz. Bunun için bazı ihtiyaçlarınız olacak. Öncelikle ~Android Studio kullandığınızı varsayarak~ Google location API’lerine ulaşmanız gerekmekte. API dediğimiz şey Application Programming Interface yani Uygulama Programlama Arayüzü. API’ı kısaca açıklayacak olursak; ‘x’ bir uygulamanız var ve siz ‘y’ uygulamasına ait API kullanarak ‘x’ uygulamanıza ‘y’ uygulamasındaki özellikleri kazandırabilirsiniz. Yani, yapacağımız uygulamaya Google Maps desteği sağlayarak kendi haritamızı, uygulamamızda göstermeyi hedefliyoruz! Bu desteği sağlamak için kullanacağımız Google location API’ler, Android SDK kurulumu ile birlikte gelmezler. Manuel olarak kurmanız gerekmekte. Konum ve harita kütüphaneleri Google Play Services SDK içerisinde bulunmaktadır. Google Play Services SDK’yı Android Studio’da bulunan SDK Manager ile indirebilirsiniz.
SDK Manager’ınızı çalıştırdığınızda SDK Tools menüsünde Google Play Services ‘Not installed’ olarak gelecektir. Google Play services’i seçip ‘Apply’ yaptığınızda yükleme gerçekleşecektir. Show Package Details seçeneğini işaretleyerek Google API sınıflarının da kurulu olduğundan emin olun. SDK Android Studio’ya vermiş olduğunuz SDK yükleme dizinin altına yüklenecektir. Bu dizin altında Google Play Services’in örnek projelerine de ulaşabilirsiniz. Uygulamanızı geliştirmeden önce indirdiğimiz Google Play Services SDK’yı build.gradle dosyasına compile etmeniz gerekir. “compile ‘com.google.android.gms:play-services:7.8.0’” satırını build.gradle dosyasına yazdığınız vakit Location API’lerini kullanmaya başlayabilirsiniz. Ufak bir not: uygulamanızda konum bilgisi almadan cihazda önce Google Play Services uygulamasının kurulu olup olmadığına bakın. Android 4.2.2 ve üstü platformlarda Google Play Services uygulaması kurulu gelir ancak bu platformun altındaki cihazlar için mutlaka kontrol etmelisiniz… Bu kısım halledildiyse bir sonraki aşamaya geçebiliriz.
Maps API v1 ilk yayınlandığı zaman MapView adı verilen layout’lar sayesinde yapılıyordu. Google Maps API v2 ise MapFragment kullanmaktadır. v2, v1'e göre daha hızlıdır, üç boyutludur ve farklı kamera açılarından görüntülenebilir. Google Maps API v2 kütüphanesi için Google üzerinden bir key almalısınız. Bu key Google servisine kendinizi tanıtır ve Maps API kullanacağınızı belirtir. Key için bir gmail hesabınız gerekli. https://console.developers.google.com/project sitesine ilerleyerek, ‘Proje Oluştur’ seçeneğine basın. Projeye bir isim vererek devam edin. Ben rastgele “test” diyerek devam ettim:
Yukarıdaki ekrandan önce Kontrol Paneli açılabilir. Burada projenizin trafik bilgileri, hatalar gibi bilgilerini görebilirsiniz. Key oluşturmak için Kimlik Bilgileri seçeneğine geldikten sonra Kimlik bilgilerini oluştur seçeneğine tıklayın. Site otomatik olarak random karakterler içeren bir keyi sizin adınıza tanımlar. Keyi kimseyle paylaşmayın. Ben daha önceden bir key oluşturmuştum.
API key yanında bir ünlem işareti olabilir. Bu işaret, keyi kısıtlamadığınızı gösterir. Keyi kısıtlamanız önerilir. İstediğiniz zaman bu keyi silip yeni key alabilirsiniz. Aynı şekilde bir projeyi de silebilirsiniz. Projeyi tamamen kaldırmak 1 ay sürer…
Keyi de hallettiğimize göre tekrar Android Studio’ya dönebiliriz. Keyi projemizin neresine yazacağız diye düşünmenize biraz imkân vererek, harita projesinin XML dosyasına göz atalım.
XML dosyamızın içeriğinde bu var, gayet basit. Relative Layout’a fragment ekliyoruz. Şimdi gelelim java dosyamıza:
Android Studio başlatırken Google Maps uygulamasını seçerseniz daha farklı bir java dosyanız olabilir. Birçok farklı metodlar bulunmakta. En önemlisi onMapReady() metodu. Haritayı kendinize göre bu metodda şekillendirebilirsiniz: harita başlarken hangi konumda başlamalı, haritada özel işaretçiler tanımlama, kullanıcının harita üzerinde seçeceği yere işaretçi tanımlama gibi birçok işlemi yapabilirsiniz. Son olarak key, AndroidManifest.xml dosyasına yazılır:
Sizin farklı AndroidManifest dosyalarınız olabilir. Mesela ben projeme internet izni ve konum izni verdim. Sonuç olarak key <meta-data kısmına yazılır. Keyi direkt olarak manifeste yazmayıp strings.xml’den çekenlerde var, bu da yapılabilir. Manifest dosyasına dikkat ettiyseniz <meta-data içerisinde Google Play Services versiyon dikkatinizi çekmiştir. Google Play Services versiyonunuzu manifest dosyasınızda belirtmelisiniz. Konuyu yavaştan toparlayacak olursak, uygulamanıza harita desteği vermeniz gerekiyorsa Google haritalar kullanmanızda fayda var. Gerek çok kapsamlı oluşu, gerekse sürekli güncel ve bilgilerin taze olması sizi doğru sonuca ulaştıracaktır. Unutmadan, neredeyse kod yazmadan yaptığımız bu uygulamanın çıktısı elbette gayet sade olacaktır:
Bir sonraki yazımızda tekrar buluşmak dileğiyle, esen kalın…