Basit Mod

Android için Haritalar SDK'sı, bir haritanın bit eşlem resmini sunarak kullanıcıya sınırlı etkileşim olanağı 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 bit eşlem resmidir. 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 çeşitli haritalar veya anlamlı etkileşimi desteklemek için çok küçük olan 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'si ile aynı sınıfları ve arayüzleri kullanır. Aşağıdaki yöntemleri kullanarak basit bir GoogleMap modu ayarlayabilirsiniz:

  • Bir MapView veya MapFragment için XML özelliği olarak
  • Alternatif olarak, GoogleMapOptions nesnesinde

MapView veya MapFragment için bir 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

Java


GoogleMapOptions options = new GoogleMapOptions()
    .liteMode(true);

      

Kotlin


val options = GoogleMapOptions()
    .liteMode(true)

      

Haritanın ilk durumunu ayarlamayla ilgili ayrıntılar için harita nesnesinin kılavuzuna bakın.

Harita görünümü veya yol tarifi isteği gönderme amaçları

Varsayılan olarak, haritanın sağ alt kısmındaki araç çubuğu, Google Haritalar mobil uygulamasında harita görünümüne veya yol tarifi isteğine erişim sağlayan simgeler içerir. UiSettings.setMapToolbarEnabled(false) numaralı telefonu arayarak araç çubuğunu devre dışı bırakabilirsiniz. Daha fazla bilgi için araç çubuğu dokümanlarına bakın.

Ayrıca, bir kullanıcı haritaya dokunduğunda varsayılan olarak Google Haritalar mobil uygulamasını başlatır. Kendi dinleyicinizi ayarlamak için GoogleMap.setOnMapClickListener() öğesini kullanarak bunu geçersiz kılabilirsiniz. Ayrıca, MapView veya MapFragment öğesini içeren görünümde setClickable() işlevini çağırarak tıklama etkinliklerini devre dışı bırakabilirsiniz. Bu iki teknikle ilgili ayrıntılar için etkinlikler hakkındaki belgelere göz atın.

Yaşam döngüsü etkinlikleri

API'yi tam olarak 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ını lite modunda kullanırken yönlendirme yaşam döngüsü olayları aşağıdaki durumlar haricinde isteğe bağlıdır:

  • onCreate() işlevinin ç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, konum kaynağı yalnızca bu aramalar arasında güncelleneceği için onResume() ve onPause() değerlerini aramanız gerekir. 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ş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.

İşlevler
Harita türleri
Desteklenir mi? Evet
Şu 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, çokgenler, daireler
Desteklenir mi? Evet
Şekiller için basit mod işlevi, tam API ile eşleşir.
Tahmin
Desteklenir mi? Evet
Projection için basit mod işlevi, tam API ile eşleşir.
Konumum
Desteklenir mi? Evet
Konumum katmanının basit mod işlevi tam API ile eşleşir.
Harita dolgusu
Desteklenir mi? Evet
Harita dolgusu için basit mod desteği, tam API ile eşleşir.
Bilgi pencereleri
Desteklenir mi? Evet
Bir işaretleyicinin title() özelliğini ayarlarsanız kullanıcı işaretçiye dokunduğunda varsayılan bilgi penceresi görünür. İşaretçide showInfoWindow() çağırarak bilgi penceresini programatik olarak gösterebilirsiniz. InfoWindowAdapter arayüzü aracılığıyla özel bilgi pencereleri de oluşturabilirsiniz.
Özel temel harita stilleri
Desteklenir mi? Kısmen
Android için Haritalar SDK'sı, temel haritanın özel stilini destekler. Basit Mod, stil temelli bir harita oluşturmak için harita kimliği gerektiren bulut tabanlı stili değil, yalnızca JSON tabanlı özel stili destekler.
İşaretçiler
Desteklenir mi? Kısmen
Bir işaretçi ekleyebilir ve bir tıklama etkinliğine yanıt verebilirsiniz. Özel işaretçi simgeleri de ekleyebilirsiniz. İşaretçiyi sürüklenebilir hale getirmek mümkün değildir. Basit mod haritasındaki işaretçiler düzdür ve döndürülemez.
Kamera konumu, yakınlaştırma ve animasyon
Desteklenir mi? Kısmen

Kamera hedefini ve yakınlaştırmayı ayarlayabilirsiniz ancak eğimi veya ayığı belirleyemezsiniz. Yakınlaştırma düzeyi, basit modda en yakın tam sayıya yuvarlanır. GoogleMap.moveCamera() çağrıldığında başka bir basit mod harita görüntüsü elde edersiniz. Kamerayı ayarlama ve değiştirme hakkında daha fazla bilgi için Görünümü Değiştirme konusuna bakın.

GoogleMap.animateCamera() yöntemini çağırmak, kamera hareketinin animasyonuyla sonuçlanmaz. Kamera görünümü anında yeni konuma taşınır.

Etkinlikleri eşleştirme
Desteklenir mi? Kısmen

Basit mod, GoogleMap.setOnMapClickListener() ve GoogleMap.setOnMapLongClickListener() özelliklerini destekler.

Basit modda bir haritada tıklama etkinliklerini devre dışı bırakmak için MapView veya MapFragment öğesini içeren görünümde setClickable() öğesini çağırabilirsiniz. Bu, örneğin bir harita görünümünde veya harita görünümünde, tıklama etkinliğinin haritayla ilgili olmayan bir işlemi çağırmasını istediğiniz sırada yararlıdır.

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

İç mekan haritaları ve binaları
Desteklenir mi? Hayır
Basit modda, Haritalar Statik API ile aynı kartlar gösterilir. Bu, iç mekan kat planının varsayılan karo içinde pişirilmesi durumunda gösterileceği anlamına gelir. Aksi halde bu mümkün olmaz. Ayrıca, gösterilen seviyeyi değiştiremez veya seviye seçiciyi değiştiremezsiniz.
Trafik katmanı
Desteklenir mi? Hayır
GoogleMap.setTrafficEnabled() basit modda desteklenmez.
Zemin bindirmeleri
Desteklenir mi? Hayır
GoogleMap.addGroundOverlay() basit modda desteklenmez.
Karo yer paylaşımları
Desteklenir mi? Hayır
GoogleMap.addTileOverlay() basit modda desteklenmez.
Hareketler
Desteklenir mi? Hayır
Basit mod, hareketleri desteklemez. Hareketleri etkinleştirmenin ve devre dışı bırakmanın hiçbir etkisi yoktur.
Street View
Desteklenir mi? Hayır
Street View, basit modda desteklenmez.