Maps API บน Wear OS

แผนที่ในอุปกรณ์ที่สวมใส่ได้

เมื่อใช้ Maps SDK สำหรับ Android คุณจะสร้างแอปที่ใช้กับอุปกรณ์สวมใส่ ที่อิงตามแผนที่ซึ่งทำงานบนอุปกรณ์ Wear OS by Google ได้โดยตรง ผู้ใช้แอปของคุณ จะดูตำแหน่งของตนเองบนแผนที่ได้เพียงแค่เหลือบมองข้อมือ ผู้ใช้สามารถ วางแผนตำแหน่งของตนเองบนเส้นทางได้ เช่น จากนั้นซูมเข้าเพื่อดูรายละเอียด หรือแตะเครื่องหมาย เพื่อดูหน้าต่างข้อมูลที่แอปของคุณระบุ

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

เริ่มต้นใช้งานใน Wear OS

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

Android Studio เป็นเครื่องมือที่แนะนำสำหรับการพัฒนา Wear OS เนื่องจากมีฟีเจอร์ที่ช่วยในการตั้งค่าโปรเจ็กต์ การรวมไลบรารี และการจัดแพ็กเกจ

หากต้องการความช่วยเหลือทั่วไปเกี่ยวกับการออกแบบแอปสำหรับอุปกรณ์สวมใส่ โปรดดูหลักเกณฑ์การออกแบบ Wear OS หากต้องการความช่วยเหลือในการสร้าง แอปสำหรับอุปกรณ์สวมใส่แอปแรก โปรดดูคำแนะนำในการสร้างแอปสำหรับอุปกรณ์สวมใส่

การสร้างแอปแผนที่แอปแรกใน Wear OS

คู่มือฉบับย่อนี้ถือว่าคุณคุ้นเคยกับ Maps SDK สำหรับ Android ได้ทำตามคู่มือ Wear OS เพื่อสร้างโมดูลอุปกรณ์ที่สวมใส่ได้ใน แอปของคุณ และตอนนี้ต้องการเพิ่มแผนที่ลงในโมดูลอุปกรณ์ที่สวมใส่ได้

การเพิ่มทรัพยากร Dependency สำหรับโมดูล Wear

ตรวจสอบว่ามีทรัพยากร Dependency ต่อไปนี้อยู่ในไฟล์ build.gradle.kts ของโมดูล Wear OS ของแอป

dependencies {
    // ...
    // Modern Android projects use version catalogs to manage dependencies.  To include the necessary dependencies,
    // first add the following to your libs.versions.toml file:
    //
    // [versions]
    // playServicesMaps = "20.0.0"
    // wear = "1.4.0"
    // wearable = "2.9.0"
    //
    // [libraries]
    // play-services-maps = { group = "com.google.android.gms", name = "play-services-maps", version.ref = "playServicesMaps" }
    // wear = { group = "androidx.wear", name = "wear", version.ref = "wear" }
    // wearable-compile = { group = "com.google.android.wearable", name = "wearable", version.ref = "wearable" }
    // wearable-support = { group = "com.google.android.support", name = "wearable", version.ref = "wearable" }

    compileOnly(libs.wearable.compile)
    implementation(libs.wearable.support)
    implementation(libs.play.services.maps)

    // This dependency is necessary for ambient mode
    implementation(libs.wear)

    // Android Test Dependencies
    androidTestImplementation(libs.ext.junit)
    androidTestImplementation(libs.espresso.core)
    androidTestImplementation(libs.uiautomator)
    androidTestImplementation(libs.truth)
    androidTestImplementation(libs.junit)
    
    // If your project does not use a version catalog, you can use the following dependencies instead:
    //
    //    compileOnly("com.google.android.wearable:wearable:2.9.0")
    //    implementation("com.google.android.support:wearable:2.9.0")
    //    implementation("com.google.android.gms:play-services-maps:20.0.0")
    //    implementation("androidx.wear:wear:1.4.0")
    //    androidTestImplementation("androidx.test.ext:junit:1.3.0")
    //    androidTestImplementation("androidx.test.espresso:espresso-core:3.7.0")
    //    androidTestImplementation("androidx.test.uiautomator:uiautomator:2.3.0")
    //    androidTestImplementation("com.google.truth:truth:1.4.5")
    //    androidTestImplementation("junit:junit:4.13.2")
}

ดูข้อมูลเพิ่มเติมเกี่ยวกับทรัพยากร Dependency ได้ที่คำแนะนำในการเพิ่มโมดูล Wear OS ในโปรเจ็กต์ที่มีอยู่

การใช้ท่าทางสัมผัสปัดเพื่อปิดและตั้งค่าสีพื้นหลังเริ่มต้น

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

หากต้องการตั้งค่าสีพื้นหลังเริ่มต้นที่กำหนดเอง ให้ใช้แอตทริบิวต์ map:backgroundColor XML เพื่อกำหนดสีที่จะแสดงจนกว่าไทล์แผนที่จริงจะโหลด

เพิ่มองค์ประกอบ SwipeDismissFrameLayout และ backgroundColor ลงในคำจำกัดความเลย์เอาต์เป็นคอนเทนเนอร์ของ SupportMapFragment ดังนี้

  <androidx.wear.widget.SwipeDismissFrameLayout
      android:id="@+id/map_container"
      android:layout_width="match_parent"
      android:layout_height="match_parent">
    <fragment
        android:id="@+id/map"
        android:name="com.google.android.gms.maps.SupportMapFragment"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        map:backgroundColor="#fff0b2dd" />
  </androidx.wear.widget.SwipeDismissFrameLayout>

เมื่อได้รับออบเจ็กต์ SwipeDismissFrameLayout ในกิจกรรม ให้เพิ่ม การเรียกกลับและตั้งค่าลักษณะการทำงานของการเรียกกลับเพื่อดำเนินการปิด ที่จำเป็นตามที่แสดงด้านล่าง

Kotlin

class MainActivity : AppCompatActivity(), OnMapReadyCallback,
                     AmbientModeSupport.AmbientCallbackProvider {


    public override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)

        // Set the layout. It only contains a SupportMapFragment and a DismissOverlay.
        setContentView(R.layout.activity_main)

        // Enable ambient support, so the map remains visible in simplified, low-color display
        // when the user is no longer actively using the app but the app is still visible on the
        // watch face.
        try {
            val controller = AmbientModeSupport.attach(this)
            Log.d(MainActivity::class.java.simpleName, "Is ambient enabled: " + controller.isAmbient)
        } catch (e: Exception) {
            Log.w(MainActivity::class.java.simpleName, "Ambient mode unavailable on this device: ${e.message}")
        }

        // Retrieve the containers for the root of the layout and the map. Margins will need to be
        // set on them to account for the system window insets.
        val mapFrameLayout = findViewById<SwipeDismissFrameLayout>(R.id.map_container)
        mapFrameLayout.addCallback(object : SwipeDismissFrameLayout.Callback() {
            override fun onDismissed(layout: SwipeDismissFrameLayout) {
                onBackPressed()
            }
        })

        // Obtain the MapFragment and set the async listener to be notified when the map is ready.
        mapFragment = supportFragmentManager
            .findFragmentById(R.id.map) as SupportMapFragment
        mapFragment.getMapAsync(this)
    }

    // ...
}

      

Java

public class MainActivity extends AppCompatActivity implements OnMapReadyCallback,
    AmbientModeSupport.AmbientCallbackProvider {


    public void onCreate(Bundle savedState) {
        super.onCreate(savedState);

        // Set the layout. It only contains a SupportMapFragment and a DismissOverlay.
        setContentView(R.layout.activity_main);

        // Enable ambient support, so the map remains visible in simplified, low-color display
        // when the user is no longer actively using the app but the app is still visible on the
        // watch face.
        try {
            AmbientModeSupport.AmbientController controller = AmbientModeSupport.attach(this);
            Log.d(MainActivity.class.getSimpleName(), "Is ambient enabled: " + controller.isAmbient());
        } catch (Exception e) {
            Log.w(MainActivity.class.getSimpleName(), "Ambient mode unavailable on this device: " + e.getMessage());
        }

        // Retrieve the containers for the root of the layout and the map. Margins will need to be
        // set on them to account for the system window insets.
        final SwipeDismissFrameLayout mapFrameLayout = (SwipeDismissFrameLayout) findViewById(
            R.id.map_container);
        mapFrameLayout.addCallback(new SwipeDismissFrameLayout.Callback() {
            @Override
            public void onDismissed(SwipeDismissFrameLayout layout) {
                onBackPressed();
            }
        });

        // Obtain the MapFragment and set the async listener to be notified when the map is ready.
        mapFragment = (SupportMapFragment) getSupportFragmentManager()
            .findFragmentById(R.id.map);
        mapFragment.getMapAsync(this);
    }

    // ...
}

      

การเพิ่มแผนที่

ใช้เมธอดเรียกกลับ onMapReady(GoogleMap) ตามปกติ เพื่อรับแฮนเดิลไปยังออบเจ็กต์ GoogleMap ระบบจะทริกเกอร์การเรียกกลับเมื่อแผนที่พร้อมใช้งาน ในเมธอด Callback คุณสามารถเพิ่มตัวทำเครื่องหมายหรือเส้นประกอบลงในแผนที่ เพิ่ม Listener หรือย้ายกล้องได้ ตัวอย่างด้านล่างจะเพิ่มตัวทำเครื่องหมายใกล้กับโรงอุปรากรซิดนีย์

Kotlin

private val sydney = LatLng(-33.85704, 151.21522)

override fun onMapReady(googleMap: GoogleMap) {
    // Add a marker with a title that is shown in its info window.
    googleMap.addMarker(
        MarkerOptions().position(sydney)
            .title("Sydney Opera House")
    )

    // Move the camera to show the marker.
    googleMap.moveCamera(CameraUpdateFactory.newLatLngZoom(sydney, 10f))
}

      

Java

private static final LatLng SYDNEY = new LatLng(-33.85704, 151.21522);

@Override
public void onMapReady(@NonNull GoogleMap googleMap) {
    // Add a marker with a title that is shown in its info window.
    googleMap.addMarker(new MarkerOptions().position(SYDNEY)
        .title("Sydney Opera House"));

    // Move the camera to show the marker.
    googleMap.moveCamera(CameraUpdateFactory.newLatLngZoom(SYDNEY, 10));
}

      

การเปิดใช้โหมดแอมเบียนท์

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

Maps SDK สำหรับ Android มีการแสดงผลแผนที่แบบสีน้อยที่เรียบง่าย เพื่อใช้ในโหมดแอมเบียนท์ และรูปแบบแผนที่จะปรับโดยอัตโนมัติเมื่อ อุปกรณ์เปลี่ยนจากโหมดอินเทอร์แอกทีฟเป็นโหมดแอมเบียนท์ เครื่องหมาย ออบเจ็กต์ และการควบคุม UI ทั้งหมดจะหายไปในโหมดแอมเบียนท์ ซึ่งจะช่วยลดการใช้พลังงานของแอปและทำให้รูปลักษณ์สอดคล้องกับแอปแอมเบียนท์อื่นๆ เช่น หน้าปัดนาฬิกา

ทำตามขั้นตอนต่อไปนี้เพื่อให้แน่ใจว่าแอปใช้โหมดแอมเบียนท์ของแผนที่

  1. อัปเดต Android SDK ให้มีแพลตฟอร์ม Android 6.0 (API 23) ขึ้นไป ซึ่งมี API ที่อนุญาตให้กิจกรรมเข้าสู่โหมดแอมเบียนท์ ดูข้อมูลเกี่ยวกับวิธีอัปเดต SDK ได้ในเอกสารประกอบ Android เกี่ยวกับการเพิ่มแพ็กเกจ SDK
  2. ตรวจสอบว่าโปรเจ็กต์กำหนดเป้าหมายเป็น Android 6.0 ขึ้นไปโดยตั้งค่า targetSdkVersionเป็น 23 ขึ้นไปในไฟล์ Manifest ของแอป
  3. เพิ่มทรัพยากร Dependency ของอุปกรณ์ที่สวมใส่ได้ลงในไฟล์ build.gradle.kts ของแอป ดูตัวอย่างในหน้านี้
  4. เพิ่มรายการไลบรารีที่แชร์ของอุปกรณ์ที่สวมใส่ได้ลงในไฟล์ Manifest ของแอปที่สวมใส่ได้ตามที่อธิบายไว้ในคลาสการฝึกอบรม Android เกี่ยวกับการทำให้แอปของคุณปรากฏ
  5. เพิ่มสิทธิ์ WAKE_LOCK ลงในไฟล์ Manifest ของแอปแบบพกพาและแอปที่สวมใส่ได้ ตามที่อธิบายไว้ในคลาสการฝึกอบรม Android เกี่ยวกับ การทำให้แอปของคุณมองเห็นได้
  6. ในเมธอด onCreate() ของกิจกรรม ให้เรียกใช้เมธอด AmbientModeSupport.attach() ซึ่งจะบอกระบบปฏิบัติการว่าแอปพลิเคชันเปิดตลอดเวลา ดังนั้นเมื่ออุปกรณ์ปิดเครื่อง แอปพลิเคชันควรเข้าสู่โหมดแอมเบียนท์แทนที่จะกลับไปที่หน้าปัดนาฬิกา
  7. ใช้AmbientModeSupport.AmbientCallbackProviderอินเทอร์เฟซใน Activity เพื่อให้รับการเปลี่ยนแปลงสถานะโหมดแอมเบียนท์ได้
  8. ตั้งค่าแผนที่ให้รองรับโหมดแอมเบียนท์ คุณทำได้โดยตั้งค่าแอตทริบิวต์ map:ambientEnabled="true" ในไฟล์เลย์เอาต์ XML ของกิจกรรม หรือทำ แบบเป็นโปรแกรมโดยตั้งค่า GoogleMapOptions.ambientEnabled(true) การตั้งค่านี้จะแจ้งให้ API ทราบว่าต้องโหลดแผนที่ที่จำเป็นล่วงหน้าเพื่อใช้ในโหมดแอมเบียนท์
  9. เมื่อกิจกรรมเปลี่ยนเป็นโหมดแอมเบียนท์ ระบบจะเรียกใช้เมธอด onEnterAmbient() ใน AmbientCallback ที่คุณระบุ ลบล้าง onEnterAmbient() แล้วโทร SupportMapFragment.onEnterAmbient(ambientDetails) หรือ MapView.onEnterAmbient(ambientDetails) API จะเปลี่ยนไปใช้การแสดงแผนที่แบบ ไม่โต้ตอบและมีสีน้อย
  10. ในทำนองเดียวกัน ในการโทร onExitAmbient() SupportMapFragment.onExitAmbient() หรือ MapView.onExitAmbient() API จะเปลี่ยนไปใช้การแสดงผลแผนที่ตามปกติ

ตัวอย่างโค้ดต่อไปนี้จะเปิดใช้โหมดแอมเบียนท์ในกิจกรรม

Kotlin

class AmbientActivity : AppCompatActivity(), AmbientModeSupport.AmbientCallbackProvider {

    private lateinit var mapFragment: SupportMapFragment

    public override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)

        // Set the layout. It only contains a SupportMapFragment and a DismissOverlay.
        setContentView(R.layout.activity_main)

        // Enable ambient support, so the map remains visible in simplified, low-color display
        // when the user is no longer actively using the app but the app is still visible on the
        // watch face.
        try {
            val controller = AmbientModeSupport.attach(this)
            Log.d(AmbientActivity::class.java.simpleName, "Is ambient enabled: " + controller.isAmbient)
        } catch (e: Exception) {
            Log.w(AmbientActivity::class.java.simpleName, "Ambient mode unavailable on this device: ${e.message}")
        }

        // Obtain the MapFragment and set the async listener to be notified when the map is ready.
        mapFragment = supportFragmentManager
            .findFragmentById(R.id.map) as SupportMapFragment
    }

    override fun getAmbientCallback(): AmbientModeSupport.AmbientCallback {
        return object : AmbientModeSupport.AmbientCallback() {
            /**
             * Starts ambient mode on the map.
             * The API swaps to a non-interactive and low-color rendering of the map when the user is no
             * longer actively using the app.
             */
            override fun onEnterAmbient(ambientDetails: Bundle) {
                super.onEnterAmbient(ambientDetails)
                mapFragment.onEnterAmbient(ambientDetails)
            }

            /**
             * Exits ambient mode on the map.
             * The API swaps to the normal rendering of the map when the user starts actively using the app.
             */
            override fun onExitAmbient() {
                super.onExitAmbient()
                mapFragment.onExitAmbient()
            }
        }
    }
}

      

Java

public class AmbientActivity extends AppCompatActivity implements
    AmbientModeSupport.AmbientCallbackProvider {

    private SupportMapFragment mapFragment;

    public void onCreate(Bundle savedState) {
        super.onCreate(savedState);

        // Set the layout. It only contains a SupportMapFragment and a DismissOverlay.
        setContentView(R.layout.activity_main);

        // Enable ambient support, so the map remains visible in simplified, low-color display
        // when the user is no longer actively using the app but the app is still visible on the
        // watch face.
        try {
            AmbientModeSupport.AmbientController controller = AmbientModeSupport.attach(this);
            Log.d(AmbientActivity.class.getSimpleName(), "Is ambient enabled: " + controller.isAmbient());
        } catch (Exception e) {
            Log.w(AmbientActivity.class.getSimpleName(), "Ambient mode unavailable on this device: " + e.getMessage());
        }

        // Obtain the MapFragment and set the async listener to be notified when the map is ready.
        mapFragment = (SupportMapFragment) getSupportFragmentManager()
            .findFragmentById(R.id.map);
    }

    @Override
    public AmbientCallback getAmbientCallback() {
        return new AmbientCallback() {
            /**
             * Starts ambient mode on the map.
             * The API swaps to a non-interactive and low-color rendering of the map when the user is no
             * longer actively using the app.
             */
            @Override
            public void onEnterAmbient(Bundle ambientDetails) {
                super.onEnterAmbient(ambientDetails);
                mapFragment.onEnterAmbient(ambientDetails);
            }

            /**
             * Exits ambient mode on the map.
             * The API swaps to the normal rendering of the map when the user starts actively using the app.
             */
            @Override
            public void onExitAmbient() {
                super.onExitAmbient();
                mapFragment.onExitAmbient();
            }
        };
    }
}

      

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

การใช้ Street View บน Wear OS

Street View รองรับอุปกรณ์ที่สวมใส่ได้อย่างเต็มรูปแบบ

หากต้องการอนุญาตให้ผู้ใช้ออกจากแอปเมื่อดูพาโนรามาใน Street View ให้ใช้อินเทอร์เฟซ StreetViewPanorama.OnStreetViewPanoramaLongClickListener เพื่อฟังท่าทางสัมผัสแบบแตะค้าง เมื่อผู้ใช้คลิกค้างที่ใดที่หนึ่ง ในรูปภาพ Street View คุณจะได้รับเหตุการณ์ onStreetViewPanoramaLongClick(StreetViewPanoramaOrientation) โทร DismissOverlayView.show() เพื่อแสดงปุ่มออก

โค้ดตัวอย่าง

แอปตัวอย่างพร้อมใช้งานใน GitHub ซึ่งคุณสามารถใช้เป็น จุดเริ่มต้นสำหรับแอปของคุณได้ ตัวอย่างจะแสดงวิธีตั้งค่า Google Maps พื้นฐานบน Wear OS

ฟังก์ชันที่รองรับใน Maps API บน Wear OS

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

ฟังก์ชันการทำงาน
โหมดอินเทอร์แอกทีฟเต็มรูปแบบและโหมด Lite

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

ในโหมด Lite ระบบจะปิดใช้เจตนาที่จะเริ่มแอป Google Maps บนมือถือเมื่อผู้ใช้แตะแผนที่ และไม่สามารถเปิดใช้ในอุปกรณ์ที่สวมใส่ได้

ดูรายการความแตกต่างทั้งหมดระหว่างโหมด Lite กับโหมดแบบอินเทอร์แอกทีฟเต็มรูปแบบได้ในเอกสารประกอบเกี่ยวกับโหมด Lite

แถบเครื่องมือแผนที่ แถบเครื่องมือ แผนที่ปิดใช้และเปิดใช้ใน อุปกรณ์ที่สวมใส่ได้ไม่ได้
การควบคุม UI ระบบจะปิดใช้การควบคุม UI โดยค่าเริ่มต้นในอุปกรณ์ที่สวมใส่ได้ ซึ่งรวมถึง การควบคุมการซูม เข็มทิศ และตำแหน่งของฉัน คุณเปิดใช้ได้โดยใช้คลาส UiSettings ตามปกติ
ท่าทางสัมผัส ท่าทางสัมผัส แบบสัมผัสเดียว ทำงานได้ตามที่คาดไว้ ตัวอย่างเช่น แตะแล้วลากเพื่อเลื่อนแผนที่ แตะสองครั้ง เพื่อซูมเข้า และแตะด้วย 2 นิ้วเพื่อซูมออก การรองรับท่าทางสัมผัสแบบมัลติทัชจะแตกต่างกันไปตามอุปกรณ์ของผู้ใช้ ตัวอย่างท่าทางสัมผัสแบบมัลติทัช ได้แก่ การใช้ 2 นิ้วดันเพื่อเอียงแผนที่ การบีบเพื่อซูม และการหมุนด้วย 2 นิ้ว
แผนที่ในอาคารและอาคาร แผนที่ในอาคารจะ ปิดใช้โดยค่าเริ่มต้นในอุปกรณ์ที่สวมใส่ได้ คุณเปิดใช้ได้โดยโทรหา GoogleMap.setIndoorEnabled(true) หากเปิดใช้แผนที่ในอาคาร แผนที่จะแสดงระดับพื้นเริ่มต้น อุปกรณ์ที่สวมใส่ไม่ได้รองรับองค์ประกอบ UI ของเครื่องมือเลือก ระดับ
การวางซ้อนของชิ้นส่วนแผนที่ การซ้อนทับไทล์ไม่รองรับในอุปกรณ์ที่สวมใส่ได้

แนวทางปฏิบัติแนะนำสำหรับการพัฒนาด้วย Maps API บน Wear OS

วิธีมอบประสบการณ์การใช้งานที่ดีที่สุดในแอป

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