หน้านี้จะอธิบายวิธีตั้งค่าไลบรารียูทิลิตีสำหรับ 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
และเพิ่ม Maps SDK สำหรับทรัพยากร Dependency ของ 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
ใน Finder - เพิ่ม Maps SDK สำหรับเฟรมเวิร์ก 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.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
เลือกโปรเจ็กต์แทนเป้าหมายเฉพาะ แล้วเปิดแท็บการตั้งค่าบิลด์ ในส่วน Linker Flag อื่นๆ ให้เพิ่ม
-ObjC
หากไม่เห็นการตั้งค่าเหล่านี้ ให้เปลี่ยนตัวกรองในแถบการตั้งค่าบิลด์จากพื้นฐานเป็นทั้งหมด
ใช้ Swift Package Manager
- หากยังไม่มีโปรเจ็กต์ Xcode ให้สร้างโปรเจ็กต์ตอนนี้และบันทึกลงในเครื่องภายใน (หากคุณเพิ่งเริ่มทำการพัฒนาสำหรับ iOS ให้สร้างโปรเจ็กต์ใหม่และเลือกเทมเพลตแอป iOS ใน Xcode 11.7 หรือเก่ากว่า ให้สร้าง Single View Application)
- เพิ่ม Maps SDK สำหรับ iOS เป็นทรัพยากร Dependency ดูการติดตั้ง SDK สำหรับตัวเลือก
- ในโปรเจ็กต์ Xcode ให้ไปที่ไฟล์ -> แพ็กเกจของ Swift -> เพิ่มการอ้างอิงแพ็กเกจ
- ในหน้าต่างที่แสดง ให้ป้อน URL ที่เก็บของ Maps SDK สำหรับ iOS Utility Library
https://github.com/googlemaps/google-maps-ios-utils
แล้วเลือกถัดไป - ณ จุดนี้ ระบบอาจแจ้งให้ตรวจสอบสิทธิ์กับบัญชี GitHub โปรดทำตามวิธีการเพื่อสร้างโทเค็นเพื่อการเข้าถึงส่วนบุคคลของ GitHub เพื่อดำเนินการต่อไป
- ในหน้าต่างถัดไป เลือกตัวเลือกเวอร์ชัน เลือกแบบตรงทั้งหมดจากรายการแบบเลื่อนลง ป้อน Maps SDK สำหรับ iOS Utility Library เวอร์ชันล่าสุด (เช่น "3.4.0") แล้วเลือกถัดไป
เพิ่มคีย์ API ลงในแอป
โปรดดูวิธีการสร้างคีย์ API และเพิ่มลงในโปรเจ็กต์ Xcode ที่ตั้งค่าโปรเจ็กต์ Xcodeสร้างและเรียกใช้โปรเจ็กต์
หลังจากเพิ่มคีย์ API แล้ว ให้สร้างและเรียกใช้โปรเจ็กต์
เพิ่มยูทิลิตีลงในแอป
ดูเอกสารประกอบของยูทิลิตีแต่ละรายการสำหรับข้อมูลเพิ่มเติมเกี่ยวกับการใช้ยูทิลิตีนั้นในแอป