API & Library

Haritada Pin Drag & Drop ile Konum Gösterme

Harita ve konum teknolojileri ile hayatımızdaki birçok probleme çözüm sağlayarak işlerimizi kolaylaştırıyoruz. Bu yüzden yazılım projelerimizde harita kullanımı çok önemlidir.

Bu makale Android uygulamada Google map üzerinde kullanıcının geçerli konumunu göstermeyi ve marker’ın (pin)  sürüklenip bırakıldığı noktanın konum bilgilerini göstermeyi örnekleyecektir.

Proje kodlarına github linkinden ulaşabilirsiniz.

Örnek projemizi için sırasıyla ayar adımlarını ve kodlarımızı uygulayalım.

1- Google Play Services Yükleme

Google haritayla ilgili bir geliştirme yapacağımızdan dolayı, Google Play Services yüklememiz gerekmektedir. Bunun için Tools->Sdk manager’ı açıp Sdk Tools bölümünden Google Play Services işaretleyip, yükleme işlemini gerçekleştirin.

2- Google Maps API Key Oluşturma

Google Cloud sitesinde API Key oluşturma adımları video anlatmış bulunmaktayım. Videoda Direction API yerine Maps SDK for Android kütüphanesini aktif etmenizi öneririm.

3-Gerekli Kütüphanelerin Eklenmesi

Android Studio Ide ile oluşturduğum projemin app dizinin altındaki build.gradle dosyasını açıyoruz. Dependencies kod bloklarının arasına aşağıdaki kodları yerleştirerek Google Play services kütüphanesini yüklüyoruz.

4-AndroidManifest Dosyasına İlgili Ayarları Ekleme

Belirtilecek konumun yer bilgisini almak için internet iznine ihtiyaç bulunmaktadır. Aşağıdaki izin kodunu da AndroidManifest.xml dosyasında application tag’nin üst kısmına yerleştirin.

AndroidManifest dosyasına, daha önce üretmiş olduğumuz Google API Key’i ekleme işlemini yapacağız. Application tag arasına aşağıda görmüş olduğunuz meta-data tag kodunun içindeki value özelliğine Google API Key’i ekleyeniz.

 5- Haritayı Tasarımda Tanımlama

Harita sınıfını kullanacak xml tasarım şablonumuza Fragment arayüz elementi eklemeliyiz. android:name özelliğinede  com.google.android.gms.maps.SupportMapFragment   eklemeliyiz.

6- Kotlin ile Haritada Anlık Konum ve Marker’ın Sürüklendiği Adresi Bulma

Hazırladığım kodları aşama aşama açıklamalarını yazmış bulunmaktayım. Fonksiyonların özelliklerini özetleyelim.

getLocation fonksiyonunda izinleri ve xml yapısındaki SupportMapFragment tanımladım.

onMapReady fonksiyonunda ilk öncelikle anlık adres bilgisini marker ile haritada tanımladım. Sonrasında  setOnMarkerDragListener  metodu ile marker’ın sürüklendiği anın dinlenmesi ve marker’ın haritada bırakıldığı noktadaki konum bilgisini alıp arayüz de yansıtılması sağladım. Bu açıkladığım fonksiyonların içinde moveMarker ve getTheAddress metodlarını kullandım. Detaylarını kod yorumlarında bulabilirsiniz.

Proje kodlarına github linkinden ulaşabilirsiniz.

Bülten
Bültene abone ol

Bültene abone olarak yeni makalelerimden haberdar olun.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir