การเพิ่มแผนที่ด้วยเครื่องหมาย
บทแนะนํานี้จะแสดงวิธีเพิ่ม Google Maps ลงในแอป iOS โดยแผนที่จะมีเครื่องหมายหรือเรียกอีกอย่างว่าหมุดเพื่อแสดงตําแหน่งที่เจาะจง
การรับรหัส
โคลนหรือดาวน์โหลดที่เก็บตัวอย่าง Google Maps สําหรับ iOS จาก GitHub
ตั้งค่าโปรเจ็กต์การพัฒนา
ทําตามขั้นตอนต่อไปนี้เพื่อติดตั้ง Maps SDK สําหรับ iOS
- ดาวน์โหลดและติดตั้ง Xcode เวอร์ชัน 13.0 ขึ้นไป
- หากยังไม่มี CocoaPods ให้ติดตั้งใน macOS โดยใช้คําสั่งต่อไปนี้จากเทอร์มินัล
sudo gem install cocoapods
- โคลนหรือดาวน์โหลดที่เก็บตัวอย่าง Google Maps สําหรับ iOS
- ไปที่ไดเรกทอรี
tutorials/map-with-marker
- เรียกใช้คําสั่ง
pod install
การดําเนินการนี้จะติดตั้ง API ที่ระบุในPodfile
รวมถึงทรัพยากร Dependency ที่อาจมี - เรียกใช้
pod outdated
เพื่อเปรียบเทียบเวอร์ชันพ็อดที่ติดตั้งกับการอัปเดตใหม่ หากตรวจพบเวอร์ชันใหม่ ให้เรียกใช้pod update
เพื่ออัปเดตPodfile
และติดตั้ง SDK เวอร์ชันล่าสุด ดูรายละเอียดเพิ่มเติมได้ที่คู่มือ CocoaPods - เปิดไฟล์ map-with-Mark.xcworkspace ของโปรเจ็กต์ (ดับเบิลคลิก) เพื่อเปิดใน Xcode คุณต้องใช้ไฟล์
.xcworkspace
เพื่อเปิดโปรเจ็กต์
รับคีย์ API และเปิดใช้ API ที่จําเป็น
หากต้องการดูบทแนะนํานี้ให้เสร็จสิ้น คุณต้องมีคีย์ Google API ที่ได้รับอนุญาตให้ใช้ Maps SDK สําหรับ iOS คลิกปุ่มด้านล่างเพื่อรับคีย์และเปิดใช้งาน API
เริ่มต้นใช้งานโปรดดูรายละเอียดเพิ่มเติมที่หัวข้อรับคีย์ API
เพิ่มคีย์ API ไปยังแอปพลิเคชัน
เพิ่มคีย์ API ใน AppDelegate.swift
ดังนี้
- โปรดทราบว่ามีการเพิ่มข้อความนําเข้าต่อไปนี้ลงในไฟล์แล้ว
import GoogleMaps
- แก้ไขบรรทัดต่อไปนี้ในเมธอด
application(_:didFinishLaunchingWithOptions:)
โดยแทนที่ YOUR_API_KEY ด้วยคีย์ APIGMSServices.provideAPIKey("YOUR_API_KEY")
การสร้างและเรียกใช้แอป
- เชื่อมต่ออุปกรณ์ iOS กับคอมพิวเตอร์ หรือเลือกเครื่องจําลองจากเมนูป๊อปอัปรูปแบบ Xcode
- หากใช้อุปกรณ์ ให้ตรวจสอบว่าบริการตําแหน่งเปิดอยู่ หากคุณใช้เครื่องจําลอง ให้เลือกตําแหน่งจากเมนูฟีเจอร์
- ใน Xcode ให้คลิกตัวเลือกเมนู Product/Run (หรือไอคอนปุ่มเล่น)
- Xcode จะสร้างแอป จากนั้นเรียกใช้แอปในอุปกรณ์หรือเครื่องจําลอง
- คุณควรเห็นแผนที่ที่มีเครื่องหมายซึ่งมีจุดศูนย์กลางอยู่ที่ซิดนีย์บนชายฝั่งตะวันออกของออสเตรเลีย ซึ่งคล้ายกับภาพในหน้านี้
การแก้ปัญหา:
- หากไม่เห็นแผนที่ ให้ตรวจสอบว่าคุณได้รับคีย์ API และเพิ่มในแอปแล้ว ตามที่อธิบายไว้ข้างต้น โปรดตรวจสอบข้อความแสดงข้อผิดพลาดเกี่ยวกับคีย์ API ในคอนโซลการแก้ไขข้อบกพร่องของ Xcode
- หากคุณจํากัดคีย์ API ตามตัวระบุกลุ่ม iOS ให้แก้ไขคีย์เพื่อเพิ่มตัวระบุกลุ่มสําหรับแอป ดังนี้
com.google.examples.map-with-marker
- ตรวจสอบว่าคุณมีการเชื่อมต่อ Wi-Fi หรือ GPS ที่ดี
- ใช้เครื่องมือแก้ไขข้อบกพร่อง Xcode เพื่อดูบันทึกและแก้ไขข้อบกพร่องของแอป
การทําความเข้าใจโค้ด
- สร้างแผนที่และตั้งค่าเป็นมุมมองใน
loadView()
Swift
// Create a GMSCameraPosition that tells the map to display the // coordinate -33.86,151.20 at zoom level 6. let camera = GMSCameraPosition.camera(withLatitude: -33.86, longitude: 151.20, zoom: 6.0) let mapView = GMSMapView.map(withFrame: CGRect.zero, camera: camera) view = mapView
Objective-C
// Create a GMSCameraPosition that tells the map to display the // coordinate -33.86,151.20 at zoom level 6. GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:-33.86 longitude:151.20 zoom:6.0]; GMSMapView *mapView = [[GMSMapView alloc] initWithFrame: CGRectZero camera:camera]; self.view = mapView;
- เพิ่มเครื่องหมายลงในแผนที่ใน
loadView()
Swift
// Creates a marker in the center of the map. let marker = GMSMarker() marker.position = CLLocationCoordinate2D(latitude: -33.86, longitude: 151.20) marker.title = "Sydney" marker.snippet = "Australia" marker.map = mapView
Objective-C
// Creates a marker in the center of the map. GMSMarker *marker = [[GMSMarker alloc] init]; marker.position = CLLocationCoordinate2DMake(-33.86, 151.20); marker.title = @"Sydney"; marker.snippet = @"Australia"; marker.map = mapView;
โดยค่าเริ่มต้น Maps SDK สําหรับ iOS จะแสดงเนื้อหาของหน้าต่างข้อมูลเมื่อผู้ใช้แตะที่เครื่องหมาย คุณไม่จําเป็นต้องเพิ่ม Listener การคลิก สําหรับเครื่องหมายหากคุณยินดีใช้พฤติกรรมเริ่มต้น
ยินดีด้วย คุณได้สร้างแอป iOS ที่แสดง Google Maps พร้อมด้วยเครื่องหมายเพื่อระบุตําแหน่งเฉพาะ คุณยังเรียนรู้วิธีใช้ Maps SDK สําหรับ iOS ได้ด้วย
ขั้นตอนถัดไป
ดูข้อมูลเพิ่มเติมเกี่ยวกับออบเจ็กต์แผนที่ และสิ่งที่คุณทําได้ด้วยเครื่องหมาย