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