İstanbul
+90 543 947 95 80
info@jeffbezosweb.com

Kontrollü Görüntüleme

Web Danışmanlık Hizmeti, Seo Hizmeti Al, Mobile Uygulama Yaptır, Back Link Satın Al, Blog Yazdırmak İstiyorum, Web Sitemi Tanıtmak İstiyorum, İngilizce Blog Yazdırmak İstiyorum, Makale YAZDIRMA siteleri, Parayla makale YAZDIRMA, Seo makale fiyatları, Sayfa başı yazı yazma ücreti, İngilizce makale yazdırma, Akademik makale YAZDIRMA, Makale Fiyatları 2022, Makale yazma, Blog Yazdırma, Tasarım Yaptırmak İstiyorum, Tüm bu hizmetlerimizden yararlanmak için mail kanalımızı veya sağ alt köşedeki Whatsapp tuşumuzu kullanabilirsiniz. info@jeffbezosweb.com

Kontrollü Görüntüleme

Kontrollü Görüntüleme

Kontrollü Görüntüleme

MapView’ı onCreate() kullanarak görüntülemek, başka herhangi bir kontrolü görüntülemekten farklı değildir. Yani, kullanıcı arayüzünün içerik görünümünü, MapView’ü içeren ve bununla ilgilenen bir düzen dosyasına ayarlarsınız. Şaşırtıcı bir şekilde, yakınlaştırma özelliklerini desteklemek de oldukça kolaydır.

Yakınlaştırmak veya uzaklaştırmak için MapView’ün MapController sınıfını kullanırsınız. Bunu, mapView.getController() öğesini çağırarak ve ardından uygun zoomIn() veya zoomOut() yöntemini çağırarak yapın. Bu şekilde yakınlaştırma, tek düzeyli bir yakınlaştırma sağlar; kullanıcıların büyütme veya küçültme miktarını artırmak için işlemi tekrarlaması gerekir.

Ayrıca, görüntüleme modlarını değiştirme yeteneği sunmayı da kolay bulacaksınız. MapView birkaç modu destekler: harita, cadde, uydu ve trafik. Harita varsayılan moddur. Sokak modu, haritanın üstüne yol adları gibi sokak bilgilerini içeren bir katman yerleştirir. Uydu modu, haritayı uydu görünümünde gösterir.

Trafik modu, trafik bilgilerini haritada gösterir. Trafik modunun sınırlı sayıda ana otoyolda desteklendiğini unutmayın. Modları değiştirmek için uygun ayarlayıcı yöntemini true ile çağırmalı ve diğer modları false olarak ayarlamalısınız. Bunun nedeni, bir modun başka bir modun üzerine bindirilebilmesidir. Örneğin, uydu ve sokak modlarını üst üste bindirebilirsiniz.

Bir haritayı görüntülemek ve yakınlaştırma ve mod değişikliklerini uygulamak için gereken kod miktarının Android ile minimum düzeyde olduğunu muhtemelen kabul edeceksiniz. Android’in haritalama yeteneği kesinlikle rakipsizdir. Kodun daha da kolaylaşması bazılarınız için şok olabilir. Gösterilen XML düzenine ve koda bir göz atın.

Aradaki fark, bizim görüşümüz için XML düzenini RelativeLayout kullanacak şekilde değiştirmiş olmamızdır. Tüm yakınlaştırma kontrollerini ve görüntüleme modu kontrollerini kaldırdık ve bunları ekranın alt kısmına yönlendirilmiş boş bir LinearLayout ile değiştirdik. Bu örnekteki sihir düzende değil koddadır.

Özellikle, LinearLayout’u mapView.getZoomControls() ile doldurduğumuza dikkat edin. Bu, MapView’in zaten yakınlaştırıp uzaklaştırmanıza izin veren kontrollere sahip olduğu anlamına gelir. Tek yapmanız gereken, kontrollere bir referans almak ve ardından onu görünümünüze eklemek (nerede isterseniz). MapView’ün varsayılan yakınlaştırma kontrollerini gösterir.

Henüz işimiz bitmedi. MapView kontrolü çok güçlüdür. Listelemenin onCreate() yöntemindeki son satır mapView.setClickable(true) öğesini çağırır. Bu, aslında, haritanın kaydırılmasını sağlar. Şimdi haritaya özel verilerin nasıl ekleneceğini öğrenelim.

Katmanları Kullanma

Google Haritalar, özel verileri haritanın üstüne yerleştirmenize izin veren bir olanak sağlar. Bölgenizdeki pizza restoranlarını ararsanız bunun bir örneğini görebilirsiniz: Google Haritalar, her konumu belirtmek için raptiyeler veya balon işaretçileri yerleştirir.

Google Haritalar’ın bu kolaylığı sağlama şekli, haritanın üstüne bir katman eklemenize izin vermesidir. Android, bir haritaya katman eklemenize yardımcı olan çeşitli sınıflar sağlar. Bu tür işlevsellik için anahtar sınıf Overlay’dir, ancak bu sınıfın ItemizedOverlay adlı bir uzantısını kullanabilirsiniz.

İşaretçileri bir harita üzerine nasıl yerleştirebileceğinizi gösterir. Örnek iki işaret yerleştirir. Bir haritaya işaretçi ekleyebilmeniz için, haritaya bir com.google.android.maps.Overlay uzantısı oluşturmanız ve eklemeniz gerekir. Overlay sınıfının kendisi başlatılamaz, bu nedenle onu genişletmeniz veya uzantılardan birini kullanmanız gerekir. Örneğimizde, ItemizedOverlay’i genişleten ve karşılığında Overlay’i genişleten InterestLocations’ı uyguladık.

Overlay sınıfı, bir kaplama için sözleşmeyi tanımlar ve ItemizedOverlay, bir harita üzerinde işaretlenebilecek konumların bir listesini oluşturmanızı kolaylaştıran kullanışlı bir uygulamadır. Genel kullanım modeli, ItemizedOverlay sınıfını genişletmek ve yapıcıya “öğelerinizi” ilginç konumları eklemektir. İlgi noktalarınızı oluşturduktan sonra, ItemizedOverlay’in populate() yöntemini çağırırsınız.

populate() yöntemi, OverlayItem(ler)i önbelleğe alan bir yardımcı programdır. Dahili olarak sınıf, bindirme öğelerinin sayısını belirlemek için size() yöntemini çağırır ve ardından her öğe için createItem(i) öğesini çağıran bir döngüye girer. createItem yönteminde, dizideki indeks verilen önceden oluşturulmuş öğeyi döndürürsünüz.

Listelemeden görebileceğiniz gibi, noktaları oluşturmanız ve işaretçileri bir harita üzerinde göstermek için populate() işlevini çağırmanız yeterlidir. Yer Paylaşımı sözleşmesi gerisini yönetir. Her şeyin işe yaraması için, etkinliğin onCreate() yöntemi, işaretçiler için kullanılan Drawable’ı geçirerek InterestingLocations örneğini oluşturur.


Google Etkinlik geçmişi
Etkinlik Geçmişi
Etkinliğim
Google Kişiler
Google Etkinliğim
Kişilerim
Rehberde kaç kişi var nasıl öğrenebilirim
etkinliğim’e git


Ardından onCreate(), Bindirme koleksiyonuna (mapView.getOverlays().add()) InterestingLocations örneğini ekler. Listelemenin bir başka ilginç yönü de OverlayItem(ler)in oluşturulmasıdır. Sırayla OverlayItem oluşturmak için GeoPoint türünde bir nesneye ihtiyacınız vardır.

GeoPoint sınıfı, bir konumu mikro derece cinsinden enlem ve boylamına göre temsil eder. Örneğimizde, web üzerindeki coğrafi kodlama sitelerini kullanarak Magic Kingdom ve Seven Seas Lagoon’un enlem ve boylamını elde ettik. (Kısaca göreceğiniz gibi, örneğin bir adresi enlem/boylam çiftine dönüştürmek için coğrafi kodlamayı kullanabilirsiniz.) Daha sonra enlem ve boylamı 1.000.000 ile çarparak mikro derecelere (çünkü API’ler mikro derecelerde çalışır) çevirdik. 

Sonuç olarak, bir haritaya işaretçi yerleştirmenin daha kolay olamayacağını kabul edeceksiniz. Yoksa olabilir mi? Enlem/boylam çiftlerinden oluşan bir veri tabanımız yok, ancak gerçek bir adres kullanarak bir veya daha fazla GeoPoint oluşturmamız gerekeceğini tahmin ediyoruz. İşte o zaman, daha sonra tartışacağımız konum paketinin bir parçası olan Geocoder’ı kullanabilirsiniz.

Konum Paketini Anlamak

android.location paketi, konum tabanlı hizmetler için olanaklar sağlar. Bu noktada, bu paketin iki önemli parçasını ele alacağız: Geocoder sınıfı ve LocationManager hizmeti. Geocoder ile başlayacağız.

Android İle Coğrafi Kodlama

Haritalarla pratik bir şey yapacaksanız, muhtemelen bir adresi (veya konumu) bir enlem/boylam çiftine dönüştürmeniz gerekecektir. Geocoding olarak bilinen bu kavram ve android. location.Geocoder sınıfı bu kolaylığı sağlar. Aslında, Geocoder sınıfı hem ileri hem de geri dönüştürme sağlar; bir adres alabilir ve bir enlem/boylam çifti döndürebilir ve bir enlem/boylam çiftini bir adres listesine çevirebilir.

Bir konumun çeşitli şekillerde tanımlanabilmesi nedeniyle, bir adresi hesaplamanın kesin bir bilim olmadığı ortaya çıktı. Örneğin, getFromLocationName() yöntemleri, bir yerin adını, fiziksel adresi, bir havaalanı kodunu veya yalnızca iyi bilinen bir adı alabilir.

Bu nedenle, yöntemler tek bir adres değil, bir adres listesi sağlar. Yöntemler bir liste döndürdüğü için, maxResults için 1 ile 5 arasında bir değer sağlayarak sonuç kümesini sınırlandırmanız önerilir.  Liste, gösterilen kullanıcı arayüzü için XML düzenini ve karşılık gelen kodu gösterir. Örneği çalıştırmak için listeyi kendi map-api anahtarınızla güncellemeniz gerekir.


Web sitelerinizi, arama motorlarında en yukarı getirmek adına sizlere 3 adet paket öneriyoruz. Bu paketler sayesinde web siteleriniz aramalarda 1 yıl içerisinde en yukarıya tırmanacaktır. 

1) Backlink Paketi  50 $ (Yıllık Ücret)
2) Hızlandırma Paketi 300 $ (Yıllık Ücret)
3) Kelime Yönlendirme Paketi 150 $ (Aylık Ücret)


 

 

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

× Bize Whatsapp'tan Ulaşın