iOS için Haritalar SDK'sını kullanarak, haritanızda hangi yerleşik kullanıcı arayüzü bileşenlerinin gösterileceğini ve hangi hareketlere izin verileceğini belirleyerek kullanıcıların haritanızla etkileşim ş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 denetimlerin görünürlüğünü değiştirebilirsiniz.
Bu sınıfta yapılan değişiklikler hemen haritaya 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 bakacak şekilde yönlendirildiğinde görünür. Kullanıcı pusulayı tıkladığında kamera, animasyonlu olarak sıfır yön açısına (varsayılan yön) geri döner ve pusulayı kısa süre sonra kaybolur.
Pusula varsayılan olarak devre dışıdır. GMSUISettings
mülkündeki compassButton
özelliğini YES
olarak ayarlayarak pusulayı etkinleştirebilirsiniz. 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 kamera, kullanıcının konumu biliniyorsa kullanıcının mevcut konumuna odaklanmak için 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;
Zemin seçici
Kat seçici kontrolü, belirgin bir şekilde kapalı alan haritası gösterildiğinde ekranın sağ alt kısmında görünür. İki veya daha fazla kapalı alan haritası görünür olduğunda kat seçici, ekranın ortasına en yakın binayla ilgilidir. Her binanın, seçici ilk görüntülendiğinde seçilen bir varsayılan katı vardır. Seçiciden farklı bir kat seçebilirsiniz.
GMSUISettings
mülkünün indoorPicker
özelliğini NO
olarak ayarlayarak taban seçici denetimini devre dışı bırakabilirsiniz.
Swift
mapView.settings.indoorPicker = false
Objective-C
mapView.settings.indoorPicker = NO;
Harita hareketleri
GMSMapView
sınıfının bir özelliği olarak kullanılabilen GMSUISettings
sınıfının özelliklerini ayarlayarak haritada 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. Bu ayar etkinleştirilirse kullanıcılar kamerayı kaydırarak hareket ettirebilir.zoomGestures
: Yakınlaştırma hareketlerinin etkinleştirilip etkinleştirilmeyeceğini kontrol eder. Bu ayar etkinleştirilirse kullanıcılar kamerayı yakınlaştırmak için iki kez dokunabilir, iki parmağınızla dokunabilir veya iki parmağınızla yakınlaştırabilir.scrollGestures
etkinken iki kez dokunmanın veya sıkıştırmanın kamerayı belirtilen noktaya kaydırabileceğini unutmayın.tiltGestures
: Eğilme hareketlerinin etkinleştirilip devre dışı bırakılacağını kontrol eder. Bu özellik etkinleştirildiğinde kullanıcılar kamerayı eğmek için iki parmağınızla dikey olarak aşağı veya yukarı kaydırabilir.rotateGestures
: Döndürme hareketlerinin etkinleştirilip devre dışı bırakılacağını 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; }