Kamera, kullanıcının haritadaki bakış açısını değiştirmenize olanak tanır. Navigasyon sırasında harita görünümünün davranışını kontrol etmek için kamera modlarını kullanabilirsiniz. Kamera modunu ayarlamak için kamerayla ilişkili aşağıdaki yöntemlerden birini çağırın:
Konumumu takip et (
GoogleMap.followMyLocation
): Navigasyon için varsayılan kamera modu. Bu mod, kamerayı cihaza veya araca ayarlar. Navigasyon sırasında kamera otomatik olarak seyahat yönüne bakar. Yüksek ayrıntı ayarı etkinleştirildiğinde (NavigationMapStyle.HIGH_DETAIL
), yakınlaştırma düzeyi 19 veya daha yüksek olduğunda 2D bina ana hatları gösterilir.Konuma sabitlendi (
GoogleMap.animateCamera
veGoogleMap.moveCamera
) — Kamerayı belirli bir konuma sabitler. Bu modu kullanırken kamera konumunu, taşıma, yatırma, yakınlaştırma gibi diğer kamera özellikleriyle birlikte ayarlayabilirsiniz. Bu görünüm seçildiğinde ve Gezgin başlatıldığında, Yeniden ortala düğmesi görünür.Rota özetini göster (
NavigationView.showRouteOverview
veyaSupportNavigationFragment.showRouteOverview
) — Rotayı harita görünümüne sığdırmak için gereken şekilde kaydırma ve yakınlaştırma yaparak kalan rotaya dair genel bir bakış sunar. Bu görünüm seçildiğinde Yeniden ortala düğmesi görünür.
Yeniden ortala düğmesi tıklandığında kamera followMyLocation
moduna ayarlanır.
Konum modumu takip et
En yaygın kamera ayarı, kameranın yolculuktaki mevcut konumunu göstererek cihaza veya araca göre ayarlanmasıdır. Bu kamera modunda, rotayı her zaman ekranın üstündeyken (CameraPerspective.TILTED
) veya belirli bir açıda (CameraPerspective.TILTED
) ya da kuzey (CameraPerspective.TOP_DOWN_NORTH_UP
) veya istikamet yönünde (CameraPerspective.TOP_DOWN_HEADING_UP)
her zaman ekranın üst kısmında) hareket eden arabayı görebilirsiniz.
Aşağıdaki kod parçası, TILTED
perspektifini kullanır:
// Set the camera to follow the device (vehicle):
mNavFragment.getMapAsync(googleMap -> googleMap.followMyLocation(CameraPerspective.TILTED))
Konum moduna sabitlendi
Pinned
modu, kamera üzerinde en fazla kontrolü sağlar. Bu modda, kamerayı belirli bir konuma yerleştirir, kamera görüntüsünün yönünü belirlemek için bir yatak atar, görüntüleme açısını ayarlamak üzere yatırmayı değiştirir ve kameranın yakınlaştırma seviyesini ayarlarsınız.
Aşağıdaki kod snippet'i, kamerayı hareket ettirmenin yaygın yollarından bazılarını göstermektedir.
private static final LatLng SYDNEY = new LatLng(-33.88, 151.21);
private static final LatLng MOUNTAIN_VIEW = new LatLng(37.4, -122.1);
private GoogleMap map;
... // Obtain the map from a SupportNavigationFragment or NavigationView.
// Move the camera instantly to Sydney with a zoom of 15.
map.moveCamera(CameraUpdateFactory.newLatLngZoom(SYDNEY, 15));
// Zoom in, animating the camera.
map.animateCamera(CameraUpdateFactory.zoomIn());
// Zoom out to zoom level 10, animating with a duration of 2 seconds.
map.animateCamera(CameraUpdateFactory.zoomTo(10), 2000, null);
// Construct a CameraPosition focusing on Mountain View and animate the camera to that position.
CameraPosition cameraPosition = new CameraPosition.Builder()
.target(MOUNTAIN_VIEW) // Sets the center of the map to Mountain View
.zoom(17) // Sets the zoom
.bearing(90) // Sets the orientation of the camera to east
.tilt(30) // Sets the tilt of the camera to 30 degrees
.build(); // Creates a CameraPosition from the builder
map.animateCamera(CameraUpdateFactory.newCameraPosition(cameraPosition));
Rotaya genel bakış modunu göster
showRouteOverview
kamera ayarı yolculuğun tamamını gösterir.
Birden fazla hedefe sahip yolculuklarda bu mod, rotanın seyahat edilmeyen bölümünü gösterir.
// Place the camera to see the remaining route:
mNavFragment.showRouteOverview();
Yüksek ayrıntı ayarı
Yüksek ayrıntı ayarı etkinleştirildiğinde, kameranın yakınlaştırma seviyesi 19 veya daha yüksek bir değere ayarlandığında 2D bina dış çizgileri gösterilir. Gezinme sırasında, FollowMyLocationOptions
nesnesi kullanarak yakınlaştırma düzeyini geçersiz kılabilirsiniz. Bu şekilde, kullanıcı hedefine yaklaştığında 2D bina dış çizgilerini görüntülemek için yakınlaştırma seviyesini yükseltebilirsiniz.
Bu örnekte, yüksek ayrıntı ayarı etkinleştirilir:
navigationView.setNavigationMapStyle(NavigationMapStyle.HIGH_DETAIL);
Aşağıdaki örnek, gezinme sırasında kameranın yakınlaştırma seviyesini geçersiz kılar. Yakınlaştırma düzeyi, 2D bina ana hatlarını görüntülemek için yeterince yüksek olan 15 değerine ayarlanmıştır.
googleMap.followMyLocation(
FollowMyLocationOptions.builder(CameraPerspective.TILTED)
.setZoomLevel(15.0f)
.build());
Sonraki adım
Haritada hangi yerleşik kullanıcı arayüzü bileşenlerinin görüneceğini belirleyerek kullanıcıların haritanızla etkileşimde bulunma şeklini nasıl özelleştireceğinizi öğrenmek için Gezinme Kullanıcı Arayüzünü Özelleştirme konusuna bakın.