Ringkasan
Class ini adalah class utama Google Maps SDK for iOS dan titik entri untuk semua metode yang terkait dengan peta.
Instance peta harus dibuat dengan salah satu konstruktor -init atau -initWithOptions:.
GMSMapView hanya dapat dibaca dan diubah dari thread utama, mirip dengan semua objek UIKit. Memanggil metode ini dari thread lain akan menghasilkan pengecualian atau perilaku yang tidak ditentukan.
Fungsi Anggota Publik | |
(instancetype) | - init |
Melakukan inisialisasi dengan CGRectangleZero dan opsi default. | |
(instancetype) | - initWithOptions: |
Membuat tampilan peta baru dengan opsi yang diberikan. | |
(instancetype) | - initWithFrame: |
(instancetype nullable) | - initWithCoder: |
(instancetype) | - initWithFrame:camera: |
Membangun dan menampilkan tampilan peta, dengan target kamera dan bingkai. | |
(instancetype) | - initWithFrame:mapID:camera: |
Membuat dan menampilkan tampilan peta dengan bingkai, ID peta, dan target kamera. | |
(kosong) | - startRendering |
Memberi tahu peta ini untuk mengaktifkan perendernya. | |
(kosong) | - stopRendering |
Memberi tahu peta ini untuk mematikan perendernya. | |
(kosong) | - jelas |
Menghapus semua markup yang telah ditambahkan ke peta, termasuk penanda, polyline, dan overlay bumi. | |
(kosong) | - setMinZoom:maxZoom: |
Menetapkan minZoom dan maxZoom . | |
(GMSCameraPosition nullable *) | - cameraForBounds:insets: |
Bangun GMSCameraPosition yang menyajikan bounds dengan padding . | |
(kosong) | - moveCamera: |
Mengubah kamera sesuai dengan update . | |
(BOOL) | - areEqualForRenderingPosition:position: |
Periksa apakah posisi kamera yang diberikan secara praktis akan menyebabkan kamera dirender sama, dengan mempertimbangkan tingkat presisi dan transformasi yang digunakan secara internal. | |
(GMSFeatureLayer < GMSPlaceFeature * > *) | - featureLayerOfFeatureType: |
Menampilkan lapisan fitur dari jenis yang ditentukan. | |
(GMSDatasetFeatureLayer *) | - datasetFeatureLayerOfDatasetID: |
Menampilkan lapisan fitur set data dari set data yang ditentukan. | |
(kosong) | - animateToCameraPosition: |
Menganimasikan kamera peta ini untuk cameraPosition . | |
(kosong) | - animateToLocation: |
Sebagai animateToCameraPosition:, tetapi hanya mengubah lokasi kamera (yaitu, dari lokasi saat ini ke location ). | |
(kosong) | - animateToZoom: |
Sebagai animateToCameraPosition:, tetapi hanya mengubah tingkat zoom kamera. | |
(kosong) | - animateToBearing: |
Sebagai animateToCameraPosition:, tetapi hanya mengubah bearing kamera (dalam derajat). | |
(kosong) | - animateToViewingAngle: |
Sebagai animateToCameraPosition:, tetapi hanya mengubah sudut pandang kamera (dalam derajat). | |
(kosong) | - animateWithCameraUpdate: |
Menerapkan cameraUpdate ke kamera saat ini, lalu menggunakan hasilnya sesuai animateToCameraPosition:. | |
Fungsi Anggota Publik Statis | |
(instancetype) | + mapWithFrame:camera: |
Membangun dan menampilkan tampilan peta dengan target kamera dan bingkai. | |
(instancetype) | + mapWithFrame:mapID:camera: |
Penginisialisasi kemudahan untuk membangun dan menampilkan tampilan peta dengan bingkai, ID peta, dan target kamera. | |
Properti | |
Id IBOutlet< GMSMapViewDelegate > | delegasikan |
GMSMapView. | |
GMSCameraPosition * | camera |
Mengontrol kamera, yang menentukan cara peta diorientasi. | |
GMSProjection * | projection |
Menampilkan objek GMSProjection yang dapat Anda gunakan untuk melakukan konversi antara koordinat layar dan koordinat lintang/bujur. | |
BOOL | myLocationEnabled |
Mengontrol apakah titik Lokasiku dan lingkaran akurasi diaktifkan. | |
CLLocation * | myLocation |
Jika Lokasiku diaktifkan, akan menunjukkan tempat titik lokasi perangkat sedang digambar. | |
GMSMarker * | selectedMarker |
Penanda yang dipilih. | |
BOOL | trafficEnabled |
Mengontrol apakah peta menarik data lalu lintas, jika tersedia. | |
GMSMapViewType | mapType |
Mengontrol jenis petak peta yang harus ditampilkan. | |
GMSMapStyle * | mapStyle |
Mengontrol gaya peta. | |
UIUserInterfaceStyle | overrideUserInterfaceStyle |
Ubah peta ke [UIUserInterfaceStyle](https://developer.apple.com/documentation/uikit/uiuserinterfacestyle?language=objc yang diinginkan). | |
mengambang | minZoom |
Zoom minimum (paling jauh kamera mungkin diperkecil). | |
mengambang | maxZoom |
Zoom maksimum (kamera terdekat mungkin dengan Bumi). | |
BOOL | buildingsEnabled |
Jika disetel, bangunan 3D akan ditampilkan jika tersedia. | |
BOOL | indoorEnabled |
Menyetel apakah peta lantai ditampilkan, jika tersedia. | |
GMSIndoorDisplay * | indoorDisplay |
Mendapatkan instance GMSIndoorDisplay yang memungkinkan untuk mengamati atau mengontrol aspek tampilan data dalam ruangan. | |
GMSUISettings * | setelan |
Mendapatkan objek GMSUISettings, yang mengontrol setelan antarmuka pengguna untuk peta. | |
UIEdgeInsets | padding |
Mengontrol 'visible' area tampilan. | |
GMSMapViewPaddingAdjustmentBehavior | paddingAdjustmentBehavior |
Mengontrol cara inset area aman ditambahkan ke nilai padding. | |
BOOL | accessibilityElementsHidden |
Nilai defaultnya adalah YES. | |
GMSMapLayer * | lapisan |
Aksesor untuk jenis CALayer kustom yang digunakan untuk lapisan. | |
GMSFrameRate | preferredFrameRate |
Mengontrol kecepatan frame rendering. | |
GMSCoordinateBounds * | cameraTargetBounds |
Jika tidak bernilai nol, akan membatasi target kamera sehingga gestur tidak dapat menyebabkannya meninggalkan batas yang ditetapkan. | |
GMSMapCapabilityFlags | mapCapabilities |
Semua kemampuan yang tersedia secara bersyarat (bergantung pada mapID atau setelan peta lainnya) yang tersedia pada saat ini. | |
Fungsi Terkait | |
(Perhatikan bahwa ini bukan fungsi anggota.) | |
NSString *const | kGMSAccessibilityCompass |
ID aksesibilitas untuk tombol kompas. | |
NSString *const | kGMSAccessibilityMyLocation |
ID aksesibilitas untuk "lokasi saya" tombol. | |
NSString *const | kGMSAccessibilityOutOfQuota |
ID aksesibilitas untuk "habis kuota" . |
Dokumentasi Fungsi Anggota
- (instancetype) init |
Melakukan inisialisasi dengan CGRectangleZero dan opsi default.
- (instancetype) initWithOptions: | (nonnull GMSMapViewOptions *) | options |
Membuat tampilan peta baru dengan opsi yang diberikan.
Nilai objek opsi disalin oleh metode ini.
- (instancetype) initWithFrame: | (CGrect) | bingkai |
- (instancetype nullable) initWithCoder: | (NSCoder *) | coder |
+ (instancetype) mapWithFrame: | (CGrect) | bingkai | |
kamera: | (GMSCameraPosition *) | kamera | |
Membangun dan menampilkan tampilan peta dengan target kamera dan bingkai.
+ (instancetype) mapWithFrame: | (CGrect) | bingkai | |
mapID: | (GMSMapID *) | mapID | |
kamera: | (GMSCameraPosition *) | kamera | |
Penginisialisasi kemudahan untuk membangun dan menampilkan tampilan peta dengan bingkai, ID peta, dan target kamera.
- (instancetype) initWithFrame: | (CGrect) | bingkai | |
kamera: | (GMSCameraPosition *) | kamera | |
Membangun dan menampilkan tampilan peta, dengan target kamera dan bingkai.
- Catatan:
- Opsi ini tidak digunakan lagi. Gunakan -init atau -initWithOptions: sebagai gantinya.
- (instancetype) initWithFrame: | (CGrect) | bingkai | |
mapID: | (GMSMapID *) | mapID | |
kamera: | (GMSCameraPosition *) | kamera | |
Membuat dan menampilkan tampilan peta dengan bingkai, ID peta, dan target kamera.
- Catatan:
- Opsi ini tidak digunakan lagi. Gunakan -init atau -initWithOptions: sebagai gantinya.
- (void) startRendering |
Memberi tahu peta ini untuk mengaktifkan perendernya.
Hal ini bersifat opsional dan idempoten.
- Catatan:
- Opsi ini tidak digunakan lagi. Metode ini sudah tidak berlaku dan akan dihapus dalam rilis mendatang.
- (void) stopRendering |
Memberi tahu peta ini untuk mematikan perendernya.
Hal ini bersifat opsional dan idempoten.
- Catatan:
- Opsi ini tidak digunakan lagi. Metode ini sudah tidak berlaku dan akan dihapus dalam rilis mendatang.
- (batal) jelas |
Menghapus semua markup yang telah ditambahkan ke peta, termasuk penanda, polyline, dan overlay bumi.
Tindakan ini tidak akan menghapus titik lokasi yang terlihat atau mereset mapType saat ini.
- (void) setMinZoom: | (float) | minZoom | |
maxZoom: | (float) | maxZoom | |
Menetapkan minZoom
dan maxZoom
.
Metode ini mengharapkan nilai minimum kurang dari atau sama dengan maksimum, dan akan menampilkan pengecualian dengan nama NSRangeException.
- (nullable GMSCameraPosition *) cameraForBounds: | (GMSCoordinateBounds *) | batas | |
inset: | (UIEdgeInsets) | inset | |
Bangun GMSCameraPosition yang menyajikan bounds
dengan padding
.
Kamera akan memiliki arah dan kemiringan nol (yaitu, menghadap ke utara dan melihat langsung ke Bumi). Tindakan ini akan memperhitungkan frame dan padding pada GMSMapView ini.
Jika batas tidak valid, metode ini akan menampilkan kamera nol.
- (void) moveCamera: | (GMSCameraUpdate *) | info terbaru |
Mengubah kamera sesuai dengan update
.
Perubahan kamera berlangsung seketika (tanpa animasi).
- (BOOL) areEqualForRenderingPosition: | (GMSCameraPosition *) | position | |
posisi: | (GMSCameraPosition *) | otherPosition | |
Periksa apakah posisi kamera yang diberikan secara praktis akan menyebabkan kamera dirender sama, dengan mempertimbangkan tingkat presisi dan transformasi yang digunakan secara internal.
- (GMSFeatureLayer<GMSPlaceFeature *> *) featureLayerOfFeatureType: | (GMSFeatureType) | featureType |
Menampilkan lapisan fitur dari jenis yang ditentukan.
Lapisan fitur harus dikonfigurasi di Cloud Console.
Jika lapisan jenis yang ditentukan tidak ada di peta ini, atau jika gaya visual berbasis data tidak diaktifkan, atau jika framework rendering Logam tidak digunakan, `isAvailable` lapisan yang dihasilkan akan menjadi NO
, dan tidak akan merespons panggilan apa pun.
Memerlukan perender Metal. Pelajari cara mengaktifkan Metal di https://developers.google.com/maps/documentation/ios-sdk/config#use-metal
- (GMSDatasetFeatureLayer *) datasetFeatureLayerOfDatasetID: | (NSString *) | datasetID |
Menampilkan lapisan fitur set data dari set data yang ditentukan.
ID set data harus dikonfigurasi di Konsol Cloud.
Jika set data dari ID yang ditentukan tidak ada di peta ini, atau jika gaya visual berbasis data tidak diaktifkan, `isAvailable` lapisan yang dihasilkan akan menjadi NO
, dan tidak akan merespons panggilan apa pun.
- (void) animateToCameraPosition: | (GMSCameraPosition *) | cameraPosition |
Menganimasikan kamera peta ini untuk cameraPosition
.
- (void) animateToLocation: | (CLLocationCoordinate2D) | lokasi |
Sebagai animateToCameraPosition:, tetapi hanya mengubah lokasi kamera (yaitu, dari lokasi saat ini ke location
).
- (void) animateToZoom: | (float) | zoom |
Sebagai animateToCameraPosition:, tetapi hanya mengubah tingkat zoom kamera.
Nilai ini dibatasi oleh [kGMSMinZoomLevel, kGMSMaxZoomLevel].
- (void) animateToBearing: | (CLLocationDirection) | bearing |
Sebagai animateToCameraPosition:, tetapi hanya mengubah bearing kamera (dalam derajat).
Nol menunjukkan utara sebenarnya.
- (void) animateToViewingAngle: | (ganda) | viewingAngle |
Sebagai animateToCameraPosition:, tetapi hanya mengubah sudut pandang kamera (dalam derajat).
Nilai ini akan dibulatkan ke minimum nol (yaitu, menghadap lurus ke bawah) dan antara 30 dan 45 derajat ke arah cakrawala, tergantung pada kedekatan relatif dengan bumi.
- (void) animateWithCameraUpdate: | (GMSCameraUpdate *) | cameraUpdate |
Menerapkan cameraUpdate
ke kamera saat ini, lalu menggunakan hasilnya sesuai animateToCameraPosition:.
Dokumentasi Teman Dan Fungsi Terkait
- (NSString* const) kGMSAccessibilityCompass [related] |
ID aksesibilitas untuk tombol kompas.
- (NSString* const) kGMSAccessibilityMyLocation [related] |
ID aksesibilitas untuk "lokasi saya" tombol.
- (NSString* konstanta) kGMSAccessibilityOutOfQuota [related] |
ID aksesibilitas untuk "habis kuota" .
Dokumentasi Properti
- (IBOutlet id<GMSMapViewDelegate>) delegasi [read, write, assign] |
- (GMSCameraPosition*) kamera [read, write, copy] |
Mengontrol kamera, yang menentukan cara peta diorientasi.
Perubahan properti ini seketika.
- (GMSProjection*) proyeksi [read, assign] |
Menampilkan objek GMSProjection yang dapat Anda gunakan untuk melakukan konversi antara koordinat layar dan koordinat lintang/bujur.
Ini adalah snapshot proyeksi saat ini, dan tidak akan diperbarui secara otomatis ketika kamera bergerak. Contoh ini menunjukkan proyeksi frame GMSMapView yang terakhir digambar, atau; di mana kamera telah ditetapkan secara eksplisit atau peta baru saja dibuat, yaitu bingkai berikutnya. Nilai tidak akan pernah nol.
- (BOOL) myLocationEnabled [read, write, assign] |
Mengontrol apakah titik Lokasiku dan lingkaran akurasi diaktifkan.
Default-nya adalah TIDAK.
- (CLLocation*) myLocation [read, assign] |
Jika Lokasiku diaktifkan, akan menunjukkan tempat titik lokasi perangkat sedang digambar.
Jika dinonaktifkan, atau diaktifkan tetapi tidak ada data lokasi yang tersedia, nilainya akan nol. Properti ini dapat diamati menggunakan KVO.
- (GMSMarker*) selectedMarker [read, write, assign] |
Penanda yang dipilih.
Menetapkan properti ini akan memilih penanda tertentu yang menampilkan jendela info di dalamnya. Jika properti ini tidak bernilai nol, menetapkannya ke nol akan membatalkan pilihan penanda, sehingga menyembunyikan jendela info. Properti ini dapat diamati menggunakan KVO.
- (BOOL) trafficEnabled [read, write, assign] |
Mengontrol apakah peta mengambil data lalu lintas, jika tersedia.
Hal ini bergantung pada ketersediaan data traffic. Default-nya adalah TIDAK.
- (GMSMapViewType) mapType [read, write, assign] |
Mengontrol jenis petak peta yang harus ditampilkan.
Nilai defaultnya adalah kGMSTypeNormal.
- (GMSMapStyle*) mapStyle [read, write, assign] |
Mengontrol gaya peta.
MapStyle bukan nol hanya akan diterapkan jika mapType adalah Normal.
- (UIUserInterfaceStyle) overrideUserInterfaceStyle [read, write, assign] |
Ubah peta ke [UIUserInterfaceStyle](https://developer.apple.com/documentation/uikit/uiuserinterfacestyle?language=objc yang diinginkan).
Ini akan menggantikan perilaku UIKit default dan default ke UIUserInterfaceStyleLight untuk memastikan kompatibilitas mundur. Hal ini memengaruhi skema warna jenis peta Normal dan Medan.
- (float) minZoom [read, assign] |
Zoom minimum (paling jauh kamera mungkin diperkecil).
Setelan defaultnya adalah kGMSMinZoomLevel. Diubah dengan -setMinZoom:maxZoom:.
- (float) maxZoom [read, assign] |
Zoom maksimum (kamera terdekat mungkin dengan Bumi).
Setelan defaultnya adalah kGMSMaxZoomLevel. Diubah dengan -setMinZoom:maxZoom:.
- (BOOL) buildingsEnabled [read, write, assign] |
Jika disetel, bangunan 3D akan ditampilkan jika tersedia.
Nilai defaultnya adalah YES.
Ini mungkin berguna saat menambahkan lapisan ubin khusus ke peta, untuk membuatnya lebih jelas pada tingkat zoom tinggi. Mengubah nilai ini akan menyebabkan semua ubin dibatalkan validasi sesaat.
- (BOOL) indoorEnabled [read, write, assign] |
Menyetel apakah peta lantai ditampilkan, jika tersedia.
Nilai defaultnya adalah YES.
Jika disetel ke TIDAK, cache untuk data dalam ruangan dapat dihapus dan nilai minimum yang saat ini dipilih pengguna akhir dapat direset.
- (GMSIndoorDisplay*) indoorDisplay [read, assign] |
Mendapatkan instance GMSIndoorDisplay yang memungkinkan untuk mengamati atau mengontrol aspek tampilan data dalam ruangan.
- (GMSUISettings*) setelan [read, assign] |
Mendapatkan objek GMSUISettings, yang mengontrol setelan antarmuka pengguna untuk peta.
- (UIEdgeInsets) padding [read, write, assign] |
Mengontrol 'visible' area tampilan.
Dengan menerapkan padding, area di sekitar tepi tampilan dapat dibuat yang akan berisi data peta tetapi tidak akan berisi kontrol UI.
Jika padding tidak seimbang, bagian tengah visual tampilan akan bergerak sebagaimana mestinya. Padding juga akan memengaruhi properti projection
sehingga region yang terlihat tidak akan menyertakan area padding. FitToBounds GMSCameraUpdate akan memastikan bahwa padding ini dan padding yang diminta akan dipertimbangkan.
Properti ini dapat dianimasikan dalam blok animasi berbasis UIView.
- (GMSMapViewPaddingAdjustmentBehavior) paddingAdjustmentBehavior [read, write, assign] |
Mengontrol cara inset area aman ditambahkan ke nilai padding.
Seperti padding, kontrol peta posisi inset area aman seperti kompas, tombol lokasi saya, dan pemilih lantai dalam area aman perangkat.
Setelan defaultnya adalah kComparisonPaddingPenyesuaianBehaviorAlways.
- (BOOL) accessibilityElementsHidden [read, write, assign] |
Nilai defaultnya adalah YES.
Jika ditetapkan ke NO, GMSMapView akan menghasilkan elemen aksesibilitas untuk objek overlay, seperti GMSMarker dan GMSPolyline.
Properti ini mengikuti protokol UIAccessibility informal, kecuali untuk nilai default YES.
- (GMSMapLayer*) lapisan [read, retain] |
Aksesor untuk jenis CALayer kustom yang digunakan untuk lapisan.
- (GMSFrameRate) preferredFrameRate [read, write, assign] |
Mengontrol kecepatan frame rendering.
Nilai defaultnya adalah kGMSFrameRateMaximum.
- (GMSCoordinateBounds*) cameraTargetBounds [read, write, assign] |
Jika tidak bernilai nol, akan membatasi target kamera sehingga gestur tidak dapat menyebabkannya meninggalkan batas yang ditetapkan.
- (GMSMapCapabilityFlags) mapCapabilities [read, assign] |
Semua kemampuan yang tersedia secara bersyarat (bergantung pada mapID atau setelan peta lainnya) yang tersedia pada saat ini.
Tidak mencakup kemampuan yang selalu tersedia.