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; }