Android için Haritalar SDK'sını kullanarak, haritanızda hangi yerleşik kullanıcı arayüzü bileşenlerinin görüneceğini ve hangi hareketlere izin verileceğini belirleyerek kullanıcıların haritanızla etkileşim şeklini özelleştirebilirsiniz.
Kod örnekleri
GitHub'daki ApiDemos deposu, kontrol ve hareket seçeneklerinin kullanımını gösteren bir örnek içerir:
- UiSettingsDemoActivity: Kotlin örneği
- UiSettingsDemoActivity: Java örneği
Minimum kullanıcı etkileşimi için basit mod
Kullanıcı etkileşimini en aza indiren hafif bir harita istiyorsanız hafif mod haritası kullanabilirsiniz. Basit mod, belirtilen bir konum ve yakınlaştırma düzeyindeki haritanın bitmap resmini sunar. Basit modda kullanıcılar haritayı kaydıramaz veya yakınlaştıramaz ve hareketler çalışmaz. Ayrıntılı bilgi için basit mod kılavuzunu inceleyin.
Kullanıcı arayüzü kontrolleri
Haritalar API, Android telefonunuzdaki Google Haritalar uygulamasında bulunanlara benzer yerleşik kullanıcı arayüzü denetimleri sunar. GoogleMap.getUiSettings
yöntemiyle bir GoogleMap
öğesinden elde edilebilen UiSettings
sınıfını kullanarak bu denetimlerin görünürlüğünü değiştirebilirsiniz. Bu sınıfta yapılan değişiklikler hemen haritaya yansıtılır. Bu özelliklerin bir örneğini görmek için örnek uygulamadaki kullanıcı arayüzü ayarları demo etkinliğine bakın.
Bu seçeneklerin çoğunu, harita XML özellikleri aracılığıyla veya GoogleMapOptions
sınıfını kullanarak oluşturulurken de yapılandırabilirsiniz. Daha fazla bilgi için Başlangıç durumunu yapılandırma başlıklı makaleyi inceleyin.
Her kullanıcı arayüzü denetiminin, haritanın kenarına göre önceden belirlenmiş bir konumu vardır.
GoogleMap
nesnesine dolgu ekleyerek kontrolleri üst, alt, sol veya sağ kenardan uzaklaştırabilirsiniz.
Yakınlaştırma denetimleri
Maps API, haritanın sağ alt köşesinde görünen yerleşik yakınlaştırma kontrolleri sağlar. Bunlar varsayılan olarak devre dışıdır ancak UiSettings.setZoomControlsEnabled(true)
çağrısı yapılarak etkinleştirilebilir.
Pusula
Maps API, belirli koşullar altında haritanın sol üst köşesinde görünen bir pusula grafiği sağlar. Pusula yalnızca kamera sıfır olmayan bir yöne veya sıfır olmayan bir eğime bakacak şekilde yönlendirildiğinde görünür. Kullanıcı pusulayı tıkladığında kamera, animasyonlu olarak sıfır yön ve eğime (varsayılan yön) geri döner ve pusulanın görüntüsü kısa süre sonra kaybolur. UiSettings.setCompassEnabled(boolean)
numaralı telefonu arayarak pusulanın görünmesini tamamen devre dışı bırakabilirsiniz.
Ancak pusulanın her zaman gösterilmesini zorunlu kılamazsınız.
Konumum düğmesi
Konumum düğmesi, yalnızca Konumum katmanı etkinleştirildiğinde ekranın sağ üst köşesinde görünür. Ayrıntılar için konum verileri kılavuzunu inceleyin.
Seviye seçici
Kullanıcı bir iç mekan haritasını görüntülerken varsayılan olarak ekranın sağ orta kenarının yakınında bir kat seçici (zemin seçici) görünür. İki veya daha fazla kapalı alan haritası görünür durumdayken kat seçici, genellikle ekranın ortasına en yakın olan ve şu anda odaktaki bina için geçerli olur. Her binanın, seçici ilk görüntülendiğinde seçilecek bir varsayılan katı vardır. Kullanıcılar, seçiciden farklı bir seviye seçebilir.
GoogleMap.getUiSettings().setIndoorLevelPickerEnabled(boolean)
işlevini çağırarak düzey seçici denetimini devre dışı bırakabilir veya etkinleştirebilirsiniz.
Bu, varsayılan seviye seçiciyi kendi seçicinizle değiştirmek istediğinizde yararlı olur.
Harita araç çubuğu
Kullanıcı bir işaretçiye dokunduğunda varsayılan olarak haritanın sağ alt kısmında bir araç çubuğu görünür. Araç çubuğu, kullanıcıya Google Haritalar mobil uygulamasına hızlı erişim sağlar.
UiSettings.setMapToolbarEnabled(boolean)
çağrısını yaparak araç çubuğunu etkinleştirebilir ve devre dışı bırakabilirsiniz.
Basit mod haritalarında araç çubuğu, kullanıcının işlemlerinden bağımsız olarak kalır. Tamamen etkileşimli bir haritada, kullanıcı bir işaretçiye dokunduğunda araç çubuğu kayar ve işaretçi artık odakta olmadığında tekrar kayar.
Araç çubuğunda, Google Haritalar mobil uygulamasında bir harita görünümüne veya yol tarifi isteğine erişim sağlayan simgeler gösterilir. Kullanıcı araç çubuğundaki bir simgeye dokunduğunda API, Google Haritalar mobil uygulamasında ilgili etkinliği başlatmak için bir intent oluşturur.
Araç çubuğu, yukarıdaki ekran görüntüsünde haritanın sağ alt kısmında görünür. Haritanın içeriğine bağlı olarak ve Google Haritalar mobil uygulamasının ortaya çıkan amacı desteklemesi koşuluyla harita üzerinde sıfır, bir veya her iki intent simgesi de gösterilir.
Harita hareketleri
Android için Haritalar SDK'sı ile oluşturulan haritalar, Google Haritalar uygulamasıyla aynı hareketleri destekler. Ancak, haritanın durumunu korumak için belirli hareketleri devre dışı bırakmak isteyebileceğiniz durumlar olabilir. Yakınlaştırma, kaydırma, yatırma ve yön de programlı olarak ayarlanabilir. Daha fazla bilgi için Kamera ve Görüntü bölümüne bakın. Hareketlerin devre dışı bırakılmasının, kamera konumunu programatik olarak değiştirip değiştiremeyeceğinizi etkilemediğini unutmayın.
Kullanıcı arayüzü kontrolleri gibi hareketleri de GoogleMap.getUiSettings
çağrısı yaparak bir GoogleMap
'dan elde edilebilen UiSettings
sınıfıyla etkinleştirebilir/devre dışı bırakabilirsiniz. Bu sınıfta yapılan değişiklikler hemen haritaya yansıtılır. Bu özelliklerin bir örneğini görmek için örnek uygulamadaki kullanıcı arayüzü ayarları demo etkinliğine bakın (uygulamayı yükleme hakkında bilgi için buraya bakın).
Bu seçenekleri, harita XML özellikleri aracılığıyla veya GoogleMapOptions
sınıfını kullanarak oluşturulurken de yapılandırabilirsiniz.
Daha fazla bilgi için Haritayı yapılandırma başlıklı makaleyi inceleyin.
Yakınlaştırma hareketleri
Harita, kameranın yakınlaştırma düzeyini değiştirebilecek çeşitli hareketlere yanıt verir:
- Yakınlaştırma seviyesini 1 artırmak (yakınlaştırmak) için iki kez dokunun.
- Yakınlaştırma seviyesini 1 azaltmak için iki parmağınızla dokunun (uzaklaştırın).
- İki parmakla yakınlaştırma/uzaklaştırma
- İki kez dokunup ikinci dokunuşta parmağınızı kaldırmadan, ardından parmağınızı yukarı kaydırarak uzaklaştırmak veya aşağı kaydırarak yakınlaştırmak için tek parmakla yakınlaştırma
Yakınlaştırma hareketlerini UiSettings.setZoomGesturesEnabled(boolean)
numaralı telefondan arayarak devre dışı bırakabilirsiniz. Bu durum, kullanıcının yakınlaştırma ve uzaklaştırma için yakınlaştırma kontrollerini kullanıp kullanamayacağını etkilemez.
Kaydırma (yakınlaştırma/uzaklaştırma) hareketleri
Kullanıcılar haritayı parmaklarıyla sürükleyerek harita üzerinde kaydırabilir (kaydırabilir).
Kaydırma özelliğini UiSettings.setScrollGesturesEnabled(boolean)
numaralı telefondan arayarak devre dışı bırakabilirsiniz.
Eğilme hareketleri
Kullanıcı, iki parmağını haritaya yerleştirip birlikte aşağı veya yukarı hareket ettirerek haritayı eğebilir. Böylece eğme açısını sırasıyla artırabilir veya azaltabilir. UiSettings.setTiltGesturesEnabled(boolean)
komutunu çağırarak eğilme hareketlerini devre dışı bırakabilirsiniz.
Döndürme hareketleri
Kullanıcı, iki parmağını haritaya yerleştirip döndürme hareketi uygulayarak haritayı döndürebilir. Döndürme özelliğini UiSettings.setRotateGesturesEnabled(boolean)
numaralı telefondan arayarak devre dışı bırakabilirsiniz.