Mega Landmark-Dienst verwenden
Dieser Artikel beschreibt, wie der Mega Landmark-Lokalisierungsdienst nach der Integration des Mega-Plugins für WeChat Mini Program verwendet wird.
Bevor Sie beginnen
- APIKey abrufen und verwenden (muss Mega Landmark enthalten).
- Lernen Sie die Konzepte und den Workflow von MegaTracker kennen.
- Lernen Sie die Authentifizierung des MegaTracker-Clouddienstes kennen.
Mega Landmark aktivieren
Verwenden Sie zunächst Landmark als apiType, um MegaTrackerConfigs zu erstellen.
Verwenden Sie anschließend MegaTrackerConfigs und den licenseKey in der Konfiguration, um SessionConfigs zu erstellen.
Erstellen Sie schließlich session mit der Methode createSession(sessionConfigs) von EasyARMegaComponent, das in der xr-frame-Szene eingebunden ist.
const megaTrackerConfigs: easyar.MegaTrackerConfigs = {
access: apiKeyAccess,
apiType: mega.MegaApiType.Landmark
};
const sessionConfigs: easyar.SessionConfigs = {
megaTrackerConfigs: megaTrackerConfigs,
licenseKey: settings.EasyARLicenseKey
};
session = megaComponent.createSession(sessionConfigs);
LandmarkFilter verwenden
Wenn mit Landmark erstellt wird, instanziiert MegaTracker intern automatisch MegaLandmarkFilter.
Seine Funktion besteht darin, dass MegaTracker beim Verwenden des Landmark-Dienstes anhand von SpotId oder GNSS-Daten die am besten geeignete Mega-Lokalisierungskartenbibliothek filtert.
Die Filter-APIs können erst nach erfolgreichem Aufruf von start(options) aufgerufen werden.
Wenn MegaTracker den Landmark-Dienst verwendet und die Filterung nicht erfolgreich war, ist der Lokalisierungsstatus immer MissingSpotVersionId
- Die bereitgestellte SpotID zum Zuordnen der Lokalisierungskartenbibliothek verwenden:
Verwenden Sie die Methode filterBySpotId(spotId) von Landmark, um die Lokalisierungskartenbibliothek anhand von SpotID zuzuordnen:
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}`)
}
}
- Aktuelle GNSS-Daten zum Zuordnen der Lokalisierungskartenbibliothek verwenden:
Verwenden Sie die Methode filterByLocation() von Landmark, um die Lokalisierungskartenbibliothek anhand der aktuellen GNSS-Daten zuzuordnen:
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}`)
}
}