Android Yardımcı Program Kitaplığı için Haritalar SDK'sı

Platform seçin: Android iOS

Haritalarınıza ekleyebileceğiniz ileri seviye özellikler mi arıyorsunuz? Android Yardımcı Program Kitaplığı İçin Haritalar SDK'sı, çeşitli uygulamalar için kullanışlı olan açık kaynaklı bir sınıf kitaplığıdır. GitHub deposu, yardımcı sınıfları ve her sınıfın kullanımını gösteren bir demo uygulamasını içerir.

Bu videoda Chris Broadfoot, çoklu çizgi kod çözme, küresel geometri ve baloncuk simgelerine odaklanarak yardımcı program kitaplığını anlatıyor.

Hızlı kurulum

Android Yardımcı Program Kitaplığı İçin Haritalar SDK'sını yüklemek için kurulum kılavuzunu inceleyin.

Yardımcı programlar

GeoJSON katmanı içeren bir harita

GeoJSON'u haritanıza aktarma

Özellikleri GeoJSON biçiminde depolayabilir ve bu yardımcı programı kullanarak haritanın üzerinde katman olarak oluşturabilirsiniz. GeoJSON verilerinizi haritaya eklemek için addLayer() yöntemini çağırın. Ayrıca addFeature() yöntemini çağırıp bir GeoJsonFeature nesnesi ileterek özellikleri tek tek ekleyebilirsiniz.

Ayrıntılar için Google Haritalar Android GeoJSON Yardımcı Programı ile ilgili belgelere bakın.

KML katmanı içeren bir harita

KML'yi haritanıza aktarma

Bu yardımcı programı kullanarak KML nesnelerini coğrafi şekillere dönüştürebilir ve haritanın üzerinde bir katman olarak oluşturabilirsiniz. Katmanınızı haritaya eklemek için addLayerToMap() yöntemini çağırın. Herhangi bir Yer İşareti, GroundOverlay, Doküman veya Klasör'de getProperties() yöntemini çağırarak KML nesnesindeki özelliklere erişebilirsiniz.

Ayrıntılar için Google Haritalar Android KML Yardımcı Programı ile ilgili belgelere bakın.

Isı haritası içeren bir harita

Haritanıza ısı haritaları ekleme

Isı haritaları, izleyicilerin haritadaki veri noktalarının dağılımını ve göreceli yoğunluğunu anlamasına yardımcı olur. Isı haritaları, her konuma bir işaretçi yerleştirmek yerine verilerin dağılımını göstermek için renk ve şekil kullanır. Haritadaki önemli yerleri temsil eden LatLng nesnelerinin bir koleksiyonunu ileterek HeatmapTileProvider oluşturun. Ardından, ısı haritası karo sağlayıcısını ileterek yeni bir TileOverlay oluşturun ve karo yer paylaşımını haritaya ekleyin.

Ayrıntılar için Google Haritalar Android Isı Haritası Yardımcı Programı ile ilgili belgelere bakın.

Kabarcık simgeleri içeren bir harita

İşaretçileri baloncuk simgeleriyle özelleştirme

İşaretçilerinizde bilgi snippet'leri görüntülemek için IconGenerator ekleyin. Bu yardımcı program, işaretçi simgelerinizin bilgi pencerelerine benzemesini sağlar. İşaretçinin kendisi metin ve başka içerikler barındırabilir. Aynı anda yalnızca bir bilgi penceresi açık olabilirken birden fazla işaretçiyi aynı anda açık tutabilmeniz avantaj sağlar. Ayrıca işaretçileri stillendirebilir, işaretçinin ve/veya içeriğin yönünü değiştirebilir ve işaretçinin arka plan resmini/nine-patch'ini değiştirebilirsiniz.

İşaretçi içeren bir harita

İşaretçilere animasyon ekleme

Bir işaretçiyi mevcut konumundan yeni bir konuma sorunsuz bir şekilde hareket edecek şekilde animasyonlu hale getirebilirsiniz. AnimationUtil sınıfı bu özelliği sağlar. Nasıl kullanılacağına dair bir örnek için yardımcı program kitaplığının GitHub deposundaki AnimationUtilDemoActivity bölümüne bakın.

Kümelenmiş işaretçiler içeren bir harita

İşaretçi gruplarını yönetme

ClusterManager, farklı yakınlaştırma seviyelerinde birden fazla işaretçiyi yönetmenize yardımcı olur. Bu sayede, haritayı okunması zor hale getirmeden haritaya çok sayıda işaretçi yerleştirebilirsiniz. Kullanıcı haritayı yüksek yakınlaştırma seviyesinde görüntülerken haritada tek tek işaretçiler gösterilir. Kullanıcı daha düşük bir yakınlaştırma seviyesine uzaklaştırdığında işaretçiler, haritanın daha kolay görüntülenmesi için kümeler halinde toplanır.

Ayrıntılar için Google Haritalar Android İşaretçi Grupları Yardımcı Programı ile ilgili belgelere bakın.

Birden çok katmanlı bir harita

Aynı haritaya birden fazla katman ekleme

GeoJSON, KML ve kümelerdeki özellikleri, kendi işaretçileriniz, çoklu çizgileriniz ve çokgenlerinizle birlikte aynı haritada gösterebilirsiniz. Ayrıca her katmana bir tıklama dinleyicisi ekleyerek bu katmanları etkileşimli hale getirebilirsiniz. Bunun için MarkerManager, GroundOverlayManager, PolygonManager ve PolylineManager sınıflarını örneklendirin ve bunları ayarlarken GeoJsonLayer, KmlLayer ve ClusterManager sınıflarının oluşturucularına iletin. Ardından, haritaya kendi işaretçilerinizi, çoklu çizgilerinizi ve poligonlarınızı eklemek için bu Manager sınıflarını doğrudan kullanabilirsiniz.

Ayrıntılar için Google Haritalar Android Çok Katmanlı Demo ile ilgili belgelere bakın.

Kodlanmış çoklu çizgi içeren bir harita

Çoklu çizgileri kodlama ve kodunu çözme

PolyUtil sınıfı, kodlanmış çoklu çizgileri ve çokgenleri enlem/boylam koordinatlarına, koordinatları ise kodlanmış çoklu çizgilere ve çokgenlere dönüştürür.

Google Haritalar'da, çoklu çizgi veya poligonu tanımlayan enlem ve boylam koordinatları kodlanmış bir dize olarak depolanır. Çoklu çizgi kodlaması ile ilgili ayrıntılı açıklamayı inceleyin. Bu kodlanmış dizeyi, Directions API (Eski) gibi bir Google API'sinden gelen yanıtta alabilirsiniz.

Android Yardımcı Program Kitaplığı İçin Haritalar SDK'sında PolyUtil kullanarak bir enlem/boylam koordinatları ("LatLng") dizisini kodlanmış bir yol dizesine dönüştürebilir ve kodlanmış bir yol dizesini LatLng dizisine dönüştürebilirsiniz. Bu sayede Google Haritalar API'leri web hizmetleriyle birlikte çalışabilirlik sağlanır.

Haritadaki iki nokta arasındaki hesaplanan mesafe

Küresel geometriyle mesafeleri, alanları ve yönleri hesaplama

SphericalUtil içindeki küresel geometri yardımcı programlarını kullanarak enlem ve boylamlara göre mesafeleri, alanları ve yönleri hesaplayabilirsiniz. Yardımcı programda kullanılabilen yöntemlerden bazıları şunlardır:

  • computeDistanceBetween(): İki enlem/boylam koordinatı arasındaki mesafeyi metre cinsinden döndürür.
  • computeHeading(): İki enlem/boylam koordinatı arasındaki yönü derece cinsinden döndürür.
  • computeArea(): Dünya üzerindeki kapalı bir yolun alanını metrekare cinsinden döndürür.
  • interpolate(): Belirtilen iki nokta arasındaki mesafenin belirli bir kesrinde bulunan bir noktanın enlem/boylam koordinatlarını döndürür. Örneğin, iki nokta arasında bir işaretçiye animasyon eklemek için bu yöntemi kullanabilirsiniz.

Yardımcı programdaki yöntemlerin tam listesi için referans belgelerine bakın.

Bir konumun Street View'da desteklenip desteklenmediğini kontrol etme

Bir konumun Street View'da desteklenip desteklenmediğini kontrol etme

StreetViewUtil sınıfı, bir konumun Street View'da desteklenip desteklenmediğini kontrol etme işlevi sağlar. Bu meta veri yardımcı programını çağırarak ve yalnızca yanıt OK ise Street View panoraması ekleyerek Android uygulamasına Street View panoraması eklerken hata oluşmasını önleyebilirsiniz.

Ayrıntılar için GitHub'daki Street View meta veri yardımcı programı ile ilgili belgelere bakın.