หน้านี้อธิบายวิธีตั้งค่าไลบรารียูทิลิตีสําหรับ Maps SDK สําหรับ iOS
หากต้องการลองใช้ยูทิลิตีเหล่านี้ ให้เลือกทําอย่างใดอย่างหนึ่งต่อไปนี้
- ติดตั้งและเรียกใช้แอปเดโม แอปเดโมเป็นโปรเจ็กต์แบบสแตนด์อโลนที่มีโค้ดทั้งหมดที่จําเป็นในการลองใช้ยูทิลิตี
- ติดตั้งไลบรารียูทิลิตี'ลงในโปรเจ็กต์ Xcode ที่มีอยู่ เพิ่มยูทิลิตีเหล่านี้ในโปรเจ็กต์ของคุณ
ติดตั้ง CocoaPods (ไม่บังคับ)
ไลบรารียูทิลิตีพร้อมใช้งานเป็นพ็อด CocoaPods ชื่อ Google-Maps-iOS-Utils
CocoaPods เป็นผู้จัดการทรัพยากร Dependency แบบโอเพนซอร์สสําหรับโปรเจ็กต์ Swift และ Objective-C Cocoa
หากคุณยังไม่มีเครื่องมือ CocoaPods ให้ติดตั้งบน macOS โดยการเรียกใช้คําสั่งต่อไปนี้จากเทอร์มินัล
sudo gem install cocoapods
โปรดดูรายละเอียดในคู่มือเริ่มต้นใช้งาน CocoaPods
ติดตั้งและเรียกใช้แอปเดโม
ไลบรารียูทิลิตีประกอบด้วยแอปสาธิตที่คุณสามารถติดตั้งแล้วลองใช้แต่ละยูทิลิตีได้
ติดตั้งแอปเดโมโดยใช้ 1 ใน 2 วิธีต่อไปนี้ใช้ไฟล์จาก GitHub
- ดาวน์โหลดที่เก็บถาวรตัวอย่างโค้ดจาก GitHub และแตกแพ็กเกจที่เก็บถาวร
- เปิดหน้าต่างเทอร์มินัล ไปที่ไดเรกทอรีที่คุณขยายไฟล์ตัวอย่าง และเจาะลึกไปที่ไดเรกทอรีตัวอย่างที่เหมาะสมสําหรับภาษาที่คุณต้องการใช้ ดังนี้
- สําหรับ Swift ให้เรียกใช้
cd google-maps-ios-utils-master/samples/SwiftDemoApp
- สําหรับ Objective-C ให้เรียกใช้
cd google-maps-ios-utils-master/samples/ObjCDemoApp
- สําหรับ Swift ให้เรียกใช้
- เรียกใช้คําสั่งต่อไปนี้
pod install
- ปิด Xcode จากนั้นเปิดไฟล์ (ดับเบิลคลิก) โปรเจ็กต์ของคุณ'
.xcworkspace
เปิดไฟล์ Xcode และตั้งแต่นี้เป็นต้นไป คุณต้องใช้ไฟล์.xcworkspace
เพื่อเปิดโปรเจ็กต์
ใช้ CocoaPods v1.6.1
- เปิดหน้าต่างเทอร์มินัลและติดตั้งเวอร์ชัน 1.6.1
sudo gem install cocoapods -v1.6.1
- ดึงข้อมูลไฟล์ Google Maps โดยใช้ Cocoapods ดังนี้
pod try Google-Maps-iOS-Utils
เลือก Swift หรือ Objective-C เมื่อระบบแจ้ง CocoaPods อัปเดตที่เก็บข้อมูลจําเพาะของคุณ จากนั้นเปิดการสาธิตในโปรเจ็กต์ Xcode ชั่วคราวชื่อ
SwiftDemoApp.xcodeproj
หรือObjCDemoApp.xcodeproj
เพิ่มคีย์ API ลงในแอปเดโม
ในรับคีย์ API คุณจะสร้างคีย์ API สําหรับแอปได้ และในตอนนี้ให้เพิ่มคีย์ดังกล่าวลงในโปรเจ็กต์ Xcode สําหรับแอปเดโมSwift
เพิ่มคีย์ API ใน AppDelegate.swift
ดังนี้
- เพิ่มคําสั่งนําเข้าต่อไปนี้
import GoogleMaps
- แก้ไขบรรทัดต่อไปนี้เพื่อเพิ่มคีย์ API ระหว่างเครื่องหมายคําพูดคู่
// Change this key to a valid key registered with the demo app bundle id. let mapsAPIKey = ""
Objective-C
เพิ่มคีย์ API ใน AppDelegate.m
ดังนี้
- เพิ่มคําสั่งนําเข้าต่อไปนี้
@import GoogleMaps;
- แก้ไขบรรทัดต่อไปนี้เพื่อเพิ่มคีย์ API ระหว่างเครื่องหมายคําพูดคู่
// Change this key to a valid key registered with the demo app bundle id. static NSString *const kMapsAPIKey = @"";
สร้างและเรียกใช้แอปเดโม
หลังจากที่เพิ่มคีย์ API ให้สร้างและเรียกใช้โปรเจ็กต์แล้ว
- หากกําลังใช้การสาธิตเวอร์ชัน Swift คุณจะเลือกยูทิลิตีเพื่อดูในแอปได้
- หากคุณใช้การสาธิตเวอร์ชัน Objective-C คุณจะเห็นการสาธิตของยูทิลิตีการจัดกลุ่มเครื่องหมาย จากนั้นคุณจะแก้ไขการสาธิตเวอร์ชัน Objective-C เพื่อลองใช้ยูทิลิตีแต่ละรายการได้ โปรดดูข้อมูลเพิ่มเติมในส่วนเพิ่มยูทิลิตีลงในแอปด้านล่าง
ติดตั้งไลบรารียูทิลิตีเป็นโปรเจ็กต์ Xcode
ทําตามขั้นตอนต่อไปนี้เพื่อเพิ่มไลบรารียูทิลิตีไปยังพื้นที่ทํางานของ Xcode
ใช้ CocoaPods
- หากคุณยังไม่มีโปรเจ็กต์ Xcode ให้สร้างโปรเจ็กต์เลยแล้วบันทึกลงในเครื่องของคุณ (หากคุณเพิ่งเริ่มใช้การพัฒนา iOS ให้สร้างแอปพลิเคชัน Single View)
- หากยังไม่มีไฟล์พ็อดสําหรับโปรเจ็กต์ ให้สร้างไฟล์ชื่อ
Podfile
ในไดเรกทอรีโปรเจ็กต์ ไฟล์นี้ระบุทรัพยากร Dependency ของโปรเจ็กต์ - แก้ไขไฟล์พ็อดของโปรเจ็กต์และเพิ่มทรัพยากร Dependency ในพ็อด
Google-Maps-iOS-Utils
ต่อไปนี้คือตัวอย่างทรัพยากร Dependency ที่จําเป็นสําหรับ Maps SDK สําหรับ iOS และไลบรารียูทิลิตีsource 'https://github.com/CocoaPods/Specs.git' platform :ios, '13.0' target 'YOUR_APPLICATION_TARGET_NAME_HERE' do use_frameworks! pod 'GoogleMaps', '7.4.0' pod 'Google-Maps-iOS-Utils', '4.2.2' end
- เรียกใช้
pod install
- ปิด Xcode จากนั้นเปิดไฟล์ (ดับเบิลคลิก) โปรเจ็กต์ของคุณ'
.xcworkspace
เปิดไฟล์ Xcode และตั้งแต่นี้เป็นต้นไป คุณต้องใช้ไฟล์.xcworkspace
เพื่อเปิดโปรเจ็กต์
หมายเหตุ: เครื่องมือการจัดกลุ่มเครื่องหมายจะขึ้นอยู่กับ Quadtree แต่คุณจะใช้ Quadtree ที่ไม่มีการจัดกลุ่มเครื่องหมายได้ หากต้องการเฉพาะยูทิลิตี้ Quadtree ให้เปลี่ยน pod 'Google-Maps-iOS-Utils'
เป็น 'Google-Maps-iOS-Utils/QuadTree'
ในไฟล์พ็อดได้
ใช้คาร์เธจ
- ติดตั้ง Carthage โดยอ่านวิธีได้จากไฟล์ Carthage README เพื่อดูขั้นตอนโดยละเอียด
- หากคุณยังไม่มีโปรเจ็กต์ Xcode ให้สร้างโปรเจ็กต์เลยแล้วบันทึกลงในเครื่องของคุณ (หากยังใหม่กับการพัฒนา iOS ให้สร้างโปรเจ็กต์ใหม่และเลือกเทมเพลตแอป iOS ใน Xcode 11.7 หรือเวอร์ชันก่อนหน้า ให้สร้างแอปพลิเคชัน Single View)
- สร้างไฟล์ชื่อ
Cartfile
ในไดเรกทอรีโปรเจ็กต์ ไฟล์นี้ระบุทรัพยากร Dependency ของโปรเจ็กต์ - แก้ไข
Cartfile
และเพิ่มทรัพยากร Dependency ของ Maps SDK สําหรับ iOS Utility Library ดังนี้
github "googlemaps/google-maps-ios-utils"
- บันทึก
Cartfile
- ในหน้าต่างเทอร์มินัล ให้ไปที่ไดเรกทอรีที่มี
Cartfile
:
cd <path-to-project>
- เรียกใช้คําสั่งอัปเดตดังนี้
carthage update --platform iOS
การดําเนินการนี้จะติดตั้ง API ที่ระบุไว้ในCartfile
รวมไปถึงทรัพยากร Dependency ที่อาจมีอยู่ - ในไดเรกทอรีโปรเจ็กต์ ให้ไปที่ไฟล์เฟรมเวิร์กที่ดาวน์โหลดมาภายใต้
Carthage/Build/iOS
ในไดเรกทอรีโปรเจ็กต์ - เพิ่มเฟรมเวิร์ก SDK ของ Maps สําหรับ iOS ลงในโปรเจ็กต์โดยการลากกลุ่มต่อไปนี้ลงในโปรเจ็กต์
(เมื่อได้รับแจ้ง ให้เลือกคัดลอกรายการหากจําเป็น โปรดใช้เวอร์ชันเดียวกับด้านบน)
GoogleMaps-x.x.x/Base/Frameworks/GoogleMapsBase.framework
GoogleMaps-x.x.x/Maps/Frameworks/GoogleMaps.framework
GoogleMaps-x.x.x/Maps/Frameworks/GoogleMapsCore.framework
GoogleMaps-x.x.x/Maps/Frameworks/GoogleMapsUtils.framework
GoogleMaps-x.x.x/M4B/Frameworks/GoogleMapsM4B.framework
ไว้ด้วย - คลิกขวาที่
GoogleMaps.framework
ในโปรเจ็กต์ แล้วเลือกแสดงในตัวค้นหา - ลาก
Carthage/Build/iOS/GoogleMaps.framework/Resources/GoogleMaps.bundle
จากโฟลเดอร์Resources
ลงในโปรเจ็กต์ เมื่อได้รับข้อความแจ้ง โปรดตรวจสอบว่าคัดลอกรายการลงในกลุ่มปลายทาง'โฟลเดอร์อยู่ไม่ใช่ - เลือกโปรเจ็กต์จาก Project Navigator และเลือกเป้าหมายของแอปพลิเคชัน
- เปิดแท็บเฟสของบิวด์สําหรับเป้าหมายของแอปพลิเคชัน และภายในลิงก์ไบนารีกับไลบรารี ให้เพิ่มเฟรมเวิร์กต่อไปนี้
Accelerate.framework
CoreData.framework
CoreGraphics.framework
CoreImage.framework
CoreLocation.framework
CoreTelephony.framework
CoreText.framework
GLKit.framework
ImageIO.framework
libc++.tbd
libz.tbd
OpenGLES.framework
QuartzCore.framework
SystemConfiguration.framework
UIKit.framework
เลือกโปรเจ็กต์แทนเป้าหมายที่ต้องการ แล้วเปิดแท็บสร้างการตั้งค่า ในส่วนแฟล็กลิงก์อื่นๆ ให้เพิ่ม
-ObjC
หากไม่เห็นการตั้งค่าเหล่านี้ ให้เปลี่ยนตัวกรองในแถบการตั้งค่าบิลด์จากพื้นฐานเป็นทั้งหมด
ใช้ตัวจัดการ Swift
- หากคุณยังไม่มีโครงการ Xcode โปรดสร้างโครงการตอนนี้ แล้วบันทึกลงในเครื่องของคุณ (หากยังไม่เคยใช้การพัฒนา iOS ให้สร้างโปรเจ็กต์ใหม่และเลือกเทมเพลตของแอป iOS ใน Xcode 11.7 หรือเก่ากว่า ให้สร้างแอปพลิเคชัน Single View)
- เพิ่ม Maps SDK สําหรับ iOS เป็นทรัพยากร Dependency ดูตัวเลือกการติดตั้ง SDK
- ในโปรเจ็กต์ Xcode ให้ไปที่ File -> Swift Packages -> Add Package Dependency
- ในหน้าต่างที่ปรากฏขึ้น ให้ป้อน Maps SDK สําหรับ iOS Utility Library ของที่เก็บ URL
https://github.com/googlemaps/google-maps-ios-utils
แล้วเลือก ถัดไป - ในตอนนี้คุณอาจได้รับแจ้งให้ตรวจสอบสิทธิ์ด้วยบัญชี GitHub ของคุณ ทําตามวิธีการเพื่อสร้างโทเค็นเพื่อการเข้าถึงส่วนบุคคลของ GitHub เพื่อดําเนินการต่อ
- ในหน้าต่างถัดไป ให้เลือกตัวเลือกวิทยุเวอร์ชัน เลือกตรงทั้งหมดจากรายการแบบเลื่อนลง ป้อน Maps SDK สําหรับ iOS Utility Library เวอร์ชันล่าสุด (เช่น "3.4.0") แล้วเลือกถัดไป
เพิ่มคีย์ API ลงในแอป
ดูการตั้งค่าโปรเจ็กต์ Xcode เพื่อดูวิธีสร้างคีย์ API แล้วเพิ่มลงในโปรเจ็กต์ Xcodeสร้างและเรียกใช้โปรเจ็กต์
หลังจากที่เพิ่มคีย์ API แล้ว ให้สร้างและจัดการโปรเจ็กต์
เพิ่มยูทิลิตีลงในแอป
ดูเอกสารประกอบเกี่ยวกับยูทิลิตีแต่ละรายการสําหรับข้อมูลเพิ่มเติมในการใช้แอปดังกล่าวในแอป