Xamarin Forms Harita ve Konum Bulma

Günümüzde bir çok uygulamada haritadan bir yer bulma veya konumdan yararlanma özellikleri kullanılıyor. Hemen hemen her uygulama da bunlar var. Eğer sizde haritalı bir ekran göstermek istiyorsanız veya kullanıcının konumunu bulmak istiyorsanız bu yazı size yardımcı olacaktır.

İlk olarak projemizi açıyoruz. Shared veya portable olan kısımda siz kendi ihtiyacınıza göre bir seçim yapabilirsiniz. Ben portable seçip projemi oluşturuyorum. Ardından her projede olduğu gibi Nuget paketlerinden Xamarin.Forms paketini güncelliyorum. Sonrasında ise eski kütüphanelerin silinip bir karışıklık yapmaması için projeyi clean edip sonrasında rebuild ediyorum. Böylece Xamarin.Formsun en güncel halinden yararlanabiliyorum. Sonrasında ise Nuget paketlerinden Xamarin Forms Maps paketini yüklüyoruz. Ardından Google haritaları kullanacağımız için buradan bir key almamız gerekiyor. Bunun için bu adrese gitmeniz gerekmekte. Eğer bir hesabınız varsa direk yönlendirileceksiniz ama yoksa yeni bir hesap açmak fazla zamanınızı almayacaktır. Yeni bir uygulama da açabilirsiniz bu ekrandan var olan bir uygulamanızı da seçebilirsiniz. Bu işlemlerden sonra karşınıza böyle bir key ekranı çıkacaktır.

Bu ekranda gördüğümüz keyi projemizde bulunan Android kısmında ki propertiesin altında bulunan AndroidManifest.xml kısmında hem izin vermemiz gerekiyor hemde bu keyi buraya koymamız lazım.

Bütün bu işlemleri yaptıktan sonra şimdi harita sayfamızı oluşturmaya geldi. Bunun için bir sınıf açıyorum. Sınıfın bir sayfa olması için bir pageden kalıtım almamız gerekiyor. Bunun için bu sınıfı ContentPage’den kalıtım alacak şekilde ayarlıyoruz. Bu sınıf ilk başlandığı zaman harita oluşturulması lazım. Bunun için bir fonksiyon yazıyoruz. Fonksiyonda Map sınıfından bir nesne alıyoruz bu nesneden haritanın nasıl şekilleceğini belirliyoruz. Haritanın yakınlaştırılıp uzaklaştırılmasını ve kaydırılması özelliklerini veriyoruz. Haritanın nasıl bir tip olacağını da belirttikten sonra harita üzerinde pin çıkartmak istiyorsak pinlerde oluşturabiliyoruz. İsteğe bağlı olarak oluşturduğumuz pinleri harita sınıfından aldığımız nesneye eklememiz gerekiyor pinlerin haritada gözükmesi için. Haritanın açıldığından hangi bölgede açılıp , uzaklığını ayarlamamız gerekiyor.

Pinlere tıklandığında bir olay olmasını istiyorsak da bunlar için bir fonksiyon oluşturmamız gerekiyor.  Ben burada pine tıklandığında bir mesaj gösterme işlemi yaptım ancak farklı sayfalara veya ne yapmak istiyorsanız ona göre ayarlayabilirsiniz.

Haritayı kullanıcıların konumuna göre açmak istiyorsanız bunun için ayrı bir Nuget paketi yüklememiz lazım. Bu paketin adı Xam.Plugin.Geolocator.  Sonrasında ise harita sayfasında ise konum bulma işlemlerini yapıp konum koordinatlarını double değişkenlerine atıyoruz. Böylece işlemlerimizi tamamlamış oluyoruz.

Dileyen olursa projeyi github üzerine de atabilirim. Sorunuz olursa mail veya yorum şeklinde iletebilirsiniz.

One thought on “Xamarin Forms Harita ve Konum Bulma

Leave a Comment

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

This site uses Akismet to reduce spam. Learn how your comment data is processed.