Melalui Maps SDK for iOS, Anda dapat menyesuaikan cara pengguna berinteraksi dengan peta Anda, dengan menentukan komponen UI bawaan mana yang akan muncul pada peta dan gestur mana yang diizinkan.
Kontrol peta
Maps SDK for iOS menyediakan beberapa kontrol UI bawaan yang serupa dengan yang ada di aplikasi Google Maps untuk iOS. Anda dapat
mengalihkan visibilitas kontrol ini menggunakan class GMSUISettings.
Perubahan yang dilakukan pada class ini segera diterapkan pada peta.
Kompas
Maps SDK for iOS menyediakan gambar kompas yang muncul di sudut kanan atas peta dalam keadaan tertentu. Kompas hanya akan muncul saat kamera diorientasikan sedemikian rupa sehingga memiliki arah bukan nol. Jika pengguna mengklik kompas, kamera akan beranimasi kembali ke posisi dengan arah nol (orientasi default), lalu kompas menghilang beberapa saat setelahnya.
Kompas ini secara default dinonaktifkan. Anda dapat mengaktifkan kompas dengan menyetel properti compassButton dari GMSUISettings ke YES. Namun, Anda tidak dapat
memaksa kompas untuk selalu ditampilkan.
Swift
let camera = GMSCameraPosition(latitude: 37.757815, longitude: -122.50764, zoom: 12) let options = GMSMapViewOptions() options.camera = camera let mapView = GMSMapView(options: options) mapView.settings.compassButton = true
Objective-C
GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:37.757815 longitude:-122.50764 zoom:12]; GMSMapViewOptions *options = [[GMSMapViewOptions alloc] init]; options.camera = camera; GMSMapView *mapView = [[GMSMapView alloc] initWithOptions:options]; mapView.settings.compassButton = YES;
Tombol Lokasiku
Tombol Lokasiku akan muncul di sudut kanan bawah layar hanya
jika tombol Lokasiku diaktifkan. Saat pengguna mengklik tombol tersebut, kamera akan beranimasi untuk berfokus pada lokasi pengguna saat ini jika lokasi pengguna diketahui. Anda dapat mengaktifkan tombol dengan menetapkan
properti myLocationButton dari GMSUISettings ke YES.
Swift
mapView.settings.myLocationButton = true
Objective-C
mapView.settings.myLocationButton = YES;
Pemilih lantai
Kontrol pemilih lantai muncul di dekat kanan bawah layar setiap kali peta lantai ditampilkan dengan jelas. Jika dua atau beberapa peta lantai terlihat, pemilih lantai akan terkait dengan bangunan yang paling dekat dengan bagian tengah layar. Setiap bangunan memiliki lantai default yang dipilih saat alat pilih pertama kali ditampilkan. Anda bisa memilih lantai yang berbeda dengan memilihnya dari picker.
Anda dapat menonaktifkan kontrol alat pilih lantai dengan menetapkan properti indoorPicker dari GMSUISettings ke NO.
Swift
mapView.settings.indoorPicker = false
Objective-C
mapView.settings.indoorPicker = NO;
Gestur peta
Anda dapat menonaktifkan gestur default pada peta dengan menetapkan properti class GMSUISettings, yang tersedia sebagai properti GMSMapView.
Isyarat berikut bisa diaktifkan dan dinonaktifkan secara programatis. Perhatikan bahwa
menonaktifkan gestur tidak akan membatasi akses terprogram ke setelan
kamera.
scrollGestures— mengontrol apakah gestur scroll diaktifkan atau dinonaktifkan. Jika diaktifkan, pengguna bisa gesek jari untuk menggeser kamera.zoomGestures— mengontrol apakah gestur zoom diaktifkan atau dinonaktifkan. Jika diaktifkan, pengguna dapat mengetuk dua kali, mengetuk dengan dua jari, atau mencubit untuk memperbesar kamera. Perhatikan bahwa mengetuk dua kali atau mencubit saatscrollGesturesdiaktifkan dapat menggeser kamera ke titik yang ditentukan.tiltGestures— mengontrol apakah gestur miring diaktifkan atau dinonaktifkan. Jika diaktifkan, pengguna dapat menggunakan geser ke bawah atau ke atas secara vertikal dengan dua jari untuk memiringkan kamera.rotateGestures— mengontrol apakah gestur putar diaktifkan atau dinonaktifkan. Jika diaktifkan, pengguna dapat menggunakan gestur memutar dengan dua jari untuk memutar kamera.
Dalam contoh di bawah ini, isyarat geser dan zoom telah dinonaktifkan.
Swift
override func loadView() { let camera = GMSCameraPosition.camera( withLatitude: 1.285, longitude: 103.848, zoom: 12 ) let options = GMSMapViewOptions() options.camera = camera let mapView = GMSMapView(options: options) 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]; GMSMapViewOptions *options = [[GMSMapViewOptions alloc] init]; options.camera = camera; GMSMapView *mapView = [[GMSMapView alloc] initWithOptions:options]; mapView.settings.scrollGestures = NO; mapView.settings.zoomGestures = NO; self.view = mapView; }