Basit Mod

Android için Haritalar SDK'sı, haritanın bitmap resmini sunarak kullanıcıya sınırlı etkileşim sunar. 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ı, belirli bir konum ve yakınlaştırma düzeyindeki bir haritanın bitmap 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 yayında birden fazla harita sağlamak 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 haritayı Google Haritalar mobil uygulamasında görüntülemelerine ve yol tarifi istemelerine 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. GoogleMap'yi aşağıdaki şekillerde basit moda 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'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) kodunu ç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 ayarı geçersiz kılabilirsiniz. MapView veya MapFragment içeren görünümde setClickable()'ü çağırarak da haritadaki tıklama etkinliklerini devre dışı bırakabilirsiniz. Bu iki tekniğin ayrıntıları için etkinliklerle ilgili belgelere bakın.

Yaşam döngüsü olayları

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.

MapView sınıfı basit modda kullanıldığında, yaşam döngüsü etkinliklerini yönlendirme aşağıdaki durumlar hariç isteğe bağlıdır:

  • onCreate() çağrılması zorunludur. Aksi takdirde harita gösterilmez.
  • Basit mod haritanızda Konumum noktasını göstermek ve varsayılan konum kaynağını kullanmak istiyorsanız onResume() ve onPause() çağrılarını yapmanız gerekir. Çünkü 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 basit mod haritasının davranışı açıklanmaktadır. Bir uygulama, basit modda desteklenmeyen bir yöntemi çağırırsa API bir uyarı mesajı günlüğe kaydeder.

İşlevsellik
Harita türleri
Destekleniyor mu? Evet
GoogleMapOptions.mapType() ve GoogleMap.setMapType() üzerinden aşağıdaki 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 aynıdır.
Projeksiyon
Destekleniyor mu? Evet
Projeksiyon için basit mod işlevi, tam API ile aynıdır.
Konumum
Destekleniyor mu? Evet
Konumum katmanı için basit 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 aynıdır.
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()'yi çağırarak bilgi penceresini programatik olarak gösterebilirsiniz. InfoWindowAdapter arayüzü üzerinden de özel bilgi pencereleri oluşturabilirsiniz.
Özel temel harita stilleri
Destekleniyor mu? Kısmen
Android için Haritalar SDK'sı, temel haritanın özel stilini destekler. Basit mod, yalnızca JSON tabanlı özel stilleri destekler. Stillendirilmiş bir haritayı oluşturmak için harita kimliği gerektiren bulut tabanlı stilleri desteklemez. Basit modda harita renk şemasını koyu modda kullanacak şekilde ayarlama da desteklenmez.
İşaretçiler
Destekleniyor mu? Kısmen
İşaretçi ekleyebilir ve bir tıklama etkinliğine yanıt verebilirsiniz. Özel işaretçi simgeleri de ekleyebilirsiniz. İşaretçileri sürükleyemezsiniz. Basit moddaki haritalardaki 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 kamerayı eğme veya yön ayarını yapamazsınız. Basit modda yakınlaştırma düzeyi en yakın tam sayıya yuvarlanır. GoogleMap.moveCamera() çağrısı yaptığınızda başka bir basit mod harita görüntüsü alırsınız. 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() çağrısı, kamera hareketinin animasyonla gösterilmesine 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()'i destekler.

Basit modda bir haritada tıklama etkinliklerini devre dışı bırakmak için MapView veya MapFragment içeren görünümde setClickable() işlevini çağırabilirsiniz. Bu, örneğin, bir haritayı veya haritaları liste görünümünde gösterirken tıklama etkinliğinin harita ile alakalı olmayan bir işleme neden olmasını istediğiniz durumlarda yararlıdır.

Ayrıntılar için etkinlikler dokümanlarına bakın.

İç mekan haritaları ve binalar
Destekleniyor mu? Hayır
Basit mod, Maps Static API ile aynı karoları gösterir. Yani, kapalı alan kat planı varsayılan karoya yerleştirilmişse gösterilir. Aksi takdirde, bu işlem yapılmaz. 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ı karolar
Destekleniyor mu? Hayır
GoogleMap.addTileOverlay(), basit modda desteklenmez.
Hareketler
Destekleniyor mu? Hayır
Basit mod, hareketleri desteklemez. Hareketlerin etkinleştirilmesi veya devre dışı bırakılmasının herhangi bir etkisi olmaz.
Street View
Destekleniyor mu? Hayır
Street View, basit modda desteklenmez.