Ringkasan
Ini adalah class utama Google Maps SDK for iOS dan merupakan titik entri untuk semua metode yang terkait dengan peta.
Instance peta harus dibuat melalui 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 CGRectZero dan opsi default. | |
(instancetype) | - initWithOptions: |
Membuat tampilan peta baru dengan opsi yang diberikan. | |
(instancetype) | - initWithFrame: |
(instancetype) | - initWithCoder: |
(instancetype) | - initWithFrame:kamera: |
Membuat 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. | |
(void) | - startRendering |
Memberi tahu peta ini untuk meningkatkan kualitas perendernya. | |
(void) | - stopRendering |
Memberi tahu peta ini untuk mematikan perendernya. | |
(void) | - jelas |
Menghapus semua markup yang telah ditambahkan ke peta, termasuk penanda, polyline, dan overlay bumi. | |
(void) | - setMinZoom:maxZoom: |
Menetapkan minZoom dan maxZoom . | |
(nullable GMSCameraPosition *) | - cameraForBounds:inset: |
Buat GMSCameraPosition yang menyajikan bounds dengan padding . | |
(void) | - moveCamera: |
Mengubah kamera sesuai dengan update . | |
(BOOL) | - areEqualForRenderingPosition:position: |
Periksa apakah posisi kamera tertentu secara praktis akan menyebabkan kamera dirender dengan sama, dengan mempertimbangkan tingkat presisi dan transformasi yang digunakan secara internal. | |
(GMSFeatureLayer < GMSPlaceFeature * > *) | - featureLayerOfFeatureType: |
Menampilkan lapisan fitur dari jenis yang ditentukan. | |
(void) | - animateToCameraPosition: |
Menganimasikan kamera peta ini ke cameraPosition . | |
(void) | - animateToLocation: |
Sebagai animateToCameraPosition:, tetapi hanya mengubah lokasi kamera (yaitu, dari lokasi saat ini ke location ). | |
(void) | - animateToZoom: |
Sebagai animateToCameraPosition:, tetapi hanya mengubah tingkat zoom kamera. | |
(void) | - animateToBearing: |
Sebagai animateToCameraPosition:, tetapi hanya mengubah arah kamera (dalam derajat). | |
(void) | - animateToViewingAngle: |
Sebagai animateToCameraPosition:, tetapi hanya mengubah sudut pandang kamera (dalam derajat). | |
(void) | - animateWithCameraUpdate: |
Menerapkan cameraUpdate ke kamera saat ini, lalu menggunakan hasilnya sesuai animateToCameraPosition:. | |
Fungsi Anggota Publik Statis | |
(instancetype) | + mapWithFrame:kamera: |
Membuat dan menampilkan tampilan peta dengan target kamera dan bingkai. | |
(instancetype) | + mapWithFrame:mapID:camera: |
Penginisialisasi praktis untuk membuat dan menampilkan tampilan peta dengan frame, ID peta, dan target kamera. | |
Properti | |
ID IBOutlet< GMSMapViewDelegate > | delegasi |
Delegasi GMSMapView. | |
GMSCameraPosition * | camera |
Mengontrol kamera, yang menentukan cara orientasi peta. | |
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. | |
Lokasi CL * | myLocation |
Jika Lokasiku diaktifkan, ini akan memperlihatkan di mana titik lokasi perangkat digambar. | |
GMSMarker * | selectedMarker |
Penanda yang dipilih. | |
BOOL | trafficEnabled |
Mengontrol apakah peta menggambar data lalu lintas, jika tersedia. | |
GMSMapViewType | mapType |
Mengontrol jenis ubin peta yang harus ditampilkan. | |
GMSMapStyle * | mapStyle |
Mengontrol gaya peta. | |
float | minZoom |
Zoom minimum (paling jauh kamera mungkin diperkecil). | |
float | maxZoom |
Zoom maksimum (posisi kamera yang paling dekat dengan Bumi). | |
BOOL | buildingsEnabled |
Jika ditetapkan, bangunan 3D akan ditampilkan jika tersedia. | |
BOOL | indoorEnabled |
Menetapkan apakah peta lantai akan 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 area yang 'terlihat' pada tampilan. | |
GMSMapViewPaddingAdjustmentBehavior | paddingAdjustmentBehavior |
Mengontrol cara inset area aman ditambahkan ke nilai padding. | |
BOOL | accessibilityElementsHidden |
Default-nya adalah YA. | |
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 keluar dari batas yang ditentukan. | |
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 tombol "lokasi saya". | |
NSString *const | kGMSAccessibilityOutOfQuota |
ID aksesibilitas untuk label error "habis kuota". |
Dokumentasi Fungsi Anggota
- (instancetype) init |
Melakukan inisialisasi dengan CGRectZero dan opsi default.
- (instancetype) initWithOptions: | (GMSMapViewOptions nonnull *) | options |
Membuat tampilan peta baru dengan opsi yang diberikan.
Nilai objek opsi disalin oleh metode ini.
- (instancetype) initWithFrame: | (CGRect) | bingkai |
- (instancetype) initWithCoder: | (NSCoder *) | coder |
+ (instancetype) mapWithFrame: | (CGRect) | bingkai | |
kamera: | (GMSCameraPosition *) | kamera | |
Membuat dan menampilkan tampilan peta dengan target kamera dan bingkai.
+ (instancetype) mapWithFrame: | (CGRect) | bingkai | |
mapID: | (GMSMapID *) | mapID | |
kamera: | (GMSCameraPosition *) | kamera | |
Penginisialisasi praktis untuk membuat dan menampilkan tampilan peta dengan frame, ID peta, dan target kamera.
- (instancetype) initWithFrame: | (CGRect) | bingkai | |
kamera: | (GMSCameraPosition *) | kamera | |
Membuat dan menampilkan tampilan peta, dengan target kamera dan bingkai.
- Catatan:
- Ini tidak digunakan lagi. Sebagai gantinya, gunakan -init atau -initWithOptions:.
- (instancetype) initWithFrame: | (CGRect) | bingkai | |
mapID: | (GMSMapID *) | mapID | |
kamera: | (GMSCameraPosition *) | kamera | |
Membuat dan menampilkan tampilan peta dengan bingkai, ID peta, dan target kamera.
- Catatan:
- Ini tidak digunakan lagi. Sebagai gantinya, gunakan -init atau -initWithOptions:.
- (void) startRendering |
Memberi tahu peta ini untuk meningkatkan kualitas perendernya.
Fungsi ini bersifat opsional dan idempoten.
- Catatan:
- Ini tidak digunakan lagi. Metode ini sudah tidak berlaku dan akan dihapus dalam rilis mendatang.
- (void) stopRendering |
Memberi tahu peta ini untuk mematikan perendernya.
Fungsi ini bersifat opsional dan idempoten.
- Catatan:
- Ini tidak digunakan lagi. Metode ini sudah tidak berlaku dan akan dihapus dalam rilis mendatang.
- (void) hapus |
Menghapus semua markup yang telah ditambahkan ke peta, termasuk penanda, polyline, dan overlay bumi.
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 minimum kurang dari atau sama dengan maksimum, dan akan menampilkan pengecualian dengan nama NSRangeException.
- (nullable GMSCameraPosition *) cameraForBounds: | (GMSCoordinateBounds *) | batas | |
inset: | (UIEdgeInsets) | inset | |
Buat GMSCameraPosition yang menyajikan bounds
dengan padding
.
Kamera akan memiliki bearing dan kemiringan nol (yaitu, menghadap ke utara dan langsung melihat Bumi). Ini mempertimbangkan bingkai dan padding GMSMapView ini.
Jika batas tersebut tidak valid, metode ini akan menampilkan kamera nol.
- (void) moveCamera: | (GMSCameraUpdate *) | pembaruan |
Mengubah kamera sesuai dengan update
.
Perubahan kamera terjadi secara instan (tanpa animasi).
- (BOOL) areEqualForRenderingPosition: | (GMSCameraPosition *) | position | |
posisi: | (GMSCameraPosition *) | otherPosition | |
Periksa apakah posisi kamera tertentu secara praktis akan menyebabkan kamera dirender dengan 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 dari 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 Logam. Pelajari cara mengaktifkan Metal di https://developers.google.com/maps/documentation/ios-sdk/config#use-metal
- (void) animateToCameraPosition: | (GMSCameraPosition *) | cameraPosition |
Menganimasikan kamera peta ini ke 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 arah kamera (dalam derajat).
Nol menunjukkan utara sejati.
- (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 tombol "lokasi saya".
- (NSString* const) kGMSAccessibilityOutOfQuota [related] |
ID aksesibilitas untuk label error "habis kuota".
Dokumentasi Properti
- (ID IBOutlet<GMSMapViewDelegate>) delegasi [read, write, assign] |
Delegasi GMSMapView.
- (GMSCameraPosition*) kamera [read, write, copy] |
Mengontrol kamera, yang menentukan cara orientasi peta.
Perubahan properti ini dilakukan secara instan.
- (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 otomatis diperbarui saat kamera bergerak. Bingkai ini mewakili proyeksi frame GMSMapView, atau; jika kamera telah ditetapkan secara eksplisit atau peta baru saja dibuat, frame yang akan datang. Nilainya tidak akan pernah nol.
- (BOOL) myLocationEnabled [read, write, assign] |
Mengontrol apakah titik Lokasiku dan lingkaran akurasi diaktifkan.
Nilai defaultnya adalah TIDAK.
- (CLLocation*) myLocation [read, assign] |
Jika Lokasiku diaktifkan, ini akan memperlihatkan di mana titik lokasi perangkat digambar.
Jika dinonaktifkan, atau diaktifkan namun tidak ada data lokasi yang tersedia, nilai ini akan bernilai 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 penanda tersebut. Jika properti ini tidak bernilai nol, menyetelnya ke nol akan membatalkan pemilihan penanda, dan menyembunyikan jendela info. Properti ini dapat diamati menggunakan KVO.
- (BOOL) trafficEnabled [read, write, assign] |
Mengontrol apakah peta menggambar data lalu lintas, jika tersedia.
Hal ini bergantung pada ketersediaan data traffic. Nilai defaultnya adalah TIDAK.
- mapType (GMSMapViewType) [read, write, assign] |
Mengontrol jenis ubin peta yang harus ditampilkan.
Nilai defaultnya adalah kGMSTypeNormal.
- (GMSMapStyle*) mapStyle [read, write, assign] |
Mengontrol gaya peta.
mapStyle non-nil hanya akan diterapkan jika mapType adalah Normal.
- (float) minZoom [read, assign] |
Zoom minimum (paling jauh kamera mungkin diperkecil).
Nilai defaultnya adalah kGMSMinZoomLevel. Dimodifikasi dengan -setMinZoom:maxZoom:.
- (float) maxZoom [read, assign] |
Zoom maksimum (posisi kamera yang paling dekat dengan Bumi).
Default-nya adalah kGMSMaxZoomLevel. Dimodifikasi dengan -setMinZoom:maxZoom:.
- (BOOL) buildingsEnabled [read, write, assign] |
Jika ditetapkan, bangunan 3D akan ditampilkan jika tersedia.
Default-nya adalah YA.
Ini mungkin berguna saat menambahkan lapisan ubin kustom ke peta, agar lebih jelas pada tingkat zoom tinggi. Mengubah nilai ini akan menyebabkan semua ubin menjadi tidak valid dalam waktu singkat.
- (BOOL) indoorEnabled [read, write, assign] |
Menetapkan apakah peta lantai akan ditampilkan, jika tersedia.
Default-nya adalah YA.
Jika disetel ke TIDAK, cache untuk data dalam ruangan dapat dihapus permanen dan lantai apa pun yang saat ini dipilih oleh 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 area yang 'terlihat' pada tampilan.
Dengan menerapkan padding, area di sekitar tepi tampilan dapat dibuat yang akan berisi data peta tetapi tidak berisi kontrol UI.
Jika padding tidak seimbang, pusat visual tampilan akan bergerak sebagaimana mestinya. Padding juga akan memengaruhi properti projection
sehingga wilayah 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, inset area aman memosisikan kontrol peta seperti kompas, tombol lokasi saya, dan pemilih lantai dalam area aman perangkat.
Default-nya adalah kViewPagerPaddingAdjustmentBehaviorAlways.
- (BOOL) accessibilityElementsHidden [read, write, assign] |
Default-nya adalah YA.
Jika disetel 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 keluar dari batas yang ditentukan.
- (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.