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:
- LiteDemoActivity - Java: Java'da basit mod haritasının kullanımıyla ilgili temel bilgiler
- LiteDemoActivity - Kotlin: Kotlin'de basit mod haritasının kullanımıyla ilgili temel bilgiler
- LiteListDemoActivity - Java: Java'da basit modu kullanarak ListView'da haritaları verimli bir şekilde görüntüleme
- LiteListDemoActivity - Kotlin: Kotlin'de Basit Mod'u kullanarak ListView'da haritaları verimli bir şekilde görüntüleme
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
veyaMapFragment
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()
veonPause()
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.
|
Etkinlikleri eşleştirme | Desteklenir mi? Kısmen
Basit mod, Basit 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ı | 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. |