การตั้งค่าและการสาธิต

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

หน้านี้จะอธิบายวิธีตั้งค่าไลบรารียูทิลิตีสำหรับ Maps SDK สำหรับ iOS

หากต้องการลองใช้ยูทิลิตีเหล่านี้ คุณสามารถทำอย่างใดอย่างหนึ่งต่อไปนี้

เลือกติดตั้ง CocoaPods หรือไม่ก็ได้

ไลบรารียูทิลิตีนี้พร้อมใช้งานเป็นพ็อด CocoaPods ชื่อ Google-Maps-iOS-Utils CocoaPods เป็นผู้จัดการทรัพยากร Dependency โอเพนซอร์สสำหรับโปรเจ็กต์ Swift และ Objective-C Cocoa

หากยังไม่มีเครื่องมือ CocoaPods ให้ติดตั้งใน macOS โดยเรียกใช้คำสั่งต่อไปนี้จากเทอร์มินัล

sudo gem install cocoapods

โปรดดูรายละเอียดในคู่มือเริ่มต้นใช้งาน CocoaPods

ติดตั้งและเรียกใช้แอปเดโม

ไลบรารียูทิลิตีนี้มีแอปเดโมที่คุณสามารถติดตั้งแล้วลองใช้ยูทิลิตีแต่ละรายการได้

ติดตั้งแอปเดโมโดยใช้ 1 ใน 2 วิธีต่อไปนี้

ใช้ไฟล์จาก GitHub

  1. ดาวน์โหลดที่เก็บถาวรตัวอย่างโค้ดจาก GitHub และคลายการแพคข้อมูลที่เก็บถาวร
  2. เปิดหน้าต่างเทอร์มินัล ไปที่ไดเรกทอรีที่คุณขยายไฟล์ตัวอย่าง และเจาะลึกในไดเรกทอรีตัวอย่างที่เหมาะสมสำหรับภาษาที่คุณต้องการใช้ ดังนี้
    • สำหรับ Swift ให้เรียกใช้ cd google-maps-ios-utils-master/samples/SwiftDemoApp
    • สำหรับ Objective-C ให้เรียกใช้ cd google-maps-ios-utils-master/samples/ObjCDemoApp
  3. เรียกใช้คำสั่งต่อไปนี้
    pod install
  4. ปิด Xcode แล้วเปิด (ดับเบิลคลิก) ไฟล์ .xcworkspace ของโปรเจ็กต์เพื่อเปิด Xcode หลังจากนั้น คุณต้องใช้ไฟล์ .xcworkspace เพื่อเปิดโปรเจ็กต์

ใช้ CocoaPods v1.6.1

  1. เปิดหน้าต่างเทอร์มินัลและติดตั้งเวอร์ชัน 1.6.1:
    sudo gem install cocoapods -v1.6.1
  2. ดึงข้อมูลไฟล์ 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 ดังนี้

  1. เพิ่มคำสั่งการนำเข้าต่อไปนี้
    import GoogleMaps
  2. แก้ไขบรรทัดต่อไปนี้เพื่อเพิ่มคีย์ API ระหว่างเครื่องหมายคำพูดคู่
    // Change this key to a valid key registered with the demo app bundle id.
    let mapsAPIKey = ""

Objective-C

เพิ่มคีย์ API ลงใน AppDelegate.m ดังนี้

  1. เพิ่มคำสั่งการนำเข้าต่อไปนี้
    @import GoogleMaps;
  2. แก้ไขบรรทัดต่อไปนี้เพื่อเพิ่มคีย์ 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

  1. หากยังไม่มีโปรเจ็กต์ Xcode ให้สร้างโปรเจ็กต์ตอนนี้แล้วบันทึกลงในเครื่องภายใน (หากเพิ่งเริ่มทำการพัฒนาสำหรับ iOS ให้สร้างแอปพลิเคชัน Single View)
  2. หากยังไม่มีไฟล์พ็อดสำหรับโปรเจ็กต์ ให้สร้างไฟล์ชื่อ Podfile ในไดเรกทอรีของโปรเจ็กต์ ไฟล์นี้ระบุทรัพยากร Dependency ของโปรเจ็กต์
  3. แก้ไขไฟล์พ็อดของโปรเจ็กต์และเพิ่มทรัพยากร 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
  4. เรียกใช้ pod install
  5. ปิด Xcode แล้วเปิด (ดับเบิลคลิก) ไฟล์ .xcworkspace ของโปรเจ็กต์เพื่อเปิด Xcode หลังจากนั้น คุณต้องใช้ไฟล์ .xcworkspace เพื่อเปิดโปรเจ็กต์

หมายเหตุ: ยูทิลิตีการจัดกลุ่มเครื่องหมายจะขึ้นอยู่กับ Quadtree แต่คุณใช้ Quadtree ได้โดยไม่ต้องจัดกลุ่มเครื่องหมาย หากต้องการเฉพาะยูทิลิตี Quadtree คุณสามารถเปลี่ยน pod 'Google-Maps-iOS-Utils' เป็น 'Google-Maps-iOS-Utils/QuadTree' ในไฟล์พ็อดได้

ใช้คาร์เธจ

  1. ติดตั้ง Carthage ซึ่งมีหลายวิธี ดังนั้นโปรดดูไฟล์ Carthage README เพื่อดูขั้นตอนโดยละเอียด
  2. หากยังไม่มีโปรเจ็กต์ Xcode ให้สร้างโปรเจ็กต์ตอนนี้แล้วบันทึกลงในเครื่องภายใน (หากคุณเพิ่งเริ่มใช้งานการพัฒนา iOS ให้สร้างโปรเจ็กต์ใหม่และเลือกเทมเพลตแอป iOS ใน Xcode 11.7 หรือเวอร์ชันก่อนหน้า ให้สร้างแอปพลิเคชัน Single View)
  3. สร้างไฟล์ชื่อ Cartfile ในไดเรกทอรีโปรเจ็กต์ ไฟล์นี้ระบุทรัพยากร Dependency ของโปรเจ็กต์
  4. แก้ไข Cartfile และเพิ่ม Maps SDK สำหรับทรัพยากร Dependency ของ iOS Utility Library:
    github "googlemaps/google-maps-ios-utils"
  5. บันทึก Cartfile
  6. ในหน้าต่างเทอร์มินัล ให้ไปที่ไดเรกทอรีที่มี Cartfile:
    cd <path-to-project>
  7. เรียกใช้คำสั่งอัปเดต:
    carthage update --platform iOS

    การดำเนินการนี้จะติดตั้ง API ที่ระบุใน Cartfile พร้อมกับทรัพยากร Dependency ที่อาจมี
  8. ในไดเรกทอรีโปรเจ็กต์ ให้ไปที่ไฟล์เฟรมเวิร์กที่ดาวน์โหลดไว้ในส่วน Carthage/Build/iOS ใน Finder
  9. เพิ่ม 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
  10. คลิกขวาที่ GoogleMaps.framework ในโปรเจ็กต์ แล้วเลือกแสดงในตัวค้นหา
  11. ลาก Carthage/Build/iOS/GoogleMaps.framework/Resources/GoogleMaps.bundle จากโฟลเดอร์ Resources ไปยังโปรเจ็กต์ เมื่อได้รับข้อความแจ้ง ให้ตรวจสอบว่าไม่ได้เลือกคัดลอกรายการลงในโฟลเดอร์ของกลุ่มปลายทาง
  12. เลือกโปรเจ็กต์จาก Project Navigator แล้วเลือกเป้าหมายของแอปพลิเคชัน
  13. เปิดแท็บสร้างระยะสำหรับเป้าหมายของแอปพลิเคชัน และเพิ่มเฟรมเวิร์กต่อไปนี้ภายในลิงก์ไบนารีกับไลบรารี
    • 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
  14. เลือกโปรเจ็กต์แทนเป้าหมายเฉพาะ แล้วเปิดแท็บการตั้งค่าบิลด์ ในส่วน Linker Flag อื่นๆ ให้เพิ่ม -ObjC หากไม่เห็นการตั้งค่าเหล่านี้ ให้เปลี่ยนตัวกรองในแถบการตั้งค่าบิลด์จากพื้นฐานเป็นทั้งหมด

ใช้ Swift Package Manager

  1. หากยังไม่มีโปรเจ็กต์ Xcode ให้สร้างโปรเจ็กต์ตอนนี้และบันทึกลงในเครื่องภายใน (หากคุณเพิ่งเริ่มทำการพัฒนาสำหรับ iOS ให้สร้างโปรเจ็กต์ใหม่และเลือกเทมเพลตแอป iOS ใน Xcode 11.7 หรือเก่ากว่า ให้สร้าง Single View Application)
  2. เพิ่ม Maps SDK สำหรับ iOS เป็นทรัพยากร Dependency ดูการติดตั้ง SDK สำหรับตัวเลือก
  3. ในโปรเจ็กต์ Xcode ให้ไปที่ไฟล์ -> แพ็กเกจของ Swift -> เพิ่มการอ้างอิงแพ็กเกจ
  4. ในหน้าต่างที่แสดง ให้ป้อน URL ที่เก็บของ Maps SDK สำหรับ iOS Utility Library https://github.com/googlemaps/google-maps-ios-utils แล้วเลือกถัดไป
  5. ในหน้าต่างถัดไป เลือกตัวเลือกเวอร์ชัน เลือกแบบตรงทั้งหมดจากรายการแบบเลื่อนลง ป้อน Maps SDK สำหรับ iOS Utility Library เวอร์ชันล่าสุด (เช่น "3.4.0") แล้วเลือกถัดไป

เพิ่มคีย์ API ลงในแอป

โปรดดูวิธีการสร้างคีย์ API และเพิ่มลงในโปรเจ็กต์ Xcode ที่ตั้งค่าโปรเจ็กต์ Xcode

สร้างและเรียกใช้โปรเจ็กต์

หลังจากเพิ่มคีย์ API แล้ว ให้สร้างและเรียกใช้โปรเจ็กต์

เพิ่มยูทิลิตีลงในแอป

ดูเอกสารประกอบของยูทิลิตีแต่ละรายการสำหรับข้อมูลเพิ่มเติมเกี่ยวกับการใช้ยูทิลิตีนั้นในแอป