Basit Mod

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:

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 veya MapFragment 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() ve onPause() 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. GoogleMap.moveCamera() adlı kullanıcıyı aradığınızda başka bir lite mod harita resmi gösterilir. Kamerayı ayarlama ve kullanma hakkında daha fazla bilgi için Görünümü Değiştirme başlıklı makaleyi inceleyin.

GoogleMap.animateCamera() işlevinin çağrılması, kamera hareketinin animasyonuna neden olmaz. Kamera görünümü anında yeni konuma taşınır.

Etkinlikleri eşleştirme
Destekleniyor mu? Kısmen

Basit modda GoogleMap.setOnMapClickListener() ve GoogleMap.setOnMapLongClickListener() desteklenir.

Lite modda bir haritada tıklama etkinliklerini devre dışı bırakmak için setClickable() veya MapFragment içeren görünümde MapView işlevini çağırabilirsiniz. Bu, örneğin, bir liste görünümünde harita veya haritalar gösterirken tıklama etkinliğinin haritayla ilgili olmayan bir işlemi çağırmasını istediğiniz durumlarda kullanışlıdır.

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.