WemapPositioningSDK VPS ARCore
Highly accurate indoor positioning using ARCore and Wemap's Visual Positioning System.
Overview
This module provides a camera-based LocationSource for indoor environments where GPS is weak or unavailable. Create a VpsARCoreLocationSource from a session and assign it to a WemapMapView or GeoARView — or start it standalone for a third-party map/AR system.
import com.getwemap.sdk.positioning.wemapvpsarcore.VpsARCoreLocationSource
import com.getwemap.sdk.positioning.wemapvpsarcore.VpsConfig
// device must support ARCore
if (VpsARCoreLocationSource.checkAvailability(context).isSupported) {
val vps = VpsARCoreLocationSource(context, session, VpsConfig())
// attach once the view has loaded (see WemapMapSDK / WemapGeoARSDK — awaitLoaded()):
mapView.userLocationManager.locationSource = vps
vps.startScan()
}Content copied to clipboard
VPS must be enabled for your map by the Wemap team, and requires android.permission.CAMERA in your manifest. Collect VpsARCoreLocationSource.states and VpsARCoreLocationSource.scanStatuses to guide the user through scanning.
Tunable behaviour is grouped into VpsConfig, which embeds one sub-config per subsystem.