หน้านี้จะอธิบายตัวอย่างวิธีเพิ่มแผนที่ 3 มิติพื้นฐานลงในแอป iOS โดยใช้ Maps 3D SDK สำหรับ iOS คำสั่งในหน้านี้ถือว่าคุณได้ทำตามขั้นตอนในหน้าการตั้งค่าและมีสิ่งต่อไปนี้แล้ว
- โปรเจ็กต์ Google Cloud ที่เปิดใช้ Maps 3D SDK สำหรับ iOS
- คีย์ API ของ Maps 3D SDK สำหรับ iOS
- Xcode เวอร์ชัน 16.0 ขึ้นไปพร้อมกับแพ็กเกจ Maps 3D SDK สำหรับ iOS ที่เพิ่มเข้ามา
ดูข้อมูลเพิ่มเติมเกี่ยวกับข้อกำหนดเบื้องต้นเหล่านี้ได้ที่ส่วนการตั้งค่า
ทำตาม Codelab ขั้นสูงเพิ่มเติม
ดูตัวอย่างโค้ดเพิ่มเติมได้ที่ GitHub
ส่วนที่ 1: สร้างแอป SwiftUI พื้นฐาน
- สร้างแอปใหม่ใน Xcode
- ตั้งค่าชื่อผลิตภัณฑ์เป็น
Hello3DWorld
โดยตั้งค่าตัวระบุองค์กรเป็นcom.example
ชื่อแพ็กเกจควรเป็นcom.example.Hello3DWorld
- เลือกอินเทอร์เฟซ SwiftUI
- เพิ่มไลบรารี 3 มิติของ Maps ลงในแอป ดูวิธีการในส่วนการตั้งค่า
ส่วนที่ 2: เพิ่มแผนที่
เปิดไฟล์ที่ชื่อ
ContentView.swift
นี่คือจุดแรกเข้าและ การนำทางหลักของแอปนำเข้า
SwiftUI
และแพ็กเกจGoogleMaps3D
แทนที่โค้ดทั้งหมดภายในประกาศเนื้อหาด้วย Map(mode: .hybrid)
การกำหนดค่าเริ่มต้นขั้นต่ำที่คุณต้องระบุเพื่อเริ่มต้น
Map
คือMapMode
- .hybrid หรือ
- .satellite
ไฟล์
ContentView.swift
ควรมีลักษณะดังนี้import SwiftUI import GoogleMaps3D struct ContentView: View { var body: some View { Map(mode: .hybrid) } } #Preview { ContentView() }
ส่วนที่ 3: ตั้งค่าคีย์ API
ต้องตั้งค่าคีย์ API ก่อนที่แผนที่จะเริ่มต้น โดยทำได้ด้วยการตั้งค่า
Map.apiKey
ในตัวแฮนเดิลเหตุการณ์init()
ของView
ที่มี แผนที่import SwiftUI import GoogleMaps3D struct ContentView: View { init () { Map.apiKey = "YOUR_API_KEY" } var body: some View { Map(mode: .hybrid) } }
ส่วนที่ 4: ใช้กล้องเพื่อควบคุมมุมมองแผนที่
มุมมองแผนที่ 3 มิติจะควบคุมโดยคลาส Camera
ในขั้นตอนนี้ คุณจะได้เรียนรู้วิธีระบุตำแหน่ง ระดับความสูง ทิศทาง เอียง หมุน และช่วงเพื่อปรับแต่งมุมมองแผนที่
เปลี่ยนการเรียกฟังก์ชัน
Map()
ให้รวมพร็อพเพอร์ตี้initialCamera
เริ่มต้นinitialCamera
เพื่อแสดงมุมมองของย่านดาวน์ทาวน์ในแมนฮัตตันimport SwiftUI import GoogleMaps3D struct ContentView: View { init () { Map.apiKey = "YOUR_API_KEY" } var body: some View { Map(initialCamera: .init( latitude: 40.748339, longitude: -73.985912, altitude: 211.1, heading: 52, tilt: 68, range: 1039 ), mode: .hybrid) } }
โค้ดด้านบนจะตั้งค่าสำหรับพารามิเตอร์ต่อไปนี้
heading
: ทิศทางเป็นองศาจากทิศเหนือที่กล้องชี้ไปtilt
: มุมเอียงเป็นองศา โดย 0 คือเหนือศีรษะโดยตรง และ 90 คือ มองในแนวนอนroll
: มุมการหมุนรอบระนาบแนวตั้งของกล้อง หน่วยเป็นองศาrange
: ระยะทางเป็นเมตรของกล้องจากตำแหน่งละติจูด ลองจิจูดaltitude
: ความสูงของกล้องเหนือระดับน้ำทะเล
หากคุณไม่ระบุพารามิเตอร์เพิ่มเติมเหล่านี้ ระบบจะใช้ค่าเริ่มต้น
หากต้องการให้มุมมองกล้องแสดงข้อมูล 3 มิติมากขึ้น ให้ตั้งค่าพารามิเตอร์เริ่มต้นให้แสดงมุมมองที่ ใกล้ขึ้นและเอียง
ส่วนที่ 6: แสดงตัวอย่างและเรียกใช้แอป
เพิ่มตัวอย่าง Xcode
การแสดงตัวอย่างเป็นฟีเจอร์ที่มีประสิทธิภาพของ Xcode ซึ่งช่วยให้คุณดูและโต้ตอบกับ แอปได้โดยไม่ต้องใช้ Simulator หรืออุปกรณ์ภายนอก
หากต้องการเพิ่มตัวอย่าง ให้เพิ่ม
#Preview {}
โค้ดบล็อกนอกโครงสร้าง#Preview { CameraDemo() }
เรียกใช้แอป
สร้างและเรียกใช้แอป
ยินดีด้วย
คุณเพิ่มแผนที่ 3 มิติลงในแอปเรียบร้อยแล้ว
จากนั้น คุณสามารถสำรวจฟีเจอร์ขั้นสูงเพิ่มเติมของ Maps 3D SDK สำหรับ iOS เช่น เส้นทางกล้อง ภาพเคลื่อนไหว เครื่องหมาย 3 มิติ หรือ รูปหลายเหลี่ยม