UNPKG

nextzen.js

Version:

Javascript SDK for Nextzen products

75 lines (69 loc) 2.59 kB
var L = require('leaflet'); var Control = require('leaflet-routing-machine/src/control'); var Itinerary = require('leaflet-routing-machine/src/itinerary'); var ItineraryBuilder = require('leaflet-routing-machine/src/itinerary-builder'); var MapzenLine = require('lrm-mapzen/src/mapzenLine'); var Plan = require('leaflet-routing-machine/src/plan'); var MapzenWaypoint = require('lrm-mapzen/src/mapzenWaypoint'); var MapzenFormatter = require('lrm-mapzen/src/mapzenFormatter'); var ErrorControl = require('leaflet-routing-machine/src/error-control'); var GeocoderElement = require('leaflet-routing-machine/src/geocoder-element'); var MapzenControlGeocoder = require('leaflet-control-geocoder/src/geocoders/mapzen'); var MapzenRouter = require('lrm-mapzen/src/mapzenRouter'); var APIKeyCheck = require('./apiKeyCheck'); module.exports = { Control: Control, Itinerary: Itinerary, ItineraryBuilder: ItineraryBuilder, Line: MapzenLine, Plan: Plan, Waypoint: MapzenWaypoint, MapzenRouter: MapzenRouter, Formatter: MapzenFormatter, GeocoderElement: GeocoderElement }; module.exports.routing = { control: function (_options) { var defaultOptions = { formatter: new MapzenFormatter(), routeLine: function (route, options) { return new MapzenLine(route, options); }, summaryTemplate: '<div class="routing-info {costing}">{distance}, {time}</div>' }; var options = L.extend({}, defaultOptions, _options); return new Control(options); }, itinerary: function (options) { return Itinerary(options); }, itineraryBuilder: function (options) { return new ItineraryBuilder(options); }, line: function (route, options) { return new MapzenLine(route, options); }, plan: function (waypoints, options) { return new Plan(waypoints, options); }, waypoint: function (latLng, name, options) { return new MapzenWaypoint(latLng, name, options); }, formatter: function (options) { return new MapzenFormatter(options); }, router: function (key, options) { var params = APIKeyCheck.getKeyAndOptions(key, options); return new MapzenRouter(params.key, params.options); }, geocoderElement: function (wp, i, nWps, plan) { return new GeocoderElement(wp, i, nWps, plan); }, geocoder: function (key, options) { var params = APIKeyCheck.getKeyAndOptions(key, options); return new MapzenControlGeocoder.class(params.key, params.options); // eslint-disable-line }, errorControl: function (routingControl, options) { return new ErrorControl(routingControl, options); } };