@vietmap/vietmap-react-native-navigation
Version:
VietMap turn-by-turn navigation for React Native.
80 lines (75 loc) • 1.95 kB
text/typescript
/** @type {[number, number]}
* Provide an array with longitude and latitude [$longitude, $latitude]
*/
import { NavigationProgressData } from "./models/route_progress_data";
import { RouteData } from "./models/route_data";
type OnLocationChangeEvent = {
nativeEvent?: {
latitude: number;
longitude: number;
};
};
type OnErrorEvent = {
nativeEvent?: {
message?: string;
};
};
type LocationData = {
nativeEvent: {
data: {
latitude: number;
longitude: number;
x?: string | null;
y?: string | null;
};
};
};
type NavigationPadding = {
left: number;
top: number;
right: number;
bottom: number;
};
type InitialLatLngZoom = {
lat: number;
long: number;
zoom: number;
};
interface MilestoneData {
nativeEvent: {
data: {
instruction: string;
};
eventType: string;
};
}
export interface IVietMapNavigationProps {
baseUrl?: string;
apiKey: string;
apiKeyAlert?: string;
apiIDAlert?: string;
shouldSimulateRoute?: boolean;
initialLatLngZoom?: InitialLatLngZoom;
navigationZoomLevel?: number;
navigationTiltAnchor?: number;
navigationPadding?: NavigationPadding;
/// This is React component style, not a native style
style?: object;
onRouteProgressChange?: (event: NavigationProgressData) => void;
onCancelNavigation?: () => void;
onRouteBuilt?: (event: RouteData) => void;
onMapLongClick?: (event: LocationData) => void;
onMapMove?: () => void;
onMapMoveEnd?: () => void;
onNavigationFinished?: () => void;
onNavigationCancelled?: () => void;
onNavigationRunning?: () => void;
onRouteBuildFailed?: () => void;
onRouteBuilding?: () => void;
onMapReady?: () => void;
onMilestoneEvent?: (event: MilestoneData) => void;
userOffRoute?: (event: LocationData) => void;
onArrival?: (event: LocationData) => void;
onNewRouteSelected?: (event: RouteData) => void;
onMapClick?: (event: LocationData) => void;
}