iOS için Haritalar SDK'sını kullanarak, yerleşik kullanıcı arayüzü bileşenlerinden hangilerinin haritada görüneceğini ve hangi hareketlere izin verileceğini belirleyerek kullanıcıların haritanızla etkileşim kurma ş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ü kontrolleri sağlar. GMSUISettings
sınıfını kullanarak bu kontrollerin 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ırdan farklı bir yönü gösterecek şekilde yönlendirildiğinde görünür. Kullanıcı pusulayı tıkladığında kamera, sıfır yönüne (varsayılan yön) geri dönecek şekilde animasyonla hareket eder ve pusula kısa süre sonra kaybolur.
Pusula varsayılan olarak devre dışıdır. compassButton
özelliğini YES
olarak ayarlayarak pusulayı etkinleştirebilirsiniz.GMSUISettings
Ancak pusulanın her zaman gösterilmesini zorunlu kılamazsı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 etkinleştirildiğinde görünür. Kullanıcı düğmeyi tıkladığında, kullanıcının konumu biliniyorsa kamera, kullanıcının mevcut konumuna odaklanmak için animasyon yapar. myLocationButton
özelliğini YES
olarak ayarlayarak düğmeyi etkinleştirebilirsiniz.GMSUISettings
Swift
mapView.settings.myLocationButton = true
Objective-C
mapView.settings.myLocationButton = YES;
Kat seçici
Kat seçici kontrolü, iç mekan haritası belirgin bir şekilde gösterildiğinde ekranın sağ alt kısmında 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 ilgili olur. Her binanın varsayılan bir katı vardır. Bu kat, seçici ilk kez görüntülendiğinde seçilir. Seçiciden farklı bir kat seçerek o kata geçebilirsiniz.
indoorPicker
özelliğini NO
olarak ayarlayarak kat seçici kontrolünü devre dışı bırakabilirsiniz.GMSUISettings
Swift
mapView.settings.indoorPicker = false
Objective-C
mapView.settings.indoorPicker = NO;
Harita hareketleri
GMSUISettings
sınıfının özelliklerini ayarlayarak haritadaki varsayılan hareketleri devre dışı bırakabilirsiniz. Bu sınıf, GMSMapView
sınıfının bir özelliği olarak kullanılabilir.
Aşağıdaki hareketler programatik olarak etkinleştirilebilir ve devre dışı bırakılabilir. Bu hareketi devre dışı bırakmanı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ştirilirse 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. Etkinleştirilirse kullanıcılar kamerayı yakınlaştırmak için iki kez dokunabilir, iki parmağıyla dokunabilir veya parmaklarını kıstırabilir.scrollGestures
etkinleştirildiğinde iki kez dokunma veya sıkıştırma hareketlerinin kamerayı belirtilen noktaya kaydırabileceğini unutmayın.tiltGestures
: Eğme hareketlerinin etkinleştirilip devre dışı bırakılacağını kontrol eder. Etkinleştirilirse kullanıcılar kamerayı eğmek için iki parmağıyla dikey olarak aşağı veya yukarı kaydırabilir.rotateGestures
: Döndürme hareketlerinin etkinleştirilip etkinleştirilmeyeceğini kontrol eder. Bu ayar etkinleştirilirse kullanıcılar kamerayı döndürmek için iki parmakla döndürme hareketini kullanabilir.
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; }