react-native-anavi
Version:
react native amap navigation component, Android + iOS
46 lines • 1.79 kB
JavaScript
import { number, func, shape, string, oneOfType, oneOf, bool, object, arrayOf } from 'prop-types';
export const LatLngPropType = shape({
latitude: number.isRequired,
longitude: number.isRequired
});
export const NaviLatLngPropType = shape({
latitude: number.isRequired,
longitude: number.isRequired
});
export const NaviPoiPropType = shape({
name: string.isRequired,
coordinate: LatLngPropType.isRequired,
poiId: string.isRequired,
direction: number
});
export const DriveNaviPointPropType = oneOfType([string.isRequired, NaviLatLngPropType.isRequired, NaviPoiPropType.isRequired, arrayOf(string), arrayOf(NaviLatLngPropType), arrayOf(NaviPoiPropType)]);
export const RideNaviPointPropType = oneOfType([NaviLatLngPropType.isRequired, NaviPoiPropType.isRequired]);
export const WalkNaviPointPropType = oneOfType([NaviLatLngPropType.isRequired, NaviPoiPropType.isRequired, arrayOf(NaviLatLngPropType).isRequired]);
export const NaviShowModePropType = oneOf([1, 2, 3]);
export const NaviTrackingModePropType = oneOf([0, 1]);
export const RegionPropType = shape({
latitude: number.isRequired,
longitude: number.isRequired,
latitudeDelta: number.isRequired,
longitudeDelta: number.isRequired
});
export const PointPropType = shape({
x: number.isRequired,
y: number.isRequired
});
export const LocationStylePropType = shape({
image: oneOfType([object, number]),
fillColor: string,
strokeColor: string,
strokeWidth: number,
locationDotBgColor: string,
locationDotFillColor: string,
enablePulseAnnimation: bool,
showsHeadingIndicator: bool,
showsAccuracyRing: bool
});
export const mapEventsPropType = events => events.reduce((props, event) => {
props[event.replace(/^on/, 'onAMap')] = func;
return props;
}, {});
//# sourceMappingURL=prop-types.js.map