Positioning Package
The positioning package provides location tracking and positioning capabilities using various location sources.
Features
- Multiple Location Sources: Support for VPS (Visual Positioning System) and GNSS/WiFi positioning
- Map Matching: Project user positions onto predefined routes for accurate navigation
- Pose Tracking: Complete 3D position and orientation tracking
- Event-Based Updates: Real-time position updates via callbacks
Location Sources
VPSLocationSource
Visual positioning using camera for indoor navigation. Combines VPS with PDR (Pedestrian Dead Reckoning) and attitude tracking.
GnssWifiLocationSource
GPS and WiFi-based positioning for outdoor navigation. Includes PDR and optional attitude tracking.
Getting Started
import { VPSLocationSource } from '@wemap/positioning';
const locationSource = new VPSLocationSource({
vps: {
endpoint: 'https://vps.example.com'
}
});
locationSource.onUpdate((pose) => {
console.log('Position:', pose.position);
console.log('Attitude:', pose.attitude);
});
await locationSource.start();
Map Matching
Use map matching to project positions onto a route:
import { MapMatching } from '@wemap/positioning';
import { Router } from '@wemap/routing';
const router = new Router();
const itineraries = await router.directions(origin, destination, 'WALK');
MapMatching.setItinerary(itineraries[0]);