Android için Haritalar SDK'sı, bir haritanın bitmap görüntüsünü sunarak kullanıcıya sınırlı etkileşim imkanı sağlar. Buna Basit mod haritası 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 temel bilgileri
- LiteListDemoActivity - Java: Java'da basit modu kullanarak haritaları ListViews'da verimli bir şekilde görüntüleme
- LiteListDemoActivity - Kotlin: Kotlin'de basit modu kullanarak haritaları ListViews'da verimli bir şekilde görüntüleme
Basit moda genel bakış
Basit mod haritası, belirtilen bir konum ve yakınlaştırma seviyesindeki bir haritanın bit eşlem görüntüsüdür. Basit mod, tüm harita türlerini (normal, karma, uydu, arazi) ve tam API tarafından sağlanan işlevlerin bir alt kümesini destekler. Basit mod, bir akışta birden fazla harita veya anlamlı etkileşimi destekleyemeyecek kadar küçük bir harita sunmak 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 harita ekleme
Basit mod, tam Google Haritalar Android API'siyle aynı sınıfları ve arayüzleri kullanır. GoogleMap'i aşağıdaki yöntemlerle Lite moduna ayarlayabilirsiniz:
MapViewveyaMapFragmentiçin XML özelliği olarak- veya
GoogleMapOptionsnesnesinde
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 ilk durumunu ayarlama hakkında ayrıntılı bilgi için harita nesnesi kılavuzuna bakın.
Harita görünümü veya yol tarifi isteği başlatma intent nesneleri
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) yöntemini çağırarak araç çubuğunu devre dışı bırakabilirsiniz. Daha fazla bilgi için araç çubuğu belgelerine bakın.
Ayrıca, varsayılan olarak bir kullanıcı haritaya dokunduğunda API, Google Haritalar mobil uygulamasını başlatır. Kendi dinleyicinizi ayarlamak için GoogleMap.setOnMapClickListener() kullanarak bunu geçersiz kılabilirsiniz. setClickable() veya MapFragment içeren görünümde MapView çağırarak haritadaki tıklama etkinliklerini de devre dışı bırakabilirsiniz. Bu iki teknikle ilgili ayrıntılı bilgi için etkinlik belgelerine bakın.
Yaşam döngüsü etkinlikleri
API'yi tam 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()yöntemini çağırmak zorunludur. Aksi takdirde harita gösterilmez.- Basit mod haritanızda Konumum noktasını göstermek ve varsayılan konum bilgisi kaynağını kullanmak istiyorsanız
onResume()veonPause()işlevlerini çağırmanız gerekir. Konum bilgisi kaynağı yalnızca bu çağrılar arasında güncellenir. Kendi konum bilgisi kaynağınızı kullanıyorsanız bu iki yöntemi çağırmanız gerekmez.
Desteklenen API özellikleri
Aşağıdaki tabloda, API işlevinin her bir alanı için basit mod haritasının davranışı açıklanmaktadır. Bir uygulama, basit 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 basit mod işlevi, tam API ile eşleşir. |
| 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 aynıdır. |
| Harita alan ayarlaması | Destekleniyor mu? Evet
Harita dolgusu için basit mod desteği, tam API ile eşleşir. |
| Bilgi pencereleri | Destekleniyor mu? Evet
Bir işaretçinin title() değerini ayarlarsanız kullanıcı işaretçiye dokunduğunda varsayılan bilgi penceresi görünür. İşaretçide showInfoWindow() işlevini çağırarak bilgi penceresini programlı bir şekilde gösterebilirsiniz.
InfoWindowAdapter arayüzü üzerinden ö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 stilleri destekler. Stilli bir haritayı oluşturmak için harita kimliği gerektiren bulut tabanlı stilleri desteklemez.
Basit modda, koyu modun kullanılması için harita renk şemasının ayarlanması 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çiler sürüklenebilir hale getirilemez. Basit mod haritasındaki işaretçiler düzdür ve döndürülemez. |
| Kamera konumu, yakınlaştırma ve animasyon | Destekleniyor mu? Kısmen
Eğme veya yönü değil, kamera hedefi ve yakınlaştırmayı ayarlayabilirsiniz.
Hafif modda yakınlaştırma seviyesi en yakın tam sayıya yuvarlanır.
|
| Etkinlikleri eşleştirme | Destekleniyor mu? Kısmen
Basit mod, Lite modda bir haritada tıklama etkinliklerini devre dışı bırakmak için Ayrıntılar için etkinlikler hakkındaki belgelere göz atın. |
| İç mekan haritaları ve binalar | Destekleniyor mu? Hayır
Basit modda, Maps Static API ile aynı döşemeler gösterilir.
Bu nedenle, iç mekan kat planı varsayılan döşemeye yerleştirilmişse görünür. Aksi takdirde bu işlem yapılamaz. Ayrıca, gösterilen seviyeyi değiştiremez veya seviye seçiciyi kullanamazsınız. |
| Trafik katmanı | Destekleniyor mu? Hayır
GoogleMap.setTrafficEnabled(), Basit modda desteklenmez. |
| Zemin yer paylaşımları | Destekleniyor mu? Hayır
GoogleMap.addGroundOverlay(), Lite modda desteklenmez. |
| Yer paylaşımlı bloklar | Destekleniyor mu? Hayır
GoogleMap.addTileOverlay(), Lite modunda desteklenmez. |
| Hareketler | Destekleniyor mu? Hayır
Basit mod, hareketleri desteklemez. Hareketleri etkinleştirmenin ve devre dışı bırakmanın herhangi bir etkisi olmaz. |
| Street View | Destekleniyor mu? Hayır
Street View, basit modda desteklenmez. |