Kontroller ve hareketler

Platform seçin: Android iOS JavaScript

iOS için Haritalar SDK'sını kullanarak, haritada yerleşik kullanıcı arayüzü bileşenlerinden hangilerinin göründüğünü ve hangi hareketlere izin verildiğini belirleyerek kullanıcıların haritanızla etkileşim kurma biçimini özelleştirebilirsiniz.

Harita kontrolleri

iOS için Haritalar SDK'sı, iOS için Google Haritalar uygulamasındakilere benzer bazı yerleşik kullanıcı arayüzü kontrolleri sağlar. GMSUISettings sınıfını kullanarak bu denetimlerin görünürlüğünü değiştirebilirsiniz. Bu sınıfta yapılan değişiklikler haritaya hemen yansıtılır.

Pusula

iOS için Haritalar SDK'sı, belirli durumlarda haritanın sağ üst köşesinde görünen bir pusula grafiği sağlar. Pusula yalnızca kamera, sıfır olmayan bir yöne doğru bakıldığında görünür. Kullanıcı pusulayı tıkladığında kamera yeniden sıfır noktasına (varsayılan yön) döner ve kısa bir süre sonra pusula kaybolur.

Pusula varsayılan olarak devre dışıdır. GMSUISettings öğesinin compassButton özelliğini YES olarak ayarlayarak pusulayı etkinleştirebilirsiniz. Ancak pusulayı her zaman gösterilmeye zorlayamazsınız.

Swift

let camera = GMSCameraPosition(latitude: 37.757815, longitude: -122.50764, zoom: 12)
let mapView = GMSMapView(frame: .zero, camera: camera)
mapView.settings.compassButton = true
      

Objective-C

GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:37.757815
                                                        longitude:-122.50764
                                                             zoom:12];
GMSMapView *mapView = [GMSMapView mapWithFrame:CGRectZero camera:camera];
mapView.settings.compassButton = YES;
      

Konumum düğmesi

Konumum düğmesi ekranın sağ alt köşesinde yalnızca Konumum düğmesi etkin olduğunda görünür. Kullanıcının konumu biliniyorsa kamera, düğmeyi tıkladığında kullanıcının mevcut konumuna odaklanacak şekilde hareket eder. GMSUISettings öğesinin myLocationButton özelliğini YES olarak ayarlayarak düğmeyi etkinleştirebilirsiniz.

Swift

mapView.settings.myLocationButton = true
      

Objective-C

mapView.settings.myLocationButton = YES;
      

Kat seçici

Bir iç mekan haritası belirgin şekilde öne çıkarıldığında ekranın sağ alt kısmına yakın bir yerde kat seçici denetimi görünür. İki veya daha fazla iç mekan haritası görünür olduğunda, kat seçici, ekranın merkezine en yakın binayla ilişkilidir. Her binanın, seçici ilk kez görüntülendiğinde seçilen bir varsayılan kat vardır. Seçiciden farklı bir kat seçebilirsiniz.

GMSUISettings öğesinin indoorPicker özelliğini NO olarak ayarlayarak kat seçici denetimini devre dışı bırakabilirsiniz.

Swift

mapView.settings.indoorPicker = false
      

Objective-C

mapView.settings.indoorPicker = NO;
      

Harita hareketleri

GMSMapView özelliğinin bir özelliği olarak kullanılabilen GMSUISettings sınıfının özelliklerini ayarlayarak haritadaki varsayılan hareketleri devre dışı bırakabilirsiniz. Aşağıdaki hareketler programatik olarak etkinleştirilebilir ve devre dışı bırakılabilir. Hareketin devre dışı bırakılmasının, kamera ayarlarına programatik erişimi sınırlamayacağını unutmayın.

  • scrollGestures: Kaydırma hareketlerinin etkinleştirilip devre dışı bırakılacağını kontrol eder. Etkinleştirildiğinde, kullanıcılar kamerayı kaydırmak için kaydırabilir.
  • zoomGestures: Yakınlaştırma hareketlerinin etkinleştirilip devre dışı bırakılacağını kontrol eder. Bu özellik etkinleştirilirse kullanıcılar kamerayı yakınlaştırmak için iki kez dokunabilir, iki parmakla dokunabilir veya iki parmak ucunu yakınlaştırabilir. scrollGestures etkinken iki kez dokunma veya sıkıştırma hareketinin, kamerayı belirtilen noktaya kaydırabileceğini unutmayın.
  • tiltGestures: Eğme hareketlerinin etkinleştirilip devre dışı bırakılacağını kontrol eder. Bu özellik etkinleştirilirse kullanıcılar kamerayı yatırmak için iki parmakla dikey veya yukarı doğru kaydırma yapabilir.
  • rotateGestures: Döndürme hareketlerinin etkinleştirilip devre dışı bırakılacağını kontrol eder. Etkinleştirildiğinde, kullanıcılar iki parmakla döndürme hareketini kullanarak kamerayı döndürebilir.

Aşağıdaki örnekte hem kaydırma hem de yakınlaştırma hareketleri devre dışı bırakılmıştır.

Swift

override func loadView() {
  let camera = GMSCameraPosition.camera(
    withLatitude: 1.285,
    longitude: 103.848,
    zoom: 12
  )

  let mapView = GMSMapView.map(withFrame: .zero, camera: camera)
  mapView.settings.scrollGestures = false
  mapView.settings.zoomGestures = false
  self.view = mapView
}
      

Objective-C

- (void)loadView {
  GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:1.285
                                                          longitude:103.848
                                                               zoom:12];
  GMSMapView *mapView = [GMSMapView mapWithFrame:CGRectZero camera:camera];
  mapView.settings.scrollGestures = NO;
  mapView.settings.zoomGestures = NO;
  self.view = mapView;
}