เพิ่มแผนที่

จัดทุกอย่างให้เป็นระเบียบอยู่เสมอด้วยคอลเล็กชัน บันทึกและจัดหมวดหมู่เนื้อหาตามค่ากำหนดของคุณ

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

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

ข้อมูลเบื้องต้น

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

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

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

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

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

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

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

Maps SDK สําหรับ iOS สร้างขึ้นบน UIKit และยังไม่มีมุมมองที่ใช้ร่วมกับ SwiftUI ได้ การเพิ่มแผนที่ใน SwiftUI ต้องสอดคล้องกับ UIViewRepresentable หรือ UIViewControllerRepresentable ดูข้อมูลเพิ่มเติมได้ที่ Codelab ในหัวข้อการเพิ่มแผนที่ลงในแอป iOS ด้วย SwiftUI

การเพิ่มแผนที่

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

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

    1. ตั้งค่าใน Google Cloud Console

    2. ใช้คีย์ API

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

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

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

    1. สร้างออบเจ็กต์ GMSCameraPosition ที่ระบุระดับศูนย์กลางและการซูมของแผนที่ เมื่อสร้างอินสแตนซ์ออบเจ็กต์ GMSMapView คุณต้องส่งออบเจ็กต์ GMSCameraPosition เป็นพารามิเตอร์ที่จําเป็น

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

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

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

Swift

import GoogleMaps

class MapObjects : UIViewController {
  override func viewDidLoad() {
    super.viewDidLoad()
    let camera = GMSCameraPosition(latitude: 1.285, longitude: 103.848, zoom: 12)
    let mapView = GMSMapView(frame: .zero, camera: camera)
    self.view = mapView
  }
}
      

Objective-C

#import "MapObjects.h"
@import GoogleMaps;

@implementation MapObjects

- (void)viewDidLoad {
  [super viewDidLoad];
  GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:1.285
                                                          longitude:103.848
                                                               zoom:12];
  GMSMapView *mapView = [GMSMapView mapWithFrame:CGRectZero camera:camera];
  self.view = mapView;
}

@end
      

เมื่อทําตามขั้นตอนเหล่านี้แล้ว คุณอาจกําหนดค่าออบเจ็กต์ GMSMapView เพิ่มเติมได้

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

หลังจากทําตามขั้นตอนเหล่านี้แล้ว ให้กําหนดการตั้งค่าแผนที่