สร้างแอปจุดสนใจ

คู่มือนี้แสดงรายละเอียดฟีเจอร์ต่างๆ ของคลังแอปรถยนต์ ซึ่งคุณสามารถใช้ฟังก์ชันของจุดสนใจ (POI) ได้ แอป

ประกาศการรองรับหมวดหมู่ในไฟล์ Manifest

แอปของคุณต้องประกาศ androidx.car.app.category.POI หมวดหมู่แอปสำหรับรถยนต์ในตัวกรอง Intent CarAppService

ตัวอย่างต่อไปนี้แสดงวิธีประกาศหมวดหมู่แอป

<application>
    ...
   <service
       ...
        android:name=".MyCarAppService"
        android:exported="true">
      <intent-filter>
        <action android:name="androidx.car.app.CarAppService" />
        <category android:name="androidx.car.app.category.POI"/>
      </intent-filter>
    </service>
    ...
<application>

เข้าถึงเทมเพลตแผนที่

แอปจุดที่น่าสนใจสามารถเข้าถึง PlaceListMapTemplate และ MapWithContentTemplate

PlaceListMapTemplate ได้รับการออกแบบมาเป็นพิเศษเพื่อแสดงรายการ จุดที่น่าสนใจข้างแผนที่ที่แสดงผลโดยโฮสต์

สามารถใช้ MapWithContentTemplate เพื่อแสดงรายการและรายการประเภทอื่นๆ เนื้อหาข้างแผนที่ที่แอปของคุณแสดงผล โปรดดู วาดแผนที่เพื่อดูรายละเอียดเพิ่มเติมเกี่ยวกับการใช้แผนที่นี้ เทมเพลต

ในการเข้าถึงเทมเพลตเหล่านี้ แอปของคุณต้องประกาศ สิทธิ์ androidx.car.app.MAP_TEMPLATES ในไฟล์ AndroidManifest.xml ของตน:

<manifest ...>
  ...
  <uses-permission android:name="androidx.car.app.MAP_TEMPLATES"/>
  ...
</manifest>

รีเฟรชเนื้อหา PlaceListMapTemplate

คุณสามารถอนุญาตให้คนขับรีเฟรชเนื้อหาได้ด้วยการแตะปุ่มขณะท่องเว็บ รายการสถานที่ที่สร้างด้วย PlaceListMapTemplate ติดตั้งใช้งาน OnContentRefreshListener onContentRefreshRequested ของอินเทอร์เฟซ และใช้ PlaceListMapTemplate.Builder.setOnContentRefreshListener เพื่อตั้งค่า Listener บนเทมเพลตให้เปิดใช้การรีเฟรชรายการ

ข้อมูลโค้ดต่อไปนี้แสดงวิธีตั้งค่า Listener ในเทมเพลต

Kotlin

PlaceListMapTemplate.Builder()
    ...
    .setOnContentRefreshListener {
        // Execute any desired logic
        ...
        // Then call invalidate() so onGetTemplate() is called again
        invalidate()
    }
    .build()

Java

new PlaceListMapTemplate.Builder()
        ...
        .setOnContentRefreshListener(() -> {
            // Execute any desired logic
            ...
            // Then call invalidate() so onGetTemplate() is called again
            invalidate();
        })
        .build();

ปุ่มรีเฟรชจะแสดงเฉพาะในส่วนหัวของ PlaceListMapTemplate หาก Listener มีค่า

เมื่อผู้ใช้คลิกปุ่มรีเฟรช onContentRefreshRequested มีการเรียกใช้เมธอดของการใช้งาน OnContentRefreshListener ภายใน onContentRefreshRequested โทรหา Screen.invalidate จากนั้นผู้จัดการประชุมจะโทรกลับไปยัง Screen.onGetTemplate เพื่อเรียกเทมเพลตซึ่งมีเนื้อหาที่รีเฟรชแล้ว โปรดดูรีเฟรช ของเทมเพลตสำหรับข้อมูลเพิ่มเติมเกี่ยวกับ เทมเพลตการรีเฟรช ตราบใดที่ onGetTemplate แสดงเทมเพลตถัดไป เป็นประเภทเดียวกัน จะนับเป็นการรีเฟรชและไม่นับรวมใน โควต้าของเทมเพลต

ผสานรวมกับ Google Assistant โดยใช้การดำเนินการของแอป

เปิดใช้แอปจุดที่น่าสนใจของคุณด้วยเสียงโดยใช้ Assistant เพื่อให้ผู้ใช้ค้นหาจุดของ โดยการถามว่า "Ok Google ค้นหาสถานีชาร์จใกล้เคียงใน ExampleApp" ดูวิธีการโดยละเอียดได้ที่การดำเนินการของแอปสำหรับรถยนต์