Mega Landmark 서비스 사용
이 문서는 WeChat 미니프로그램 Mega 플러그인 통합 후 Mega Landmark의 위치 서비스를 사용하는 방법을 설명합니다.
시작하기 전에
- APIKey 획득 및 사용 (Mega Landmark 포함 필수).
- MegaTracker 개념 및 워크플로 이해.
- MegaTracker 클라우드 서비스 인증 이해.
Mega Landmark 활성화
먼저 Landmark를 apiType으로 사용하여 MegaTrackerConfigs를 생성합니다.
그런 다음 MegaTrackerConfigs와 구성의 licenseKey를 사용하여 SessionConfigs를 생성합니다.
마지막으로 xr-frame 장면에 마운트된 EasyARMegaComponent의 createSession(sessionConfigs) 메서드로 세션을 생성합니다.
const megaTrackerConfigs: easyar.MegaTrackerConfigs = {
access: apiKeyAccess,
apiType: mega.MegaApiType.Landmark
};
const sessionConfigs: easyar.SessionConfigs = {
megaTrackerConfigs: megaTrackerConfigs,
licenseKey: settings.EasyARLicenseKey
};
session = megaComponent.createSession(sessionConfigs);
Landmarkfilter 사용 방법
Landmark로 생성할 때 MegaTracker는 자동으로 내부적으로 MegaLandmarkFilter를 인스턴스화합니다.
이 기능은 MegaTracker가 Landmark 서비스 사용 시 SpotId 또는 GNSS 데이터를 통해 현재 가장 적합한 Mega 위치 라이브러리를 필터링합니다.
필터 인터페이스는 start(options) 성공 후에만 호출할 수 있습니다.
MegaTracker가 Landmark 서비스를 사용하면서 성공적으로 필터링되지 않으면 위치 상태는 항상 MissingSpotVersionId입니다.
- 제공된 SpotID로 위치 라이브러리 매칭:
Landmark의 filterBySpotId(spotId) 메서드를 사용하여 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}`)
}
}
- 현재 GNSS 데이터로 위치 라이브러리 매칭:
Landmark의 filterByLocation() 메서드를 사용하여 현재 GNSS 데이터로 위치 라이브러리 매칭:
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}`)
}
}