Menggunakan layanan Mega Landmark
Artikel ini menjelaskan cara menggunakan layanan lokalisasi Mega Landmark setelah plugin Mega WeChat Mini Program diintegrasikan.
Sebelum memulai
- Dapatkan dan gunakan APIKey (harus mencakup Mega Landmark).
- Pelajari konsep dan alur kerja MegaTracker.
- Pelajari autentikasi layanan cloud MegaTracker.
Mengaktifkan Mega Landmark
Pertama, gunakan Landmark sebagai apiType untuk membuat MegaTrackerConfigs.
Kemudian gunakan MegaTrackerConfigs dan licenseKey dalam konfigurasi untuk membuat SessionConfigs.
Terakhir, gunakan metode createSession(sessionConfigs) dari EasyARMegaComponent yang dipasang di scene xr-frame untuk membuat session.
const megaTrackerConfigs: easyar.MegaTrackerConfigs = {
access: apiKeyAccess,
apiType: mega.MegaApiType.Landmark
};
const sessionConfigs: easyar.SessionConfigs = {
megaTrackerConfigs: megaTrackerConfigs,
licenseKey: settings.EasyARLicenseKey
};
session = megaComponent.createSession(sessionConfigs);
Cara menggunakan LandmarkFilter
Saat dibuat menggunakan Landmark, MegaTracker secara otomatis membuat instance MegaLandmarkFilter secara internal.
Fungsinya adalah agar MegaTracker dapat memfilter library peta lokalisasi Mega yang paling sesuai berdasarkan SpotId atau data GNSS saat menggunakan layanan Landmark.
API pemfilteran hanya dapat dipanggil setelah start(options) berhasil.
Saat MegaTracker menggunakan layanan Landmark dan pemfilteran belum berhasil, status lokalisasi selalu MissingSpotVersionId
- Gunakan SpotID yang disediakan untuk mencocokkan library peta lokalisasi:
Gunakan metode filterBySpotId(spotId) dari Landmark untuk mencocokkan library peta lokalisasi berdasarkan SpotID:
async landmarkFilter() {
const res = await session.megaTracker.landmarkFilter.filterBySpotId(settings.LandmarkSpotId);
if (res.status != mega.MegaLandmarkFilterStatus.Found) {
console.error(`LandmarkFilter Failed, status: ${mega.MegaLandmarkFilterStatus[res.status]}, exceptionInfo : ${res.exceptionInfo}`)
}
}
- Gunakan data GNSS saat ini untuk mencocokkan library peta lokalisasi:
Gunakan metode filterByLocation() dari Landmark untuk mencocokkan library peta lokalisasi dengan menggunakan data GNSS saat ini:
async landmarkFilter() {
const res = await session.megaTracker.landmarkFilter.filterByLocation();
if (res.status != mega.MegaLandmarkFilterStatus.Found) {
console.error(`LandmarkFilter Failed, status: ${mega.MegaLandmarkFilterStatus[res.status]}, exceptionInfo : ${res.exceptionInfo}`)
}
}