Lebih lanjut ke konten utama
@capgo/capacitor-compass Lokasi Terbuka sumber

Kompass Plugin Capacitor

Baca arah kompas perangkat dalam derajat dengan pembaruan terus-menerus dan pengaturan izin

Pasang

bun add @capgo/capacitor-compass bunx cap sync
npm, pnpm or yarn
  • npm install @capgo/capacitor-compass
  • pnpm add @capgo/capacitor-compass
  • yarn add @capgo/capacitor-compass

Panduan

Cara menggunakan Compass di Capacitor

Test di perangkat

Unduh aplikasi Capgo, kemudian scan kode QR code.

Tautan QR pratinjau plugin Compass code

Menggunakan @capgo/capacitor-compass

Plugin Compass Capacitor untuk membaca arah kompas perangkat.

Pasang

bun add @capgo/capacitor-compass
bunx cap sync

bunx cap sync mengcopy kode native code ke proyek-proyek native Anda. Jalankan lagi setelah setiap upgrade plugin.

Import

import { CapgoCompass } from '@capgo/capacitor-compass';

lihat kode API secara langsung

Metode Deskripsi
getCurrentHeading Mendapatkan arah kompas sekarang dalam derajat. Pada iOS, arah kompas diperbarui di latar belakang, dan nilai terbaru dikembalikan. Pada Android, arah kompas dihitung ketika metode ini dipanggil menggunakan sensor accelerometer dan magnetometer. Belum diimplementasikan pada Web.
startListening Mulai mendengarkan perubahan arah kompas melalui event. Ini memulai sensor kompas dan mengirimkan event 'headingChange'.
stopListening Menghentikan mendengarkan perubahan arah kompas. Ini menghentikan sensor kompas dan menghentikan pengiriman event.
checkPermissions Periksa status izin saat ini untuk mengakses data kompas. Pada iOS, ini memeriksa status izin lokasi. Pada Android, ini selalu mengembalikan 'granted' karena tidak ada izin yang diperlukan.
requestPermissions Minta izin untuk mengakses data kompas. Pada iOS, ini meminta izin lokasi (diperlukan untuk data arah). Pada Android, ini diselesaikan segera karena tidak ada izin yang diperlukan.
watchAccuracy Mulai memantau akurasi kompas. Pada Android, ini memantau akurasi magnetometer dan mengirimkan event 'accuracyChange'. Pengembang dapat mendengarkan event ini dan mengimplementasikan UI mereka sendiri untuk permintaan kalibrasi. Pada iOS dan Web, metode ini tidak melakukan apa-apa karena pemantauan akurasi kompas tidak tersedia.
unwatchAccuracy Menghentikan memantau akurasi kompas. Ini menghentikan pemantauan akurasi.
getAccuracy Peroleh tingkat akurasi kompas saat ini. Pada Android, mengembalikan akurasi sensor magnetometer saat ini. Pada iOS dan Web, selalu mengembalikan CompassAccuracy.UNKNOWN karena pemantauan akurasi tidak tersedia.

Contoh

getCurrentHeading()

Peroleh arah kompas saat ini dalam derajat. Pada iOS, arah kompas diperbarui di latar belakang, dan nilai terbaru dikembalikan. Pada Android, arah kompas dihitung ketika metode dipanggil menggunakan sensor accelerometer dan magnetometer.

import { CapgoCompass } from '@capgo/capacitor-compass';

const { value } = await CapgoCompass.getCurrentHeading();
console.log('Compass heading:', value, 'degrees');

startListening()

Mulai mendengarkan perubahan arah kompas melalui event. Ini memulai sensor kompas dan mengirimkan event 'headingChange'.

import { CapgoCompass } from '@capgo/capacitor-compass';

// With default throttling (100ms interval, 2° minimum change)
await CapgoCompass.startListening();

// With custom throttling for high-frequency updates
await CapgoCompass.startListening({
  minInterval: 50,      // 50ms between events
  minHeadingChange: 1.0 // 1° minimum change
});

CapgoCompass.addListener('headingChange', (event) => {
  console.log('Heading:', event.value);
});

stopListening()

Hentikan mendengarkan perubahan arah kompas. Ini menghentikan sensor kompas dan menghentikan pengiriman event.

import { CapgoCompass } from '@capgo/capacitor-compass';

await CapgoCompass.stopListening();

checkPermissions()

Periksa status izin saat ini untuk mengakses data kompas. Pada iOS, ini memeriksa status izin lokasi. Pada Android, ini selalu mengembalikan 'granted' karena tidak ada izin yang diperlukan.

import { CapgoCompass } from '@capgo/capacitor-compass';

const status = await CapgoCompass.checkPermissions();
console.log('Compass permission:', status.compass);

requestPermissions()

Minta izin untuk mengakses data kompas. Pada iOS, ini meminta izin lokasi (diperlukan untuk data arah). Pada Android, ini menyelesaikan segera karena tidak ada izin yang diperlukan.

import { CapgoCompass } from '@capgo/capacitor-compass';

const status = await CapgoCompass.requestPermissions();
if (status.compass === 'granted') {
  // Can now use compass
}

watchAccuracy()

Mulai memantau akurasi kompas. Pada Android, ini memantau akurasi magnetometer dan mengirimkan event accuracyChange. Pengembang dapat mendengarkan event ini dan menerapkan UI mereka sendiri untuk permintaan kalibrasi. Pada iOS dan Web, metode ini tidak melakukan apa-apa karena pemantauan akurasi kompas tidak tersedia.

import { CapgoCompass, CompassAccuracy } from '@capgo/capacitor-compass';

// Start monitoring accuracy
await CapgoCompass.watchAccuracy();

// Listen for accuracy changes and implement custom UI
CapgoCompass.addListener('accuracyChange', (event) => {
  console.log('Accuracy changed to:', event.accuracy);
  if (event.accuracy < CompassAccuracy.MEDIUM) {
    // Show your custom calibration UI
  }
});

Daftar di atas menampilkan 8 metode inti. Pembantu pemanggil dan versi, serta kontrak lengkap dari setiap metode, dapat dilihat di repository GitHub.

Dengarkan event

addListener mengembalikan sebuah handle. Panggil handle.remove() ketika layar dihapus, atau CapgoCompass.removeAllListeners() untuk menghapus setiap pemanggil.

Referensi lengkap

Teruskan dari Menggunakan @capgo/capacitor-compass

Jika Anda menggunakan Gunakan @capgo/capacitor-compass untuk merencanakan dashboard dan API operasi, hubungkannya dengan @capgo/capacitor-compass untuk detail implementasi di @capgo/capacitor-compass, Panduan Awal untuk detail implementasi di Panduan Awal, Ringkasan API untuk detail implementasi di Ringkasan API, Pendahuluan untuk detail implementasi di Pendahuluan, dan Kunci API untuk detail implementasi di Kunci API.

FAQ

Pertanyaan Umum (FAQ) untuk plugin Compass

Bagaimana cara saya menginstal plugin Compass di aplikasi Capacitor?

Jalankan &quot;bun add @capgo/capacitor-compass&quot; (atau &quot;npm install @capgo/capacitor-compass&quot;), kemudian jalankan &quot;bunx cap sync&quot; agar proyek iOS dan Android dapat menangkap native code. Import dari &quot;@capgo/capacitor-compass&quot; di aplikasi code.

Apakah @capgo/capacitor-compass berfungsi dengan React, Vue dan Angular?

Ya. Compass adalah paket Capacitor, sehingga berfungsi dengan framework web apa pun yang berjalan di dalam Capacitor, termasuk Ionic, React, Vue, Angular, Svelte dan JavaScript biasa.

Versi Capacitor mana yang didukung oleh @capgo/capacitor-compass?

Capgo plugin mengikuti versi mayor Capacitor: gunakan versi mayor plugin yang sesuai dengan versi mayor Capacitor (misalnya plugin v8 dengan Capacitor 8). Tabel kompatibilitas di README GitHub menampilkan versi yang dipelihara.

Apakah @capgo/capacitor-compass gratis dan terbuka sumber?

Ya. Sumber code tersedia secara publik di GitHub di https://github.com/Cap-go/capacitor-compass/ dan paketnya dapat diinstal secara gratis dari npm. Laporan bug dan permintaan pull selalu welcome.

Dapatkah saya memperbarui code yang menggunakan Compass tanpa melalui tinjauan App Store?

Menginstal atau mengupgrade plugin mengubah native code, sehingga memerlukan build toko baru. Setelah itu, perubahan JavaScript, HTML dan CSS yang memanggil plugin dapat dikirimkan secara instan dengan Capgo live updates.

Kirim Perubahan Compass tanpa Menunggu Tinjauan Aplikasi

Setelah plugin masuk ke toko Anda, Capgo pembaruan hidup membagikan perubahan JavaScript, HTML, dan CSS Anda ke pengguna dalam menit-menit.

Mulai dengan Capgo