Compatibility with the full SDK
Lite implements a subset of the official SDK's API — the same class names, method signatures, and imports for the features it covers. Apps that stay within the subset switch between the two backends with a one-line dependency change; features outside it fail at compile time. This page shows what the subset covers in practice, feature by feature, and ends with the full API-level matrix for reference.
Verified with the official examples
The strongest compatibility proof: 28 of the official SDK examples run on Lite byte-identical — the same src/index.ts, index.html, and shared helpers as the Examples on this site, with only the @magiclane/maps-sdk dependency repointed from the official package to Lite via the npm alias:
{
"dependencies": {
"@magiclane/maps-sdk": "npm:@magiclane/maps-sdk-lite@^0.3.1"
}
}
Map display & rendering
Work out of the box, no API token needed:
| Example | Demonstrates |
|---|---|
hello_world | Display a map |
center_coordinates | Center the camera on coordinates |
center_area | Fit the camera to an area |
map_gestures | Pan, pinch, rotate, tilt gestures |
map_perspective | 2D / 3D perspective with building extrusions |
map_selection | Tap-to-select objects on the map |
multiview_map | Multiple map views on one page |
overlapped_maps | Stacked map views |
display_cursor_street_name | Street name under the cursor |
draw_shapes | Markers, polylines, polygons |
external_markers | Custom DOM markers |
marker_clustering | 15,000 points clustered into count pills; tap to zoom and split |
assets_map_style | Custom map styles — see the styling note below |
Search & places
| Example | Demonstrates |
|---|---|
search_location | Free-text location search |
text_search | Text search with a results list |
search_category | Search by POI category |
what_is_nearby | Nearby POIs around a position |
location_wikipedia | Wikipedia info and images for a found place |
Routing
| Example | Demonstrates |
|---|---|
calculate_route | Basic A→B route with alternatives |
calculate_bike_route | Bicycle profile |
truck_profile | Truck dimensions and weights |
finger_route | Route through finger-drawn points |
multi_map_routing | Routes across multiple views |
route_instructions | Turn-by-turn instruction list |
route_profile | Elevation / terrain profile along a route |
range_finder | Reachable-range isochrone |
gpx_thumbnail_image | Render a GPX track and capture a thumbnail |
center_traffic | Route display (routes carry no live traffic events on Lite) |
public_transit | Public-transit route display |
A note on map styles
Runtime restyling works with MapLibre style JSON and with theme presets (light, dark, grayscale, … with per-color overrides). Magic Lane's binary .style files can only be rendered by the WASM engine — Lite logs this and keeps its current style.
What is not supported
These need the WASM engine — use the full @magiclane/maps-sdk if your app depends on them:
- Turn-by-turn navigation — live or simulated guidance, voice instructions
- Offline maps — the content store, map downloads, voice packs
- Real-time traffic — live traffic display and traffic-aware routing
- 3D terrain rendering and 3D scene objects
- Alarms, geofencing, and sensor recording —
AlarmService, driver behavior analysis, activity tracking - Coordinate projections — UTM, MGRS, Gauss-Krüger, BNG conversions
A shared codebase still compiles against either backend for many services: the corresponding classes exist in Lite as typed stubs that throw a descriptive error when called. Symbols outside the subset are not exported at all, so importing them fails at compile time.
API-level reference: the symbol matrix
For a precise, per-symbol answer, the matrix below is generated by comparing the exported types of both packages. Lite 0.3.x mirrors a subset of the @magiclane/maps-sdk 1.2.x surface.
| Status | Meaning |
|---|---|
| ✅ Full | Exported by Lite with every public member of the SDK symbol |
| 🟡 Partial | Exported, but some SDK members are missing (listed in Notes) |
| 🔘 Stub | Imports compile; calling it throws a descriptive error at runtime |
| ❌ Not available | Not exported by Lite — a named import fails to build |
| ➕ Lite extension | Lite-only addition, not present in the full SDK |
A ✅ Full status means the type surface matches. Behavior is functionally equivalent for the documented use cases, but rendering-level details (e.g. exact label placement) can differ between the vector-tile and WASM engines.
479 exported symbols compared — 27 full, 68 partial, 19 stubs, 350 not available, 15 Lite extensions.
| Symbol | Kind | Status | Notes |
|---|---|---|---|
AbstractGeometryImageRenderSettings | class | 🔘 Stub | Imports compile; calls throw a descriptive error |
AddMarkerCollectionOptions | interface | ➕ Lite extension | |
AddressDetailLevel | enum | 🟡 Partial | Missing: static district, static settlement, static postalCode, static streetSection, static streetLane, static streetAlley |
AddressField | enum | 🟡 Partial | Missing: static id, static fromId, static fromString, static toActualString |
AddressInfo | class | 🟡 Partial | Missing: toJson, format, equals, getHashCode, static fromJson |
AnimationType | enum | ✅ Full | |
BikeProfile | enum | ✅ Full | |
BikeProfileElectricBikeProfile | class | 🟡 Partial | Missing: eProfile, toJson, equals, hashCode, static fromJson |
BuildingsVisibility | enum | ✅ Full | |
BuildTerrainProfile | class | 🔘 Stub | Imports compile; calls throw a descriptive error |
CenterOnAreaOptions | interface | ➕ Lite extension | |
CenterOnAreaRectOptions | interface | ➕ Lite extension | |
CenterOnCoordinatesOptions | interface | ➕ Lite extension | |
CircleGeographicArea | class | 🟡 Partial | Missing: fromJson, convert, reset, toJson, boundingBox, centerPoint … +7 more |
Color | class | 🔘 Stub | Imports compile; calls throw a descriptive error |
CommonOverlayId | enum | ✅ Full | |
Conditions | class | 🟡 Partial | Missing: static fromJson |
ContactInfo | class | 🔘 Stub | Imports compile; calls throw a descriptive error |
ContactInfoFieldType | enum | 🟡 Partial | Missing: static bookingUrl, static openingHours, static last, static fromId |
ContentStore | class | 🔘 Stub | Imports compile; calls throw a descriptive error |
ContentStoreItem | class | 🔘 Stub | Imports compile; calls throw a descriptive error |
ContentType | enum | 🟡 Partial | Missing: static viewStyleHighRes, static roadMap, static humanVoice, static computerVoice, static viewStyleLowRes, static unknown |
Coordinates | class | 🟡 Partial | Missing: copy, toJson, azimuth, copyWithMetersOffset, equals, toString … +1 more |
CoverageGeometry | enum | 🟡 Partial | Missing: static fromId |
DataSource | class | 🟡 Partial | Handles are inert (no external position ingestion). Missing: pointerId, start, stop, isStopped, dataSourceType, isDataTypeAvailable … +19 more |
DataType | enum | 🟡 Partial | Missing: static acceleration, static attitude, static battery, static camera, static compass, static magneticField … +9 more |
Daylight | enum | 🟡 Partial | Missing: static fromId |
ElevationSamplesPair | interface | ➕ Lite extension | |
ExternalImageQuality | enum | ✅ Full | |
ExternalInfo | class | 🔘 Stub | Imports compile; calls throw a descriptive error |
ExternalInfoService | class | 🔘 Stub | Imports compile; calls throw a descriptive error |
ExternalPoint | interface | ➕ Lite extension | |
ExternalRendererMarkers | class | 🔘 Stub | Imports compile; calls throw a descriptive error |
GemAnimation | class | 🟡 Partial | Missing: toJson, static fromJson, static none, static linear |
GemError | enum | 🟡 Partial | Missing: static networkCouldntResolveHost, static networkCouldntResolveProxy, static networkCouldntResume, static fromCode, static isErrorCode |
GemIcon | enum | 🟡 Partial | Missing: static fromId |
GemImage | class | 🔘 Stub | Imports compile; calls throw a descriptive error |
GemKit | class | 🟡 Partial | Missing: createScreen, createCanvas, handleMessage, callHeapU8Subarray, callCreateImage, passBinaryDataToWasm … +1 more |
GemMap | class | 🟡 Partial | Missing: labelHoverProbingEnabled |
GenericCategories | class | 🟡 Partial | categories is empty (no bundled catalogue). Missing: static getCategory, static getGenericCategory, static landmarkStoreId, static getPoiCategories |
GenericCategory | class | ➕ Lite extension | |
GeographicArea | interface | 🟡 Partial | Missing: containsCoordinates, centerPoint, type, toJson, fromJson, convert … +2 more |
HighlightOptions | enum | 🔘 Stub | Imports compile; calls throw a descriptive error |
HighlightRenderSettings | class | 🔘 Stub | Imports compile; calls throw a descriptive error |
ImageFileFormat | enum | 🟡 Partial | Missing: static pvrtc, static fromId |
Landmark | class | 🟡 Partial | Missing: pointerId, mapId, contactInfo, getContourGeographicArea, entrances, getExtraImage … +19 more |
LandmarkAddress | type | ➕ Lite extension | |
LandmarkCategory | class | 🔘 Stub | Imports compile; calls throw a descriptive error |
LandmarkList | class | 🟡 Partial | Missing: static fromJsonList |
LandmarkStore | class | 🔘 Stub | Imports compile; calls throw a descriptive error |
LandmarkStoreService | class | 🔘 Stub | Imports compile; calls throw a descriptive error |
Language | class | 🔘 Stub | Imports compile; calls throw a descriptive error |
LocationForecast | class | 🟡 Partial | Missing: toJson, static fromJson |
MapDetails | class | 🔘 Stub | Imports compile; calls throw a descriptive error |
MapViewMarkerCollections | class | 🟡 Partial | Missing: externalRenderers, pointerId, mapId, getCollectionAt, hitTest, indexOf … +8 more |
Marker | class | 🟡 Partial | Missing: pointerId, add, delete, deletePart, area, getPartArea … +10 more |
MarkerCollection | class | 🟡 Partial | Missing: pointerId, mapId, getMarkerAt, getMarkerById, hitTest, save … +5 more |
MarkerCollectionRenderSettings | class | 🟡 Partial | Missing: polylineTexture, polygonTexture, polylineInnerColor, polylineOuterColor, polygonFillColor, polylineInnerSize … +14 more |
MarkerJson | class | 🟡 Partial | Missing: toJson |
MarkerLabelingMode | enum | ✅ Full | |
MarkerMatch | class | 🟡 Partial | Missing: static init |
MarkerRenderSettings | class | 🟡 Partial | Missing: polylineInnerColor, polylineOuterColor, polygonFillColor, polylineInnerSize, polylineOuterSize, imagePointer … +12 more |
MarkerType | enum | ✅ Full | |
MarkerWithRenderSettings | class | 🟡 Partial | Missing: toJson, toBinary |
MinuteCastNowcast | class | ➕ Lite extension | |
NavigationEventType | enum | ✅ Full | |
NavigationInstruction | class | 🟡 Partial | Missing: pointerId, mapId, currentCountryCodeISO, currentStreetName, currentStreetSpeedLimit, driveSide … +41 more |
NavigationInstructionUpdateEvents | enum | 🟡 Partial | Missing: static nextTurnUpdated, static nextTurnImageUpdated, static laneInfoUpdated |
Parameter | class | 🔘 Stub | Imports compile; calls throw a descriptive error |
Path | class | 🟡 Partial | Path.load returns null, Path.toBytes returns an empty buffer. Missing: cloneReverse, cloneStartEnd, exportAs, area, coordinates, wayPoints … +2 more |
PathFileFormat | enum | 🟡 Partial | Missing: static nmea, static latLonTxt, static lonLatTxt, static packedGeometry, static polyline, static fromId … +1 more |
PathPoint | interface | ➕ Lite extension | |
PathsCollection | class | ➕ Lite extension | |
PedestrianProfile | enum | ✅ Full | |
PinData | interface | ➕ Lite extension | |
Point | type | ✅ Full | |
Popup | class | 🟡 Partial | Missing: closeOnClick, _position |
PopupOptions | interface | ✅ Full | |
PositionQuality | enum | 🟡 Partial | Missing: static invalid, static inertial |
PositionService | class | 🟡 Partial | setExternalDataSource is accepted but external streams are not ingested. Missing: addPositionListener, addImprovedPositionListener, removeListener, getPosition, getImprovedPosition, improvedPosition … +3 more |
PredefinedExtraInfoKey | class | ✅ Full | |
ProjectionType | enum | 🟡 Partial | Missing: static w3w, static undefined, static fromId |
PTAlertActivePeriod | class | 🟡 Partial | Missing: static fromParameter, static buildActivePeriods |
PTAlertCause | enum | ✅ Full | |
PTAlertEffect | enum | ✅ Full | |
PTAlertInfo | class | 🟡 Partial | Missing: urlFor, headerTextFor, descriptionTextFor, causeDetailFor, effectDetailFor, static selectTranslation … +3 more |
PTAlertSeverityLevel | enum | ✅ Full | |
PTAlertTranslation | class | 🟡 Partial | Missing: static fromParameter, static buildTranslations |
PTAlgorithmType | enum | 🟡 Partial | Missing: static departure, static arrival |
PTCongestionLevel | enum | ✅ Full | |
PTCrowdingInfo | class | 🟡 Partial | Missing: static fromParameters |
PTOccupancyStatus | enum | ✅ Full | |
PTRoute | class | 🟡 Partial | Data class only — public-transit routing is not computed. Missing: publicTransportFare, publicTransportFrequency, publicTransportRespectsAllConditions, countBuyTicketInformation, getBuyTicketInformation |
PTRouteInstruction | class | 🟡 Partial | Data class only — public-transit routing is not computed. Missing: name, platformCode, arrivalTime, departureTime, hasWheelchairSupport |
PTRouteSegment | class | 🟡 Partial | Data class only — public-transit routing is not computed. Missing: name, platformCode, arrivalTime, departureTime, hasWheelchairSupport, shortName … +19 more |
PTStopScheduleFilter | class | 🟡 Partial | Missing: isEmpty, toRequestArgs |
RealtimeStatus | enum | 🟡 Partial | Missing: static delay, static notAvailable |
RectangleGeographicArea | class | 🟡 Partial | Missing: fromJson, convert, reset, toJson, intersects, contains … +12 more |
RectType | class | 🟡 Partial | Missing: equals, toRectangle, hashCode, static fromJson, static fromRectangle |
RequestWikiInfoParams | interface | 🟡 Partial | Missing: coordinates |
Route | class | 🟡 Partial | Missing: equals, isEVRoute, isPTRoute, isOTRoute, toOTRoute, extraInfo … +2 more |
RouteAlternativesSchema | enum | ✅ Full | |
RouteInstruction | class | 🟡 Partial | Missing: toEVRouteInstruction, toPTRouteInstruction |
RoutePreferences | class | 🟡 Partial | Missing: accurateTrackMatch, algorithmType, alternativeRoutesBalancedSorting, alternativesSchema, buildConnectionsMaxLength, avoidBikingHillFactor … +38 more |
RoutePreferencesOptions | interface | ➕ Lite extension | |
RouteRenderOptions | enum | 🟡 Partial | Missing: static showUserImage, static fromId |
RouteRenderSettings | class | 🟡 Partial | Missing: traveledInnerColor, turnArrowInnerColor, turnArrowOuterColor, turnArrowInnerSz, turnArrowOuterSz, fillColor … +8 more |
RoutesCollection | class | ➕ Lite extension | |
RouteSegment | class | 🟡 Partial | Missing: toEVRouteSegment, toPTRouteSegment, dispose |
RouteTerrainProfile | class | 🟡 Partial | Missing: pointerId, mapId, climbSections, maxElevationDistance, minElevationDistance, roadTypeSections … +4 more |
RouteTransportMode | enum | ✅ Full | |
RoutingService | class | 🟡 Partial | Missing: static setRouteRoadBlock, static resetRouteRoadBlocks, static isCalculationRunning, static getRouteStatus, static transferStatistics, static getEVCarModels |
SceneObjectFileFormat | enum | 🟡 Partial | Missing: static mat, static gltf |
SdkSettings | class | 🔘 Stub | Imports compile; calls throw a descriptive error |
SearchPreferences | class | 🟡 Partial | Missing: estimateMissingHouseNumbers, exactMatch, searchOnlyOnboard, thresholdDistance, easyAccessOnlyResults, landmarks … +2 more |
SearchService | class | 🟡 Partial | Missing: static searchLandmarkDetails, static searchAlongRoute |
TaskHandler | class | ✅ Full | |
TransitType | enum | ✅ Full | |
TruckProfile | class | 🟡 Partial | Missing: toJson, equals, hashCode, static fromJson |
TurnDetails | class | 🟡 Partial | Missing: pointerId, mapId, abstractGeometry, getAbstractGeometryImage, abstractGeometryImg, abstractGeometryImageUid … +4 more |
Warning | class | 🟡 Partial | Missing: static fromJson |
WeatherDurationCoordinates | interface | ✅ Full | |
WeatherProgressListener | interface | ➕ Lite extension | |
WeatherService | class | 🟡 Partial | Missing: static maxCoordinatesPerRequest, static maxDayForDailyForecast, static maxHoursForHourlyForecast, static transferStatistics |
WeatherUnitSystem | type | ✅ Full | |
WikiImage | interface | ✅ Full | |
WikiInfo | interface | ✅ Full | |
WikipediaService | class | ✅ Full | |
WikipediaServiceOptions | interface | ✅ Full |
Not exported by Lite — a named import fails to build (350 symbols)
AbstractGeometry, AbstractGeometryImg, AbstractGeometryItem, Acceleration, ActivationInfo, ActivationService, ActivationStatus, ActivityConfidence, ActivityRecord, ActivityType, ActivityVisibility, AlarmListener, AlarmMonitoredArea, AlarmService, AlarmsList, AlertSeverity, AnchorType, AppTheme, ArrowDirection, ArrowType, Attitude, AudioCategory, AudioOutput, AudioStreamType, AutoUpdateSettings, Battery, BatteryHealth, BatteryState, BNGProjection, Camera, CameraConfiguration, CarProfile, ClimbSection, ColorExtension, ColorLike, Compass, CompassAccuracy, ContentDownloadThreadPriority, ContentStoreItemList, ContentStoreItemStatus, ContentUpdater, ContentUpdaterStatus, CountryData, CursorSelectionCallback, DataInterruptionReason, DataSavePolicy, DataSourceListener, DataSourceType, Debug, DepartureHeading, DriverBehaviour, DriverBehaviourAnalysis, DriveSide, DrivingEvent, DrivingScores, DurationID, EffortType, ElectricBikeProfile, ElectricBikeType, EngineMisc, EntranceLocations, EntranceLocationType, EVCarModel, EVCarModelList, EVChargingConnector, EventDrivenProgressListener, EventHandler, EVProfile, EVRouteInstruction, EVRouteSegment, ExpiredContent, ExternalInfoConfig, ExternalInfoHandler, ExternalPositionData, ExtraInfo, FaceType, FileSortOrder, FileSortType, FileType, FollowPositionMapRotationMode, FollowPositionPreferences, FollowPositionState, FollowPositionStateCallback, FuelType, Gate, GateDecision, GateKeeperService, GateStatus, GemCameraPlayer, GemCameraPlayerStatus, GemConsoleLogLevel, GemDumpSdkLevel, GemImprovedPosition, GemKitPlatform, GemList, GemParameter, GemPosition, GemPositionListener, GemPositionListenerParams, GemSdkNativeBase, GemView, GenericCategoriesId, GenericCategoriesIdExtension, GeographicAreaType, GetWaypointsOptions, GKProjection, Grade, GuidedAddressSearchPreferences, GuidedAddressSearchService, HardwareSpecification, HeartRate, Hemisphere, HoveredMapLabelHighlightedLandmarkCallback, HoveredMapLabelHighlightedOverlayItemCallback, HoveredMapLabelHighlightedTrafficEventCallback, IGemKitPlatform, IGemPositionListener, ImagePixelFormat, ImagePosition, IMapViewListener, Img, ImgBase, ImprovedPositionDefTransportMode, ISOCodeConversions, ISOCodeType, ISOCodeTypeExtension, LAMProjection, LandmarkAlarmsList, LandmarkBrowseSession, LandmarkBrowseSessionSettings, LandmarkFileFormat, LandmarkJson, LandmarkOrder, LandmarkPosition, LandmarkStoreCollection, LandmarkStoreListener, LandmarkStoreType, LandmarkStoreTypeExtension, LaneImageRenderSettings, LaneImg, LayoutImageId, LineType, LocalizationService, Logger, LoggerConfig, LogLevel, LogMark, LogMetadata, LogMetrics, LogUploader, LogUploaderState, LogUploadListener, looksLikeSvg, MagneticField, MapAngleUpdateCallback, MapCamera, MapCoverage, MapDetailsQualityLevel, MapDownloaderService, MapExtendedCapability, MapLanguage, MappedDrivingEvent, MapProviderId, MapSceneObject, MapStatus, MapViewExtensions, MapViewMoveStateChangedCallback, MapViewOverlayCollection, MapViewPathCollection, MapViewPerspective, MapViewPreferences, MapViewRenderedCallback, MapViewRenderInfo, MapViewRoute, MapViewRoutesCollection, MarkerInfo, MarkerMatchType, Metrics, MGRSProjection, MotorVehicleProfile, MountInformation, MoveCallback, NavigationModifiers, NavigationService, NavigationStatus, NextSpeedLimit, NextSpeedLimitStatus, NmeaChunk, OffBoardListener, OnlineRestrictions, Orientation, OrientationType, Origin, OverlayCategory, OverlayInfo, OverlayItem, OverlayItemAlarmsList, OverlayItemPosition, OverlayMutableCollection, Pair, ParameterList, PathMatch, PersistentRoadblockListener, PinchCallback, PinchSwipeCallback, Playback, PlayingStatus, PluggedType, Point3d, Point4d, PolygonGeographicArea, PositionAccuracy, PositionActivity, PositionOrientation, PositionSensorConfiguration, ProductID, ProgressListener, Projection, ProjectionService, Provider, PTAgency, PTAlert, PTBuyTicketInformation, PTRouteInfo, PTRouteType, PTSortingStrategy, PTStop, PTStopInfo, PTStopTime, PTTranslation, PTTrip, PublicTransportImageId, RangeType, Reason, Recorder, RecorderBookmarks, RecorderConfiguration, RecorderStatus, RecordingTransportMode, RecordMetrics, RenderableImg, RenderMapScaleCallback, RenderSettings, Resolution, RestrictionType, RoadInfo, RoadInfoImageRenderSettings, RoadInfoImg, RoadModifier, RoadShieldType, RoadType, RoadTypeSection, RotationRate, RoundTripParameters, RouteBookmarks, RouteBookmarksSortOrder, RouteDisplayMode, RouteInstructionBase, RouteListener, RoutePathAlgorithm, RoutePathAlgorithmFlavor, RoutePreviewBubbleImageId, RouteResultDetails, RouteResultType, RouteStatus, RouteTrafficEvent, RouteType, RouteTypePreferences, ScriptVariant, SdkCapability, SdkImageIds, SdkPredefinedImageId, SearchableParameterList, SenseData, SenseDataFactory, SensorConfiguration, ServiceGroupType, SetMapStyleCallback, ShapeForm, ShapeType, ShoveCallback, SignpostConnectionInfo, SignpostDetails, SignpostImageRenderSettings, SignpostImg, SignpostItem, SignpostItemList, SignpostItemType, SignpostPictogramType, Size, SizeAndFormat, SocialOverlay, SocialReportListener, SocialReportsOverlayInfo, SoundMark, SoundPlayingListener, SoundPlayingPreferences, SoundPlayingService, SoundPlayType, SoundSessionRequestPreferences, SportType, SteepSection, StepType, StringHolder, StyleLayerInfo, SurfaceSection, SurfaceType, SwipeCallback, Temperature, TemperatureLevel, TextMark, TilesCollectionGeographicArea, TimeDistance, TimeDistanceCoordinate, TimezoneResult, TimezoneService, TimeZoneStatus, TouchCallback, TouchGestures, TouchPinchCallback, TrafficAvoidance, TrafficEvent, TrafficEventClass, TrafficEventImpactZone, TrafficEventSeverity, TrafficOnlineRestrictions, TrafficParameters, TrafficPreferences, TrafficService, TrafficUsage, TransferStatistics, TtsLocalizationService, TurnEvent, UnitOfMeasurementAcceleration, UnitSystem, UserRoadblockPathPreviewCoordinate, UTMProjection, ValueType, VehicleRegistration, Version, ViewCameraTransitionStatus, ViewDataTransitionStatus, ViewportResizedCallback, Voice, VoiceType, W3WProjection, WeatherRestService, WeatherRestServiceOptions, WGS84Projection, XyType