mappls-map-react-native
Version:
A Mappls GL react native module for creating custom maps
313 lines (280 loc) • 10.9 kB
text/typescript
import { NativeModules } from "react-native";
import NativeRCTMGLRestApiModule from "../../../specs/NativeRCTMGLRestApiModule";
import type { AutoSuggestRequest,
CategoryMasterRequest,
DirectionRefreshRequest,
DirectionRequest,
DistanceRequest,
FeedbackRequest,
FuelCostRequest,
GeoCodeRequest,
HateOsNearbyRequest,
MapplsGeoAnalyticsListRequest,
MapplsWhiteListRequest,
NearbyReportsRequest,
NearbyRequest,
PlaceDetailsRequest,
POIAlongRouteRequest,
ReverseGeocodeRequest,
RoadTrafficDetailRequest,
RouteReportSummaryRequest,
TextSearchRequest,
TripCostEstimationRequest,
WeatherRequest} from "./RestApiRequest"
import type { AutoSuggestAtlasResponse } from "./models/AutoSuggestModel";
import type { PlaceResponse } from "./models/ReverseGeoCodeModel";
import type { GeoCodeResponse } from "./models/GeoCodeModel";
import type { PlaceDetailResponse } from "./models/PlaceDetailResponse";
import type { NearbyAtlasResponse } from "./models/NearbyModel";
import type { DirectionsResponse, DirectionsRoute } from "./models/DirectionModel";
import type { DistanceResponse } from "./models/DistanceModel";
import type { POIAlongRouteResponse } from "./models/POIAlongRouteResponse";
import type { GeoAnalyticsListResponse } from "./models/GeoAnalyticsModel";
import type { RoadTrafficDetailsResponse } from "./models/RoadTrafficDetailModel";
import type { NearbyReportResponse } from "./models/NearbyReportsModel";
import type { WeatherResponse } from "./models/WeatherResponseModel";
import type { TripCostEstimationResponse } from "./models/TripCostEstimationModel";
import type { ReportMasterModel } from "./models/ReportMasterModel";
import type { RouteReportSummaryResponse } from "./models/RouteReportSummaryModel";
import type { FuelCostModel } from "./models/FuelCostModel";
const Api = NativeRCTMGLRestApiModule == null ? Object.create(NativeModules.MGLRestApiModule): NativeRCTMGLRestApiModule;
if(NativeRCTMGLRestApiModule != null) {
Api.AutoSuggestCriteria = NativeRCTMGLRestApiModule?.getConstants()?.AutoSuggestCriteria
Api.GeoCodingCriteria = NativeRCTMGLRestApiModule?.getConstants()?.GeoCodingCriteria
Api.NearbyCriteria = NativeRCTMGLRestApiModule?.getConstants()?.NearbyCriteria
Api.DirectionsCriteria = NativeRCTMGLRestApiModule?.getConstants()?.DirectionsCriteria
Api.POICriteria = NativeRCTMGLRestApiModule?.getConstants()?.POICriteria
Api.GeoAnalyticsType = NativeRCTMGLRestApiModule?.getConstants()?.GeoAnalyticsType
}
const autoSuggest = async(params: AutoSuggestRequest): Promise<AutoSuggestAtlasResponse> => {
const autoSuggestResponse: string = await Api.autoSuggest(params);
return JSON.parse(autoSuggestResponse)
}
const reverseGeocode = async(params: ReverseGeocodeRequest): Promise<PlaceResponse> => {
const revGeoCoderesponse: string = await Api.reverseGeocode(params);
return JSON.parse(revGeoCoderesponse)
}
const geocode = async(params: GeoCodeRequest): Promise<GeoCodeResponse> => {
const geoCodeResponse: string = await Api.geocode(params);
return JSON.parse(geoCodeResponse)
}
const textSearch = async(params: TextSearchRequest): Promise<AutoSuggestAtlasResponse> => {
const textSearchResponse: string = await Api.textSearch(params);
return JSON.parse(textSearchResponse)
}
const placeDetail = async(params: PlaceDetailsRequest): Promise<PlaceDetailResponse> => {
const placeDetailResponse: string = await Api.placeDetail(params);
return JSON.parse(placeDetailResponse);
}
const nearby = async (params: NearbyRequest): Promise<NearbyAtlasResponse> => {
const nearbyResponse: string = await Api.nearby(params);
return JSON.parse(nearbyResponse);
}
const direction = async (params: DirectionRequest): Promise<DirectionsResponse> => {
const directionResponse: string = await Api.direction(params);
return JSON.parse(directionResponse);
}
const directionRefresh = async (params: DirectionRefreshRequest): Promise<DirectionsRoute> => {
const directionResponse: string = await Api.directionRefresh(params);
return JSON.parse(directionResponse);
}
const distance = async (params: DistanceRequest): Promise<DistanceResponse> => {
const distanceResponse: string = await Api.distance(params);
return JSON.parse(distanceResponse);
}
const POIAlongRoute = async (params: POIAlongRouteRequest): Promise<POIAlongRouteResponse> => {
const poiRouteResponse = await Api.POIAlongRoute(params);
return JSON.parse(poiRouteResponse);
}
const feedback = async (params: FeedbackRequest): Promise<string> => {
const feedbackResponse = await Api.feedback(params);
return JSON.parse(feedbackResponse);
}
const geoAnalyticsList = async(params: MapplsGeoAnalyticsListRequest): Promise<GeoAnalyticsListResponse> => {
const geoAnalyticsResponse = await Api.geoAnalyticsList(params);
return JSON.parse(geoAnalyticsResponse);
}
const hateosnearby = async (params: HateOsNearbyRequest): Promise<NearbyAtlasResponse> => {
const hateosNearby = await Api.hateosnearby(params);
return JSON.parse(hateosNearby);
}
const roadTrafficDetail = async (params: RoadTrafficDetailRequest): Promise<RoadTrafficDetailsResponse> => {
const roadTrafficDetailResponse = await Api.roadTrafficDetail(params);
return JSON.parse(roadTrafficDetailResponse);
}
const generateOtp = async (userHandle:string):Promise<string> => {
return await Api.generateOtp(userHandle);
}
const whiteList = async (params: MapplsWhiteListRequest): Promise<void> => {
await Api.whiteList(params);
return;
}
const nearbyReports = async (params: NearbyReportsRequest): Promise<NearbyReportResponse> => {
const nearbyReportsResponse = await Api.nearbyReports(params);
return JSON.parse(nearbyReportsResponse)
}
const weather = async (params: WeatherRequest): Promise<WeatherResponse> => {
const weatherResponse = await Api.weather(params);
return JSON.parse(weatherResponse)
}
const tripCostEstimation = async (params: TripCostEstimationRequest): Promise<TripCostEstimationResponse> => {
const estimationResponse = await Api.tripCostEstimation(params);
return JSON.parse(estimationResponse)
}
const eventCategoryMaster = async (params: CategoryMasterRequest): Promise<ReportMasterModel> => {
const categoryMasterResponse = await Api.eventCategoryMaster(params);
return JSON.parse(categoryMasterResponse)
}
const routeReportSummary = async (params: RouteReportSummaryRequest): Promise<RouteReportSummaryResponse> => {
const routeReportSummaryResponse = await Api.routeReportSummary(params);
return JSON.parse(routeReportSummaryResponse)
}
const fuelCost = async (params: FuelCostRequest): Promise<FuelCostModel> => {
const routeReportSummaryResponse = await Api.fuelCost(params);
return JSON.parse(routeReportSummaryResponse)
}
interface AutoSuggestCritriaType {
POD_CITY: string;
POD_DISTRICT: string;
POD_LOCALITY: string;
POD_STATE: string;
POD_SUB_DISTRICT: string;
POD_SUB_LOCALITY: string;
POD_SUB_SUB_LOCALITY: string;
POD_VILLAGE: string;
POD_POI: string;
}
interface GeoCodingCriteriaType {
BIAS_DEFAULT: number;
BIAS_RURAL: number;
BIAS_URBAN: number;
POD_CITY: string;
POD_DISTRICT: string;
POD_HOUSE_NAME: string;
POD_HOUSE_NUMBER: string;
POD_LOCALITY: string;
POD_PINCODE: string;
POD_POI: string;
POD_STATE: string;
POD_STREET: string;
POD_SUB_DISTRICT: string;
POD_SUB_LOCALITY: string;
POD_SUB_SUB_LOCALITY: string;
POD_VILLAGE: string;
}
interface NearbyCriteriaType {
DISTANCE_ASCENDING: string;
DISTANCE_DESCENDING: string;
NAME_ASCENDING: string;
NAME_DESCENDING: string;
DISTANCE: string;
IMPORTANCE: string;
POD_SUB_LOCALITY: string;
POD_LOCALITY: string;
POD_CITY: string;
POD_STATE: string;
}
interface DirectionsCriteriaType {
// EXCLUDE_TUNNEL: string;
// EXCLUDE_RESTRICTED: string;
EXCLUDE_MOTORWAY: string;
EXCLUDE_FERRY: string;
EXCLUDE_TOLL: string;
ANNOTATION_SPEED: string;
ANNOTATION_NODES: string;
ANNOTATION_DURATION: string;
ANNOTATION_DISTANCE: string;
ANNOTATION_BASE_DURATION: string;
ANNOTATION_CONGESTION: string;
ANNOTATION_SPEED_LIMIT: string;
ANNOTATION_TOLL_ROAD: string;
OVERVIEW_FALSE: string;
OVERVIEW_SIMPLIFIED: string;
OVERVIEW_FULL: string;
PROFILE_WALKING: string;
PROFILE_TRUCKING: string;
PROFILE_BIKING: string;
PROFILE_DRIVING: string;
RESOURCE_ROUTE_TRAFFIC: string;
RESOURCE_ROUTE: string;
RESOURCE_ROUTE_ETA: string;
RESOURCE_DISTANCE: string;
RESOURCE_DISTANCE_ETA: string;
RESOURCE_DISTANCE_TRAFFIC: string;
RESOURCE_ROUTE_PREDICTIVE: string;
RESOURCE_DISTANCE_PREDICTIVE: string;
// APPROACH_CURB: string;
// APPROACH_UNRESTRICTED: string;
GEOMETRY_POLYLINE:string;
GEOMETRY_POLYLINE6: string;
GEOMETRY_COORDINATES: string;
IMPERIAL: string;
METRIC: string;
// SOURCE_ANY: string;
// SOURCE_FIRST: string;
ROUTE_TYPE_OPTIMAL: number;
ROUTE_TYPE_SHORTEST: number;
DISTANCE_ROUTE_TYPE_OPTIMAL: number;
DISTANCE_ROUTE_TYPE_SHORTEST: number;
SPECIFIED_ARRIVAL: number;
SPECIFIED_DEPARTURE: number;
DATE_TIME_SPECIFIED: number;
DATE_TIME_CURRENT: number;
}
interface POICriteriaType {
GEOMETRY_BASE64: string;
GEOMETRY_POLYLINE5: string;
GEOMETRY_POLYLINE6: string;
GEOMETRY_COORDINATES: string;
}
interface IGeoAnalyticsType {
STATE: string;
DISTRICT: string;
SUB_DISTRICT: string;
WARD: string;
LOCALITY: string;
PANCHAYAT: string;
BLOCK: string;
PINCODE: string;
TOWN: string;
CITY: string;
VILLAGE: string;
SUB_LOCALITY: string;
SUB_SUB_LOCALITY: string;
}
const AutoSuggestCriteria: AutoSuggestCritriaType = Api.AutoSuggestCriteria;
const GeoCodingCriteria: GeoCodingCriteriaType = Api.GeoCodingCriteria;
const NearbyCriteria: NearbyCriteriaType = Api.NearbyCriteria;
const DirectionsCriteria: DirectionsCriteriaType = Api.DirectionsCriteria;
const POICriteria: POICriteriaType = Api.POICriteria;
const GeoAnalyticsType: IGeoAnalyticsType = Api.GeoAnalyticsType;
export const RestApi = {
autoSuggest,
reverseGeocode,
geocode,
textSearch,
placeDetail,
nearby,
direction,
directionRefresh,
distance,
POIAlongRoute,
feedback,
geoAnalyticsList,
hateosnearby,
roadTrafficDetail,
generateOtp,
whiteList,
nearbyReports,
weather,
tripCostEstimation,
eventCategoryMaster,
routeReportSummary,
fuelCost,
AutoSuggestCriteria,
GeoCodingCriteria,
NearbyCriteria,
DirectionsCriteria,
POICriteria,
GeoAnalyticsType
}