Android için Haritalar SDK'sı, kullanıcılara sınırlı etkileşim olanağı sunarak haritanın bit eşlem görüntüsünü yayınlayabilir. Buna lite mod harita denir.
Kod örnekleri
GitHub'daki ApiDemos deposunda, lite modunun kullanımını gösteren örnekler yer alır:
- LiteDemoActivity - Java: Java'da basit mod haritası kullanmanın temelleri
- LiteDemoActivity - Kotlin: Kotlin'de basit mod haritası kullanmanın temelleri
- LiteListDemoActivity - Java: Java'da basit modu kullanarak ListView'larda haritaları verimli bir şekilde görüntüleme
- LiteListDemoActivity - Kotlin: Kotlin'de basit modu kullanarak ListView'lerde haritaları verimli bir şekilde görüntüleme
Basit moda genel bakış
Basit mod harita, belirli bir konumda ve yakınlaştırma düzeyinde haritanın bit eşlem görüntüsüdür. Lite modu, tüm harita türlerini (normal, karma, uydu, arazi) ve tam API'nin sağladığı işlevlerin bir alt kümesini destekler. Lite modu, bir akışta birden fazla harita veya anlamlı etkileşimi destekleyemeyecek kadar küçük bir harita sağlamak istediğinizde kullanışlıdır.
Haritayı görüntüleyen kullanıcılar haritayı yakınlaştıramaz veya kaydıramaz. Haritadaki simgeler, kullanıcıların Google Haritalar mobil uygulamasında haritayı görüntülemesine ve yol tarifi istemesine olanak tanır.
Basit mod haritası ekleme
Basit mod, Google Haritalar Android API'sinin tam sürümüyle aynı sınıfları ve arayüzleri kullanır. Aşağıdaki yöntemlerle GoogleMap
'ı Lite moduna ayarlayabilirsiniz:
MapView
veyaMapFragment
için bir XML özelliği olarak- Veya
GoogleMapOptions
nesnesinde
MapView
veya MapFragment
için XML özelliği olarak
<fragment xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:map="http://schemas.android.com/apk/res-auto"
android:name="com.google.android.gms.maps.MapFragment"
android:id="@+id/map"
android:layout_width="match_parent"
android:layout_height="match_parent"
map:cameraZoom="13"
map:mapType="normal"
map:liteMode="true"/>
GoogleMapOptions
nesnesinde
Kotlin
val options = GoogleMapOptions() .liteMode(true)
Java
GoogleMapOptions options = new GoogleMapOptions() .liteMode(true);
Haritanın başlangıç durumunu ayarlama hakkında ayrıntılı bilgi için harita nesnesi kılavuzuna bakın.
Harita görünümü başlatma veya yol tarifi isteği intent'leri
Varsayılan olarak, haritanın sağ alt kısmındaki araç çubuğunda Google Haritalar mobil uygulamasında harita görünümüne veya yol tarifi isteğine erişim sağlayan simgeler bulunur. UiSettings.setMapToolbarEnabled(false)
işlevini çağırarak araç çubuğunu devre dışı bırakabilirsiniz. Daha fazla
bilgi için araç çubuğu belgelerine bakın.
Ayrıca, kullanıcı haritaya dokunduğunda API varsayılan olarak Google Haritalar mobil uygulamasını başlatır. Kendi dinleyicinizi ayarlamak için GoogleMap.setOnMapClickListener()
kullanarak bu davranışı geçersiz kılabilirsiniz. MapView
veya MapFragment
içeren görünümde setClickable()
çağrısı yaparak haritadaki tıklama etkinliklerini de devre dışı bırakabilirsiniz. Bu iki teknikle ilgili ayrıntılar için etkinlik belgelerine bakın.
Yaşam döngüsü olayları
API'yi tamamen etkileşimli modda kullanırken MapView
sınıfının kullanıcıları, tüm etkinlik yaşam döngüsü yöntemlerini MapView
sınıfındaki ilgili yöntemlere yönlendirmelidir. Yaşam döngüsü yöntemlerine örnek olarak onCreate()
, onDestroy()
, onResume()
ve onPause()
verilebilir.
Lite modunda MapView
sınıfı kullanılırken aşağıdaki durumlar hariç yaşam döngüsü etkinliklerinin yönlendirilmesi isteğe bağlıdır:
onCreate()
işlevinin çağrılması zorunludur. Aksi takdirde harita görünmez.- Lite mod haritanızda Konumum noktasını göstermek ve varsayılan konum kaynağını kullanmak istiyorsanız
onResume()
veonPause()
işlevlerini çağırmanız gerekir. Konum kaynağı yalnızca bu çağrılar arasında güncellenir. Kendi konum kaynağınızı kullanıyorsanız bu iki yöntemi çağırmanız gerekmez.
Desteklenen API özellikleri
Aşağıdaki tabloda, API işlevselliğinin her alanı için basitleştirilmiş mod haritasının davranışı açıklanmaktadır. Bir uygulama, lite modda desteklenmeyen bir yöntemi çağırırsa API bir uyarı mesajı kaydeder.
İşlev | |
---|---|
Harita türleri | Destekleniyor mu? Evet
GoogleMapOptions.mapType() ve GoogleMap.setMapType() üzerinden şu harita
türleri kullanılabilir: MAP_TYPE_NORMAL ,
MAP_TYPE_SATELLITE , MAP_TYPE_TERRAIN ,
MAP_TYPE_HYBRID , MAP_TYPE_NONE |
Çoklu çizgiler, poligonlar, daireler | Destekleniyor mu? Evet
Şekiller için lite mod işlevi, tam API ile aynıdır. |
Projeksiyon | Destekleniyor mu? Evet
Projection için lite mod işlevi, tam API ile eşleşir. |
Konumum | Destekleniyor mu? Evet
Konumum katmanının
lite mod işlevi, tam API ile eşleşir. |
Harita alan ayarlaması | Destekleniyor mu? Evet
Harita dolgusu için basit mod desteği, tam API ile aynıdır. |
Bilgi pencereleri | Destekleniyor mu? Evet
Bir işaretçinin title() özelliğini ayarlarsanız kullanıcı işaretçiye dokunduğunda varsayılan bilgi penceresi görünür. İşaretçide showInfoWindow() çağrısı yaparak bilgi penceresini programatik olarak gösterebilirsiniz.
InfoWindowAdapter arayüzünü kullanarak özel bilgi pencereleri de oluşturabilirsiniz. |
Özel temel harita stilleri | Destekleniyor mu? Kısmen
Android için Haritalar SDK'sı, temel haritanın özel stilini destekler. Lite Modu yalnızca JSON tabanlı özel stil oluşturmayı destekler. Stilli bir harita oluşturmak için harita kimliği gerektiren bulut tabanlı stil oluşturmayı desteklemez.
Basit modda, harita renk şemasının koyu modda kullanılması da desteklenmez.
|
İşaretçiler | Destekleniyor mu? Kısmen
İşaretçi ekleyebilir
ve tıklama etkinliğine yanıt verebilirsiniz. Özel işaretçi simgeleri de ekleyebilirsiniz. İşaretçilerin sürüklenmesi mümkün değildir. Basit moddaki haritalarda işaretçiler düzdür ve döndürülemez. |
Kamera konumu, yakınlaştırma ve animasyon | Destekleniyor mu? Kısmen
Eğimi veya yönü değil, kamera hedefini ve yakınlaştırmayı ayarlayabilirsiniz.
Lite modunda yakınlaştırma düzeyi en yakın tam sayıya yuvarlanır.
|
Etkinlikleri eşleştirme | Destekleniyor mu? Kısmen
Basit modda Lite modda bir haritada tıklama etkinliklerini devre dışı bırakmak için Ayrıntılar için etkinlikler dokümanlarına bakın. |
İç mekan haritaları ve binalar | Destekleniyor mu? Hayır
Basit modda, Maps Static API ile aynı döşemeler gösterilir.
Bu nedenle, varsayılan döşemeye iç mekan kat planı yerleştirilmişse bu plan görünür. Aksi takdirde, bu işlem yapılamaz. Ayrıca, gösterilen düzeyi değiştiremez veya düzey seçiciyi manipüle edemezsiniz. |
Trafik katmanı | Destekleniyor mu? Hayır
GoogleMap.setTrafficEnabled() , Basit modda desteklenmez. |
Zemin bindirmeler | Destekleniyor mu? Hayır
GoogleMap.addGroundOverlay() , Lite modunda desteklenmez. |
Yer paylaşımlı bloklar | Destekleniyor mu? Hayır
GoogleMap.addTileOverlay() , Lite modunda desteklenmez. |
Hareketler | Destekleniyor mu? Hayır
Basit modda hareketler desteklenmez. Hareketleri etkinleştirmenin ve devre dışı bırakmanın herhangi bir etkisi olmaz. |
Street View | Destekleniyor mu? Hayır
Street View, Basit modda desteklenmez. |