@stadiamaps/ferrostar-webcomponents
Version:
Ferrostar is a modern SDK for building turn-by-turn navigation applications.
82 lines • 2.9 kB
TypeScript
import { LitElement, PropertyValues } from 'lit';
import { default as maplibregl, GeolocateControl, LngLatLike, Map } from 'maplibre-gl';
import { NavigationController, RouteAdapter, TripState } from '@stadiamaps/ferrostar';
/**
* A MapLibre-based map component specialized for navigation.
*/
export declare class FerrostarMap extends LitElement {
valhallaEndpointUrl: string;
styleUrl: string;
profile: string;
center: LngLatLike | null;
pitch: number;
zoom: number;
httpClient?: Function;
locationProvider: any;
options: object;
protected _tripState: TripState | null;
/**
* Configures the map on first load.
*
* Note: This will only be invoked if there is no map set
* by the time of the first component update.
* If you provide your own map parameter,
* configuration is left to the caller.
* Be sure to set the DOM parent via the slot as well.
*/
configureMap?: (map: Map) => void;
onNavigationStart?: (map: Map) => void;
onNavigationStop?: (map: Map) => void;
onTripStateChange?: (newState: TripState | null) => void;
/**
* Styles to load which will apply inside the component
* (ex: for MapLibre plugins)
*/
customStyles?: object | null;
/**
* Enables voice guidance via the web speech synthesis API.
* Defaults to false.
*/
useVoiceGuidance: boolean;
/**
* Automatically geolocates the user on map load.
* Defaults to true.
*/
geolocateOnLoad: boolean;
routeAdapter: RouteAdapter | null;
/**
* The MapLibre map instance.
*
* This will be automatically initialized by default
* when the web component does its first update cycle.
* However, you can also explicitly set this value
* when initializing the web component to provide your own map instance.
*
* Note: If you set this property, you MUST also pass the map's container attribute
* via the slot!
*/
map: maplibregl.Map | null;
geolocateControl: GeolocateControl | null;
navigationController: NavigationController | null;
simulatedLocationMarker: maplibregl.Marker | null;
lastSpokenUtteranceId: string | null;
static styles: import('lit').CSSResult[];
constructor();
updated(changedProperties: PropertyValues<this>): void;
firstUpdated(): void;
/**
* Initialize the MapLibre Map control.
*
* This is run by default on firstUpdated,
* but is skipped if the user adds a map of their own.
*/
initMap(): void;
getRoutes(initialLocation: any, waypoints: any): Promise<any>;
startNavigation(route: any, config: any): void;
stopNavigation(): Promise<void>;
private tripStateUpdate;
private onLocationUpdated;
private clearMap;
render(): import('lit-html').TemplateResult<1>;
}
//# sourceMappingURL=ferrostar-map.d.ts.map