Basit Mod

Android için Haritalar SDK'sı, 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 deposu, basit modun kullanımını gösteren örnekler içerir:

Basit moda genel bakış

Basit mod haritası, belirtilen 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 birkaç 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 haritayı Google Haritalar mobil uygulamasında görüntülemesine ve yol tarifi istemesine olanak tanır.

Basit mod haritası ekleme

Basit mod, tam Google Haritalar Android API ile aynı sınıfları ve arayüzleri kullanır. GoogleMap'ı aşağıdaki yöntemlerle Lite moduna ayarlayabilirsiniz:

  • MapView veya MapFragment için 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 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 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. MapView veya MapFragment içeren görünümde setClickable() yöntemini ç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 modda MapView sınıfını kullanırken yaşam döngüsü olaylarını yönlendirmek aşağıdaki durumlar dışında isteğe bağlıdır:

  • onCreate() yöntemini çağırmak zorunludur. Aksi takdirde harita gösterilmez.
  • Lite modu haritanızda Konumum noktasını göstermek ve varsayılan konum bilgisini kullanmak istiyorsanız onResume() ve onPause() yöntemlerini ç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
Aşağıdaki harita türleri, GoogleMapOptions.mapType() ve GoogleMap.setMapType() üzerinden 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 basit mod işlevi, tam API ile eşleşir.
Konumum
Destekleniyor mu? Evet
Konumum katmanı için basit mod işlevi, tam API ile eşleşir.
Harita alan ayarlaması
Destekleniyor mu? Evet
Harita alan ayarlaması 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() yöntemini çağırarak bilgi penceresini programatik olarak 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. Stil özellikli bir haritayı oluşturmak için harita kimliği gerektiren bulut tabanlı stilleri desteklemez. Basit mod, koyu modun kullanılması için harita renk şemasının ayarlanmasını da desteklemez.
İş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

Kamera hedefini ve yakınlaştırmayı ayarlayabilirsiniz ancak eğimi veya yönü ayarlayamazsınız. Hafif modda yakınlaştırma seviyesi en yakın tam sayıya yuvarlanır. GoogleMap.moveCamera() yöntemini çağırmak, size başka bir basit mod harita resmi verir. Kamerayı ayarlama ve kullanma hakkında daha fazla bilgi için Görünümü Değiştirme bölümüne bakın.

GoogleMap.animateCamera() çağrısı, 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 mod, GoogleMap.setOnMapClickListener() ve GoogleMap.setOnMapLongClickListener() dillerini destekler.

Basit modda bir haritadaki tıklama etkinliklerini devre dışı bırakmak için MapView veya MapFragment içeren görünümde setClickable() yöntemini çağırabilirsiniz. Bu, örneğin bir haritayı veya haritaları liste görünümünde gösterirken tıklama etkinliğinin haritayla ilgisi olmayan bir işlemi çağırmasını istediğinizde kullanışlıdır.

Ayrıntılar için etkinlikler hakkındaki belgelere göz atın.

İç mekan haritaları ve binalar
Destekleniyor mu? Hayır
Basit mod, Maps Static API ile aynı karoları gösterir. Yani, iç mekan kat planı varsayılan karoya yerleştirilmişse gösterilir. Aksi takdirde, bu işlem gerçekleşmez. Ayrıca, gösterilen seviyeyi değiştiremez veya seviye seçiciyi değiştiremezsiniz.
Trafik katmanı
Destekleniyor mu? Hayır
GoogleMap.setTrafficEnabled(), basit modda desteklenmez.
Zemin yer paylaşımları
Destekleniyor mu? Hayır
GoogleMap.addGroundOverlay(), basit modda desteklenmez.
Yer paylaşımlı bloklar
Destekleniyor mu? Hayır
GoogleMap.addTileOverlay(), basit modda 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.