การวางซ้อนพื้น

เลือกแพลตฟอร์ม แอนดรอยด์ iOS JavaScript

การวางซ้อนภาคพื้นดินคือการวางซ้อนบนแผนที่ที่เชื่อมโยงกับละติจูด/ลองจิจูด พิกัดเพื่อให้เคลื่อนที่เมื่อคุณลากหรือซูมแผนที่

บทนำ

ภาพวางซ้อนพื้นดินคือภาพที่ยึดติดกับแผนที่ เลิกชอบ เครื่องหมาย การวางซ้อนพื้นมีทิศทางเป็นพื้นผิวโลก การหมุน เอียง หรือการซูมแผนที่จึงจะเปลี่ยนไป การวางแนวรูปภาพ

หากต้องการเพิ่มการวางซ้อนพื้น ให้สร้างวัตถุ GMSGroundOverlay ที่กำหนดทั้ง 2 แบบ ไอคอนและขอบเขต การไม่ระบุจะทำให้มีการวางซ้อนพื้น ไม่ให้ปรากฏบนแผนที่ คุณสามารถเลือกระบุการตั้งค่าเพิ่มเติม จะส่งผลต่อการวางตำแหน่งของภาพบนแผนที่ เมื่อคุณได้กำหนด ตัวเลือกที่จำเป็น ให้ตั้งค่าพร็อพเพอร์ตี้ map ของออบเจ็กต์นี้เพื่อเพิ่มการวางซ้อน

การเพิ่มการวางซ้อน

  1. สร้างอินสแตนซ์ของออบเจ็กต์ GMSGroundOverlay ใหม่
  2. ตั้งค่าพร็อพเพอร์ตี้ icon เป็นอินสแตนซ์ UIImage
  3. ตั้งค่าพร็อพเพอร์ตี้ bounds เป็นอินสแตนซ์ GMSCoordinateBounds ขอบเขตหมายถึงพื้นที่ตะวันตกเฉียงใต้และมุมตะวันออกเฉียงเหนือของรูปภาพ
  4. ตั้งค่าพร็อพเพอร์ตี้ที่ไม่บังคับ เช่น bearing และ zoomLevel ตามต้องการ
  5. ตั้งค่าคุณสมบัติ map - รูปภาพจะปรากฏในแผนที่

ตัวอย่างด้านล่างแสดงวิธีการเพิ่มพื้นที่ซ้อนทับลงในแท็กที่มีอยู่ ออบเจ็กต์ GMSMapView รายการ

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;
      

การนำการวางซ้อนออก

คุณสามารถนำภาพพื้นดินออกจากแผนที่ได้โดยตั้งค่า พร็อพเพอร์ตี้ map ของ GMSGroundOverlay ไปยัง nil หรือคุณสามารถนำออกทั้งหมด ของการวางซ้อน (รวมถึงการวางซ้อนภาคพื้นดินในปัจจุบันบนแผนที่โดยเรียกใช้ GMSMapView clear วิธี

Swift

mapView.clear()
      

Objective-C

[mapView clear];
      

ถ้าคุณต้องการแก้ไขพื้นดินเมื่อคุณได้เพิ่มพื้นที่แล้ว แผนที่ ตรวจดูว่าคุณยึดวัตถุ GMSGroundOverlay ไว้ คุณสามารถ แก้ไขการวางซ้อนพื้นในภายหลังโดยทำการเปลี่ยนแปลงวัตถุนี้

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;
      

กิจกรรม

คุณสามารถฟังเหตุการณ์ที่เกิดขึ้นบนแผนที่ได้ เช่น เมื่อผู้ใช้แตะ ซ้อนทับ หากต้องการฟังเหตุการณ์ คุณต้องใช้เมธอด GMSMapViewDelegate โปรดดู เกี่ยวกับเหตุการณ์และรายการวิธีการใน GMSMapViewDelegate