Table of Contents

Menggunakan layanan Mega Landmark

Artikel ini menjelaskan cara menggunakan layanan lokalisasi Mega Landmark setelah plugin Mega WeChat Mini Program diintegrasikan.

Sebelum memulai

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}`)
    }
}