เพิ่มแผนที่

เลือกแพลตฟอร์ม: Android iOS JavaScript

แผนที่จะแสดงใน API โดยคลาส GMSMapView ซึ่งเป็นคลาสย่อยของ UIView แผนที่เป็นออบเจ็กต์ที่สำคัญที่สุดใน Maps SDK สำหรับ iOS และมีเมธอดที่จำเป็นสำหรับการเพิ่ม การนำออก และการจัดการออบเจ็กต์อื่นๆ เช่น เครื่องหมายและเส้นหลายเส้น

บทนำ

Maps SDK สำหรับ iOS ช่วยให้คุณแสดงแผนที่ Google ในแอปพลิเคชัน iOS ได้ แผนที่เหล่านี้มีลักษณะเหมือนกับแผนที่ที่คุณเห็นในแอป Google Maps สำหรับ iOS และ SDK จะแสดงฟีเจอร์ต่างๆ ที่เหมือนกัน

นอกจากฟังก์ชันการทำงานของการแมปแล้ว API ยังรองรับการโต้ตอบต่างๆ ที่สอดคล้องกับโมเดล UI ของ iOS ด้วย เช่น คุณตั้งค่าการโต้ตอบกับแผนที่ได้โดยกำหนดตัวตอบสนองที่ตอบโต้ท่าทางของผู้ใช้ เช่น การแตะและการแตะสองครั้ง

คลาสหลักเมื่อทำงานกับออบเจ็กต์ Map คือคลาส GMSMapView GMSMapView จะจัดการการดำเนินการต่อไปนี้โดยอัตโนมัติ

  • กำลังเชื่อมต่อกับบริการ Google Maps
  • กำลังดาวน์โหลดการ์ดแผนที่
  • การแสดงการ์ดบนหน้าจออุปกรณ์
  • แสดงตัวควบคุมต่างๆ เช่น การเลื่อนและซูม
  • ตอบสนองต่อท่าทางสัมผัสการแพนและซูมด้วยการเลื่อนแผนที่และซูมเข้าหรือออก
    • ตอบสนองต่อท่าทางสัมผัสด้วย 2 นิ้วโดยการเอียงมุมมองของแผนที่

นอกเหนือจากการดำเนินการอัตโนมัติเหล่านี้แล้ว คุณยังควบคุมลักษณะการทำงานและ ลักษณะที่ปรากฏของแผนที่ได้ผ่านพร็อพเพอร์ตี้และเมธอดที่คลาส GMSMapView แสดง ใช้ GMSMapView เพื่อเพิ่มและนำเครื่องหมาย ภาพซ้อนทับภาคพื้นดิน และเส้นหลายส่วนออก เปลี่ยนประเภทแผนที่ที่แสดง และควบคุมสิ่งที่แสดงบนแผนที่ผ่านคลาส GMSCameraPosition

สร้างแผนที่ด้วย SwiftUI

SwiftUI มีวิธีเพิ่มเติมในการสร้าง UI โดยใช้แนวทางแบบประกาศ คุณ บอก SwiftUI ว่าต้องการให้มุมมองมีลักษณะอย่างไรพร้อมกับสถานะต่างๆ ของมุมมองนั้น แล้วระบบจะจัดการส่วนที่เหลือให้ SwiftUI จะจัดการการอัปเดตมุมมองทุกครั้งที่ สถานะพื้นฐานเปลี่ยนแปลงเนื่องจากเหตุการณ์หรือการกระทำของผู้ใช้

Maps SDK สำหรับ iOS สร้างขึ้นบน UIKit และไม่มีมุมมองที่เข้ากันได้กับ SwiftUI การเพิ่มแผนที่ใน SwiftUI ต้องเป็นไปตาม UIViewRepresentable หรือ UIViewControllerRepresentable ดูข้อมูลเพิ่มเติมได้ที่ Codelab adding a map to your iOS app with SwiftUI

เพิ่มแผนที่

ขั้นตอนพื้นฐานในการเพิ่มแผนที่มีดังนี้

  1. หากต้องการรับ SDK, รับคีย์ API และเพิ่มเฟรมเวิร์กที่จำเป็น ให้ทำตาม ขั้นตอนใน

    1. ตั้งค่าในคอนโซล Google Cloud

    2. ใช้คีย์ API

    3. ตั้งค่าโปรเจ็กต์ Xcode

    4. ใน AppDelegate ให้ระบุคีย์ API ของคุณไปยังเมธอดคลาส provideAPIKey: ใน GMSServices

    5. สร้างหรืออัปเดต ViewController หากแผนที่แสดงเมื่อตัวควบคุมมุมมองนี้ปรากฏขึ้น โปรดสร้างแผนที่ภายในเมธอด viewDidLoad

    6. เมื่อเริ่มต้นมุมมองแผนที่ ให้ตั้งค่าตัวเลือกการกำหนดค่าด้วย GMSMapViewOptions พร็อพเพอร์ตี้ ได้แก่ frame, camera, mapID,backgroundColor หรือ screen

    7. ตั้งค่าพร็อพเพอร์ตี้ตัวเลือกแผนที่ camera ด้วยออบเจ็กต์ GMSCameraPosition ซึ่งจะระบุศูนย์กลางและระดับการซูมของ แผนที่

    8. สร้างและเริ่มต้นอินสแตนซ์ของคลาส GMSMapView โดยใช้เมธอด GMSMapView options: หากจะใช้แผนที่นี้เป็นมุมมองเดียวของตัวควบคุมมุมมอง คุณสามารถใช้ตัวเลือกแผนที่ frame ค่าเริ่มต้นของ CGRectZero เป็นมุมมอง frame ได้ ซึ่งระบบจะปรับขนาดแผนที่โดยอัตโนมัติ

    9. ตั้งค่าออบเจ็กต์ GMSMapView เป็นมุมมองของตัวควบคุมมุมมอง เช่น self.view = mapView;

ตัวอย่างด้านล่างจะเพิ่มแผนที่ซึ่งอยู่กึ่งกลางย่านใจกลางเมืองสิงคโปร์ลงในแอป

Swift

import GoogleMaps

class MapObjects : UIViewController {
  override func viewDidLoad() {
    super.viewDidLoad()

    let options = GMSMapViewOptions()
    options.camera = GMSCameraPosition(latitude: 1.285, longitude: 103.848, zoom: 12)
    options.frame = self.view.bounds;

    let mapView = GMSMapView(options:options)
    self.view = mapView
  }
}

Objective-C

- (void)viewDidLoad {
  [super viewDidLoad];

  GMSMapViewOptions *options = [[GMSMapViewOptions alloc] init];
  options.camera = [GMSCameraPosition cameraWithLatitude:1.285
                                                        longitude:103.848
                                                             zoom:12];
  options.frame = self.view.bounds;

  GMSMapView *mapView = [[GMSMapView alloc] initWithOptions:options];
  self.view = mapView;
}

เมื่อทำตามขั้นตอนเหล่านี้แล้ว คุณจะกำหนดค่า GMSMapView object เพิ่มเติมได้

ขั้นตอนถัดไป

หลังจากทำตามขั้นตอนเหล่านี้เสร็จแล้ว คุณจะกำหนดการตั้งค่าแผนที่ได้