การเริ่มต้นอย่างรวดเร็วเกี่ยวกับภูมิสารสนเทศสำหรับ iOS

การเริ่มต้นใช้งานอย่างรวดเร็วสําหรับ ARCore Geospatial API นี้จะแสดงวิธีเรียกใช้แอปตัวอย่างใน Xcode ที่สาธิต Geospatial API

ดูคู่มือการพัฒนาแอปของคุณเองด้วย Geospatial API ได้ที่คู่มือนักพัฒนาซอฟต์แวร์ Geospatial สําหรับ iOS

ดูข้อมูลเพิ่มเติมเกี่ยวกับ Geospatial API ได้ที่ข้อมูลเบื้องต้นเกี่ยวกับ ARCore Geospatial API

หากคุณเพิ่งเริ่มพัฒนาด้วย ARCore โปรดดูการเริ่มต้นใช้งาน

ข้อกำหนดเบื้องต้น

  • Xcode เวอร์ชัน 13.0 ขึ้นไป
  • Cocoapods 1.4.0 ขึ้นไปหากใช้ Cocoapods
  • อุปกรณ์ Apple ที่ใช้ ARKit ได้ซึ่งใช้ iOS 12.0 ขึ้นไป (ต้องใช้เป้าหมายการติดตั้งใช้งาน iOS 12.0 ขึ้นไป)

ตั้งค่าแอปตัวอย่าง

โปรเจ็กต์ GeospatialExample ที่มาพร้อมกับ ARCore SDK สําหรับ iOS จะอธิบายโค้ดที่เรียกใช้ Geospatial API

  1. โคลนหรือดาวน์โหลด ARCore SDK สําหรับ iOS จาก GitHub เพื่อรับโค้ดแอปตัวอย่าง

  2. เปิดหน้าต่างเทอร์มินัลหรือ Finder แล้วไปที่โฟลเดอร์ที่คุณโคลนหรือดาวน์โหลด SDK

  3. ไปที่โฟลเดอร์ arcore-ios-sdk-master/Examples

  4. เปิดโฟลเดอร์ Examples เลือกโฟลเดอร์ GeospatialExample แล้วคลิกเปิด

ตั้งค่าโปรเจ็กต์ Google Cloud

ก่อนใช้ระบบการระบุตำแหน่งด้วยภาพ (VPS) ในแอป คุณต้องเปิดใช้ ARCore API ในโปรเจ็กต์ Google Cloud ใหม่หรือที่มีอยู่ก่อน แม้ว่า Geospatial API จะทํางานได้กับการให้สิทธิ์แบบไม่ต้องใช้คีย์และการให้สิทธิ์คีย์ API แต่สําหรับคู่มือเริ่มต้นใช้งานนี้ ให้ใช้เมธอดคีย์ API

ตั้งค่าการให้สิทธิ์

หากต้องการเรียกใช้ Geospatial API กับ VPS แอปตัวอย่างจะต้องได้รับสิทธิ์ และอาจใช้คีย์ API ที่ไม่มีข้อจำกัด หากใช้คีย์ API แบบจํากัด คุณต้องระบุรหัสกลุ่มเพื่อเชื่อมโยงกับคีย์ API ด้วย

  1. ใน XCode ในแอปตัวอย่าง GeospatialExample ให้เปิดไฟล์ ViewController.m แล้วค้นหา your-api-key

  2. เพิ่มคีย์ API ลงใน GARSession: วางคีย์ API ที่คัดลอกมาจากขั้นตอนก่อนหน้าเหนือข้อความ your-api-key (ไม่ต้องนำเครื่องหมายคำพูดออก) ดังที่แสดง

    self.garSession = [GARSession sessionWithAPIKey:@"your-api-key"
                                   bundleIdentifier:nil
                                              error:&error];
    

ตั้งค่า ARCore SDK

แอป GeospatialExample มาพร้อมกับ Podfile ที่กําหนดค่าไว้ล่วงหน้าด้วย ARCore SDK และ iOS เวอร์ชันที่คุณต้องการ หากต้องการติดตั้ง Dependencies เหล่านี้ ให้เปิดหน้าต่างเทอร์มินัลแล้วเรียกใช้ pod install จากโฟลเดอร์ที่มีโปรเจ็กต์ Xcode

ซึ่งจะสร้างไฟล์ .xcworkspace ที่คุณจะใช้ในภายหลังเพื่อสร้างและเรียกใช้แอป

สร้างและเรียกใช้แอปตัวอย่าง

  1. ใน Xcode ให้เลือกไฟล์พื้นที่ทํางาน GeospatialExample แล้วคลิกการรับรองและความสามารถ

  2. เลือกช่องจัดการการรับรองโดยอัตโนมัติ

  3. ป้อนชื่อทีมในช่องทีม

    คุณสามารถใช้ตัวระบุแพ็กเกจเริ่มต้นเพื่อเรียกใช้แอปจาก Xcode แต่จะต้องเปลี่ยนหากใช้ GeospatialExample เป็นตัวอย่างสแต็บสําหรับแอปของคุณเองในเวอร์ชันที่ใช้งานจริง

  4. เชื่อมต่ออุปกรณ์เพื่อเรียกใช้แอปตัวอย่าง

  5. สร้างและเรียกใช้แอป GeospatialExample จากไฟล์ .xcworkspace เพื่อเปิดแอปในอุปกรณ์

    โปรดตรวจสอบว่าคุณสร้างจากไฟล์ .xcworkspace ไม่ใช่ไฟล์ .xcodeproj เพื่อหลีกเลี่ยงข้อผิดพลาดในการสร้าง

คุณควรเห็นมุมมองกล้องพร้อมกับข้อมูลการแก้ไขข้อบกพร่องที่อธิบายการแปลงเชิงพื้นที่ปัจจุบันของอุปกรณ์ เมื่อสแกนสภาพแวดล้อมรอบตัว คุณอาจเห็นว่าค่าความเชื่อมั่นของตำแหน่งที่แม่นยำอาจเปลี่ยนแปลงไปเมื่อคุณเคลื่อนไหวไปรอบๆ หากคุณอยู่ในบริเวณที่ระบบกำหนดตำแหน่ง VPS รองรับ

เมื่อ ARCore มั่นใจในตำแหน่งและทิศทางของอุปกรณ์แล้ว คุณจะวางหมุดที่ตำแหน่งปัจจุบันได้โดยใช้การเปลี่ยนรูปแบบเชิงพื้นที่

ความแม่นยำในการระบุตำแหน่งอาจต่ำเกินไปหากไม่มีข้อมูล VPS แอปต้องเชื่อมต่ออินเทอร์เน็ต และ VPS ต้องทราบตำแหน่ง เรียกใช้แอปตัวอย่างกลางแจ้ง (ไม่ใช่ในอาคาร) ในเวลากลางวันเพื่อให้ได้ผลลัพธ์ที่ดีที่สุด

นอกจากนี้ หากคุณอยู่ในพื้นที่ที่ไม่รองรับ VPS หรือสัญญาณ GPS ไม่เพียงพอ คุณอาจต้องปรับเกณฑ์ความเชื่อมั่นในแอปเพื่อวางจุดยึด

วิธีปรับเกณฑ์

  1. ใน Xcode ให้เปิดไฟล์ ViewController.m แล้วไปที่ส่วนต่อไปนี้

    // Thresholds for 'good enough' accuracy. These can be tuned for the
    // application. We use both 'low'
    // and 'high' values here to avoid flickering state changes.
    static const CLLocationAccuracy kHorizontalAccuracyLowThreshold = 10;
    static const CLLocationAccuracy kHorizontalAccuracyHighThreshold = 20;
    static const CLLocationDirectionAccuracy kHeadingAccuracyLowThreshold = 15;
    static const CLLocationDirectionAccuracy kHeadingAccuracyHighThreshold = 25;
    
  2. ปรับค่าเหล่านี้ตามต้องการ ยิ่งค่าสูง ความแม่นยำก็ยิ่งต่ำ

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

ขั้นตอนถัดไป

อ่านคู่มือนักพัฒนาซอฟต์แวร์ด้านภูมิสารสนเทศเชิงพื้นที่สําหรับ iOS และเริ่มต้นสร้างด้วย Geospatial API