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

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

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

โปรดดู ข้อมูลเบื้องต้นเกี่ยวกับ ARCore Geospatial API สำหรับข้อมูลเพิ่มเติม เกี่ยวกับ 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. เปิดหน้าต่าง Terminal หรือ Finder และไปยังโฟลเดอร์ที่คุณโคลน หรือดาวน์โหลด SDK นี้แล้ว

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

  4. เปิดโฟลเดอร์ตัวอย่าง เลือกโฟลเดอร์ GeospatialExample และ คลิกเปิด

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

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

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

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

  1. ใน XCode ให้เปิด ViewController.m ในแอปตัวอย่าง GeospatialExample และค้นหา 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. ป้อนชื่อทีมในช่องทีม

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

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

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

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

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

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

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

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

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

  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