UNPKG

mapnests-browser-sdk

Version:

TypeScript SDK for Mapnests API integration (Distance Matrix, Distance Matrix Details, Geocode, Reverse Geocode)

36 lines (35 loc) 1.48 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.BASE_URL = void 0; exports.buildURLFromJSON = buildURLFromJSON; exports.BASE_URL = 'https://engine.mapnests.com'; function buildURLFromJSON(label, baseUrl, jsonStr) { const data = JSON.parse(jsonStr); switch (label) { case 'reverse': { return `${baseUrl}/geomap/api/v1/reverse?lat=${data.Lat}&lon=${data.Lon}`; } case 'distanceMatrix': case 'distanceMatrixDetails': { const fromLat = data.OriginLat; const fromLon = data.OriginLon; const toLat = data.DestLat; const toLon = data.DestLon; const mode = encodeURIComponent(data.Mode); const path = label === 'distanceMatrixDetails' ? 'distancematrixdetails' : 'distancematrix'; return `${baseUrl}/routemap/api/v1/routes/${path}?fromLat=${fromLat}&fromLong=${fromLon}&toLat=${toLat}&toLong=${toLon}&mode=${mode}`; } case 'pairwiseRouteSummary': { return `${baseUrl}/routemap/api/v1/routes/pairwise-summary`; } case 'multiSourceSummary': { return `${baseUrl}/routemap/api/v1/routes/multi-source-summary`; } case 'search': { const query = encodeURIComponent(data.Query); return `${baseUrl}/geomap/api/v1/search?q=${query}`; } default: throw new Error(`unsupported label: ${label}`); } }