Overlay Bumi

Pilih platform: Android iOS JavaScript

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

  1. Membuat instance objek GMSGroundOverlay baru
  2. Tetapkan properti icon ke instance UIImage.
  3. Tetapkan properti bounds ke instance GMSCoordinateBounds. Tujuan batas menunjukkan sudut barat daya dan timur laut gambar.
  4. Tetapkan properti opsional, seperti bearing dan zoomLevel, sesuai keinginan.
  5. 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