UNPKG

react-native-anavi

Version:

react native amap navigation component, Android + iOS

282 lines (281 loc) 14.4 kB
import React from 'react'; import { ImageSourcePropType } from 'react-native'; import type { NaviLatLng, NaviPoi, NaviLocation, NaviCalculateRouteResult, NaviType, NaviShowMode, NaviTrackingMode } from '../types'; import Component from '../map-view/component'; export declare type WalkNaviPointProp = NaviLatLng | NaviPoi | Array<NaviLatLng | NaviPoi>; export interface WalkNaviViewProp { /** * 导航起点,不指定则从当前位置开始导航 */ from?: WalkNaviPointProp; /** * 导航目的地 */ to: WalkNaviPointProp; /** * 导航策略 */ strategy?: number; /** * 导航UI是否可见(默认可见) */ layoutVisible?: boolean; /** * 指南针图标否在导航界面显示,默认显示。 */ compassVisible?: boolean; /** * 起始终点线颜色 */ leaderLineColor?: string; /** * 导航状态下屏幕是否常亮 */ screenAlwaysBright?: boolean; /** * 是否显示路线全览按钮 */ browseButtonVisible?: boolean; /** * 更多按钮是否显示 */ moreButtonVisible?: boolean; /** * 比例尺是否显示 */ scaleVisible?: boolean; /** * 转向箭头是否显示 */ turnArrowVisible?: boolean; /** * 设置锁车下地图倾角 倾角为0时地图模式是2D模式。 */ tilt?: number; carMarkerIcon?: ImageSourcePropType; startMarkerIcon?: ImageSourcePropType; endMarkerIcon?: ImageSourcePropType; fourCornersIcon?: ImageSourcePropType; /** * 设置导航界面跟随模式 */ trackingMode?: NaviTrackingMode; /** * 导航显示模式 */ showMode?: NaviShowMode; /** * 导航组件初始化失败时分发 */ onInitNaviFailure?: () => void; /** * 导航组件初始化成功时分发 */ onInitNaviSuccess?: () => void; /** * 开始导航时分发 */ onStartNavi?: (event: { type: number; }) => void; /** * 位置信息发生变化时分发 */ onLocationChange?: (event: NaviLocation) => void; /** * 导航语音播报时分发 */ onGetNavigationText?: (event: { text: string; }) => void; /** * 模拟导航结束时分发 */ onEndEmulatorNavi?: () => void; /** * 路径计算失败时分发 */ onCalculateRouteFailure?: (event: NaviCalculateRouteResult) => void; /** * 路径计算成功时分发 */ onCalculateRouteSuccess?: (event: NaviCalculateRouteResult) => void; /** * 响铃时分发 */ onPlayRing?: (event: { type: number; }) => void; /** * GPS信号改变时分发 */ onGpsStatusChanged?: (event: { status: number; }) => void; /** * 导航设置发生改变时分发 */ onNaviSettingChanged?: () => void; /** * 导航取消时分发 */ onNaviCancel?: () => void; /** * 导航完成时分发 */ onNaviComplete?: () => void; /** * 地图加载完成时分发 */ onNaviViewLoaded?: () => void; /** * 点击导航返回按钮时分发 */ onNaviBackClick?: () => void; /** * 点击全览按钮时分发 */ onScanViewButtonClick?: () => void; /** * 导航地图模式改变时分发(锁车、全览、普通) */ onNaviMapModeChanged?: (event: { mode: number; }) => void; /** * 地图类型发生改变时分发(白天、黑夜模式) */ onNaviMapViewModeChanged?: (event: { type: number; }) => void; /** * 导航界面跟随模式改变后分发 */ onNaviMapViewTrackingModeChanged?: (event: { mode: number; }) => void; /** * 地图锁定时分发 */ onLockMap?: (event: { isLock: boolean; }) => void; } export declare class WalkNaviView extends Component<WalkNaviViewProp> { static propTypes: { from: import("prop-types").Requireable<import("prop-types").InferProps<{ latitude: import("prop-types").Validator<number>; longitude: import("prop-types").Validator<number>; }> | import("prop-types").InferProps<{ name: import("prop-types").Validator<string>; coordinate: import("prop-types").Validator<import("prop-types").InferProps<{ latitude: import("prop-types").Validator<number>; longitude: import("prop-types").Validator<number>; }>>; poiId: import("prop-types").Validator<string>; direction: import("prop-types").Requireable<number>; }> | (import("prop-types").InferProps<{ latitude: import("prop-types").Validator<number>; longitude: import("prop-types").Validator<number>; }> | null | undefined)[]>; to: import("prop-types").Validator<import("prop-types").InferProps<{ latitude: import("prop-types").Validator<number>; longitude: import("prop-types").Validator<number>; }> | import("prop-types").InferProps<{ name: import("prop-types").Validator<string>; coordinate: import("prop-types").Validator<import("prop-types").InferProps<{ latitude: import("prop-types").Validator<number>; longitude: import("prop-types").Validator<number>; }>>; poiId: import("prop-types").Validator<string>; direction: import("prop-types").Requireable<number>; }> | (import("prop-types").InferProps<{ latitude: import("prop-types").Validator<number>; longitude: import("prop-types").Validator<number>; }> | null | undefined)[]>; strategy: import("prop-types").Requireable<number>; layoutVisible: import("prop-types").Requireable<boolean>; compassVisible: import("prop-types").Requireable<boolean>; leaderLineColor: import("prop-types").Requireable<string>; screenAlwaysBright: import("prop-types").Requireable<boolean>; browseButtonVisible: import("prop-types").Requireable<boolean>; moreButtonVisible: import("prop-types").Requireable<boolean>; scaleVisible: import("prop-types").Requireable<boolean>; turnArrowVisible: import("prop-types").Requireable<boolean>; trackingMode: import("prop-types").Requireable<number>; tilt: import("prop-types").Requireable<number>; carMarkerIcon: import("prop-types").Requireable<React.ReactText>; startMarkerIcon: import("prop-types").Requireable<React.ReactText>; endMarkerIcon: import("prop-types").Requireable<React.ReactText>; fourCornersIcon: import("prop-types").Requireable<React.ReactText>; showMode: import("prop-types").Requireable<number>; hitSlop?: import("prop-types").Validator<import("react-native").Insets | undefined> | undefined; onLayout?: import("prop-types").Validator<((event: import("react-native").LayoutChangeEvent) => void) | undefined> | undefined; pointerEvents?: import("prop-types").Validator<"box-none" | "none" | "box-only" | "auto" | undefined> | undefined; removeClippedSubviews?: import("prop-types").Validator<boolean | undefined> | undefined; style?: import("prop-types").Validator<import("react-native").StyleProp<import("react-native").ViewStyle>> | undefined; testID?: import("prop-types").Validator<string | undefined> | undefined; nativeID?: import("prop-types").Validator<string | undefined> | undefined; collapsable?: import("prop-types").Validator<boolean | undefined> | undefined; needsOffscreenAlphaCompositing?: import("prop-types").Validator<boolean | undefined> | undefined; renderToHardwareTextureAndroid?: import("prop-types").Validator<boolean | undefined> | undefined; focusable?: import("prop-types").Validator<boolean | undefined> | undefined; shouldRasterizeIOS?: import("prop-types").Validator<boolean | undefined> | undefined; isTVSelectable?: import("prop-types").Validator<boolean | undefined> | undefined; hasTVPreferredFocus?: import("prop-types").Validator<boolean | undefined> | undefined; tvParallaxProperties?: import("prop-types").Validator<import("react-native").TVParallaxProperties | undefined> | undefined; tvParallaxShiftDistanceX?: import("prop-types").Validator<number | undefined> | undefined; tvParallaxShiftDistanceY?: import("prop-types").Validator<number | undefined> | undefined; tvParallaxTiltAngle?: import("prop-types").Validator<number | undefined> | undefined; tvParallaxMagnification?: import("prop-types").Validator<number | undefined> | undefined; onStartShouldSetResponder?: import("prop-types").Validator<((event: import("react-native").GestureResponderEvent) => boolean) | undefined> | undefined; onMoveShouldSetResponder?: import("prop-types").Validator<((event: import("react-native").GestureResponderEvent) => boolean) | undefined> | undefined; onResponderEnd?: import("prop-types").Validator<((event: import("react-native").GestureResponderEvent) => void) | undefined> | undefined; onResponderGrant?: import("prop-types").Validator<((event: import("react-native").GestureResponderEvent) => void) | undefined> | undefined; onResponderReject?: import("prop-types").Validator<((event: import("react-native").GestureResponderEvent) => void) | undefined> | undefined; onResponderMove?: import("prop-types").Validator<((event: import("react-native").GestureResponderEvent) => void) | undefined> | undefined; onResponderRelease?: import("prop-types").Validator<((event: import("react-native").GestureResponderEvent) => void) | undefined> | undefined; onResponderStart?: import("prop-types").Validator<((event: import("react-native").GestureResponderEvent) => void) | undefined> | undefined; onResponderTerminationRequest?: import("prop-types").Validator<((event: import("react-native").GestureResponderEvent) => boolean) | undefined> | undefined; onResponderTerminate?: import("prop-types").Validator<((event: import("react-native").GestureResponderEvent) => void) | undefined> | undefined; onStartShouldSetResponderCapture?: import("prop-types").Validator<((event: import("react-native").GestureResponderEvent) => boolean) | undefined> | undefined; onMoveShouldSetResponderCapture?: import("prop-types").Validator<((event: import("react-native").GestureResponderEvent) => boolean) | undefined> | undefined; onTouchStart?: import("prop-types").Validator<((event: import("react-native").GestureResponderEvent) => void) | undefined> | undefined; onTouchMove?: import("prop-types").Validator<((event: import("react-native").GestureResponderEvent) => void) | undefined> | undefined; onTouchEnd?: import("prop-types").Validator<((event: import("react-native").GestureResponderEvent) => void) | undefined> | undefined; onTouchCancel?: import("prop-types").Validator<((event: import("react-native").GestureResponderEvent) => void) | undefined> | undefined; onTouchEndCapture?: import("prop-types").Validator<((event: import("react-native").GestureResponderEvent) => void) | undefined> | undefined; accessible?: import("prop-types").Validator<boolean | undefined> | undefined; accessibilityActions?: import("prop-types").Validator<readonly Readonly<{ name: import("react-native").AccessibilityActionName; label?: string | undefined; }>[] | undefined> | undefined; accessibilityLabel?: import("prop-types").Validator<string | undefined> | undefined; accessibilityRole?: import("prop-types").Validator<"image" | "none" | "button" | "link" | "search" | "keyboardkey" | "text" | "adjustable" | "imagebutton" | "header" | "summary" | "alert" | "checkbox" | "combobox" | "menu" | "menubar" | "menuitem" | "progressbar" | "radio" | "radiogroup" | "scrollbar" | "spinbutton" | "switch" | "tab" | "tablist" | "timer" | "toolbar" | undefined> | undefined; accessibilityState?: import("prop-types").Validator<import("react-native").AccessibilityState | undefined> | undefined; accessibilityHint?: import("prop-types").Validator<string | undefined> | undefined; accessibilityValue?: import("prop-types").Validator<import("react-native").AccessibilityValue | undefined> | undefined; onAccessibilityAction?: import("prop-types").Validator<((event: import("react-native").AccessibilityActionEvent) => void) | undefined> | undefined; accessibilityComponentType?: import("prop-types").Validator<"none" | "button" | "radiobutton_checked" | "radiobutton_unchecked" | undefined> | undefined; accessibilityLiveRegion?: import("prop-types").Validator<"none" | "polite" | "assertive" | undefined> | undefined; importantForAccessibility?: import("prop-types").Validator<"auto" | "yes" | "no" | "no-hide-descendants" | undefined> | undefined; accessibilityElementsHidden?: import("prop-types").Validator<boolean | undefined> | undefined; accessibilityTraits?: import("prop-types").Validator<"image" | "none" | "button" | "link" | "search" | "text" | "adjustable" | "header" | "summary" | "selected" | "plays" | "key" | "disabled" | "frequentUpdates" | "startsMedia" | "allowsDirectInteraction" | "pageTurn" | import("react-native").AccessibilityTrait[] | undefined> | undefined; accessibilityViewIsModal?: import("prop-types").Validator<boolean | undefined> | undefined; onAccessibilityEscape?: import("prop-types").Validator<(() => void) | undefined> | undefined; onAccessibilityTap?: import("prop-types").Validator<(() => void) | undefined> | undefined; onMagicTap?: import("prop-types").Validator<(() => void) | undefined> | undefined; accessibilityIgnoresInvertColors?: import("prop-types").Validator<boolean | undefined> | undefined; }; static defaultProps: { strategy: number; }; startNavi(type: NaviType, speed?: number): void; stopNavi(): void; pauseNavi(): void; resumeNavi(): void; startGPS(time?: number, dis?: number): void; stopGPS(): void; nativeComponent: string; render(): JSX.Element; }