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üneceğini ve hangi hareketlere izin verildiğini belirleyerek kullanıcıların haritanızla etkileşimde bulunma şeklini özelleştirebilirsiniz.

Harita kontrolleri

iOS için Haritalar SDK'sı, iOS için Google Haritalar uygulamasında bulunanlara benzer bazı yerleşik kullanıcı arayüzü denetimleri 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 sahip olduğunda görünür. Kullanıcı pusulayı tıkladığında, kamera sıfır açısıyla (varsayılan yön) geri döner ve pusula kısa bir süre sonra kaybolur.

Pusula varsayılan olarak devre dışıdır. Pusulayı, GMSUISettings için compassButton özelliğini YES şeklinde ayarlayarak 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, yalnızca Konumum düğmesi etkin olduğunda ekranın sağ alt köşesinde görünür. Kullanıcı düğmeyi tıkladığında, kamera hareket ederek kullanıcının konumu biliniyorsa mevcut konumuna odaklanır. GMSUISettings öğesinin myLocationButton özelliğini YES değerine ayarlayarak düğmeyi etkinleştirebilirsiniz.

Swift

mapView.settings.myLocationButton = true
      

Objective-C

mapView.settings.myLocationButton = YES;
      

Zemin seçici

Bir iç mekan haritası belirgin şekilde öne çıkarıldığında, kat seçici kontrolü ekranın sağ alt köşesine yakın bir yerde görünür. İki veya daha fazla iç mekan haritası göründüğünde, kat seçici ekranın ortasına en yakın binayla ilişkili olur. Her binanın, seçici ilk gösterildiğinde seçilen varsayılan bir katı vardır. Seçiciden farklı bir kat seçebilirsiniz.

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

Swift

mapView.settings.indoorPicker = false
      

Objective-C

mapView.settings.indoorPicker = NO;
      

Harita hareketleri

Haritada varsayılan hareketleri devre dışı bırakmak için GMSMapView öğesinin bir özelliği olarak kullanılabilen GMSUISettings sınıfının özelliklerini ayarlayabilirsiniz. Aşağıdaki hareketler programatik olarak etkinleştirilebilir ve devre dışı bırakılabilir. Hareketi devre dışı bırakmanın, kamera ayarlarına programatik erişimi sınırlamayacağını unutmayın.

  • scrollGestures: Kaydırma hareketlerinin etkinleştirileceğini veya devre dışı bırakılacağını kontrol eder. Etkinleştirilirse kullanıcılar kamerayı kaydırmak için ekranı kaydırabilir.
  • zoomGestures: Yakınlaştırma hareketlerinin etkinleştirileceğini veya devre dışı bırakılacağını kontrol eder. Etkinse kullanıcılar kamerayı yakınlaştırmak için iki kez dokunabilir, iki parmakla dokunabilir veya iki parmağını 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ı eğmek için iki parmakla dikey olarak aşağı veya yukarı kaydırabilir.
  • rotateGestures — Döndürme hareketlerinin etkinleştirilip etkinleştirilmediğini kontrol eder. Bu özellik etkinleştirilirse 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;
}