Overlay bumi adalah overlay pada peta yang terikat dengan lintang/bujur koordinatnya, sehingga ikut bergerak saat Anda menarik atau memperbesar/memperkecil tampilan peta.
Pengantar
Overlay bumi adalah gambar yang disematkan pada peta. Tidak suka penanda, overlay bumi berorientasi pada permukaan Bumi bukan pada layar, maka memutar, memiringkan, atau melakukan zoom pada peta akan berubah orientasi gambar.
Untuk menambahkan overlay bumi, buat objek GMSGroundOverlay
yang menentukan keduanya
ikon dan batas. Jika tidak ditentukan, overlay bumi tidak akan muncul di peta. Anda dapat secara opsional menentukan
setelan tambahan yang
akan memengaruhi pemosisian gambar pada peta. Setelah Anda menentukan
opsi yang diperlukan, tetapkan properti map
objek ini untuk menambahkan overlay.
Menambahkan overlay
- Membuat instance objek
GMSGroundOverlay
baru - Tetapkan properti
icon
ke instanceUIImage
. - Tetapkan properti
bounds
ke instanceGMSCoordinateBounds
. Tujuan batas menunjukkan sudut barat daya dan timur laut gambar. - Tetapkan properti opsional, seperti
bearing
danzoomLevel
, sesuai keinginan. - Tetapkan properti
map
- gambar akan muncul di peta.
Contoh di bawah menunjukkan cara menambahkan overlay bumi ke objek
GMSMapView
yang ada.
Swift
let southWest = CLLocationCoordinate2D(latitude: 40.712216, longitude: -74.22655) let northEast = CLLocationCoordinate2D(latitude: 40.773941, longitude: -74.12544) let overlayBounds = GMSCoordinateBounds(coordinate: southWest, coordinate: northEast) // Image from http://www.lib.utexas.edu/maps/historical/newark_nj_1922.jpg let icon = UIImage(named: "newark_nj_1922") let overlay = GMSGroundOverlay(bounds: overlayBounds, icon: icon) overlay.bearing = 0 overlay.map = mapView
Objective-C
CLLocationCoordinate2D southWest = CLLocationCoordinate2DMake(40.712216,-74.22655); CLLocationCoordinate2D northEast = CLLocationCoordinate2DMake(40.773941,-74.12544); GMSCoordinateBounds *overlayBounds = [[GMSCoordinateBounds alloc] initWithCoordinate:southWest coordinate:northEast]; // Image from http://www.lib.utexas.edu/maps/historical/newark_nj_1922.jpg UIImage *icon = [UIImage imageNamed:@"newark_nj_1922"]; GMSGroundOverlay *overlay = [GMSGroundOverlay groundOverlayWithBounds:overlayBounds icon:icon]; overlay.bearing = 0; overlay.map = mapView;
Menghapus overlay
Anda dapat menghapus overlay tanah dari peta dengan menetapkan properti map
GMSGroundOverlay
ke nil
. Atau, Anda dapat menghapus semua
overlay (termasuk overlay bumi yang saat ini ada di peta dengan memanggil
Metode GMSMapView
clear
.
Swift
mapView.clear()
Objective-C
[mapView clear];
Jika ingin memodifikasi overlay bumi setelah menambahkannya ke
peta, pastikan Anda tetap mempertahankan objek GMSGroundOverlay
. Anda dapat
memodifikasi overlay bumi nanti dengan membuat perubahan pada objek ini.
Swift
let overlay = GMSGroundOverlay(bounds: overlayBounds, icon: icon) overlay.bearing = 0 overlay.map = mapView // ... overlay.isTappable = true
Objective-C
GMSGroundOverlay *overlay = [GMSGroundOverlay groundOverlayWithBounds:overlayBounds icon:icon]; overlay.bearing = 0; overlay.map = mapView; // ... overlay.tappable = YES;
Acara
Anda dapat memproses peristiwa yang terjadi di peta, seperti saat pengguna mengetuk
menjadi overlay. Untuk memproses peristiwa, Anda harus mengimplementasikan metode
Protokol GMSMapViewDelegate
. Lihat
panduan peristiwa dan daftar metode di
GMSMapViewDelegate