{"version":3,"sources":["webpack:///./src/client/default/js/components/WoosmapStaticMap.js","webpack:///./src/client/default/js/base/baseComponent.js","webpack:///./src/client/default/js/libs/Axios.js","webpack:///./src/client/default/js/utilities/woosmapUtils.js","webpack:///./src/client/default/js/classes/woosmap/woosmapClass.js"],"names":["PIN_SIZE","height","width","WoosmapStaticMap","element","initWoosmap","this","$options","wmkey","defaultMarker","url","pin","scaledSize","woosmap","Woosmap","$el","WOOSMAP_KEY","markers","DEFAULT_MARKER","geolocation","config","center","lat","lng","zoom","gestureHandling","disableDefaultUI","disableTilt","BaseComponent","_componentElement","setAttribute","_checkMessages","compOptions","options","dataset","Object","keys","filter","entry","includes","forEach","optionValue","cleanEntry","cleanOptionKey","JSON","parse","replace","convertType","deepFreeze","getAttribute","events","cb","elements","Bean","on","e","stopPropagation","one","off","fire","container","message","_loading","EMIT","CUSTOM_MESSAGES","LOADER_EVENTS","show","document","body","error","icon","setTimeout","hide","option","optionReturn","key","str","charAt","toLocaleLowerCase","slice","BaseGiaComponent","axios","Axios","create","transformRequest","data","headers","skiptransform","entries","formData","FormData","value","append","recaptchaToken","a","googleRecaptchaAction","googleRecaptchaClientSide","Promise","resolve","reject","window","grecaptcha","ready","execute","action","then","token","defaults","common","interceptors","request","use","googleRecaptchaToken","response","commonInterface","CommonInterface","pushState","replaceState","history","redirectUrl","location","href","hrefUrl","paybackParam","isPaybackPopupActive","indexOf","trialParam","subscriptionTrialModalNotEligibleAfterLogin","fromEntries","res","notificationPush","showNotification","pushPromoPre","length","orderedPush","sort","promoA","promoB","rank","notifications","pushPromoPost","CancelToken","get","post","all","spread","initWoosmapScript","woosmapKey","script","createElement","src","defer","initMap","event","Event","dispatchEvent","head","appendChild","initWoosmapMultiSearchScript","onload","result","success","ipCoord","latitude","longitude","console","distanceMatrix","origin","destinations","map","destination","rows","autocompleteLocalties","searchInputId","autocompleteOptions","localities","Autocomplete","autocompleteMultisearch","multisearch","apiOrder","fallbackBreakpoint","params","components","country","language","types","address","places","getKmFromDistanceText","distanceText","distancePart","split","distanceValue","cm","m","km","toLowerCase","reverseGeocoding","getPositionObject","position","renderRouteResult","legs","routes","end_address","start_location","end_location","distance","text","duration","steps","step","instructions","summary","renderTransitRouteResult","route","seconds","hours","Math","floor","remainingSeconds","minutes","leg","type","travel_mode","name","transport","mode","short_name","long_name","DEFAULT_GEOLOCATION","DEFAULT_MAP_CONFIG","minZoom","MARKERS","$elm","mapConfig","addEventListener","woosmapLoaded","bind","currentPosition","visible","marker","Marker","setMap","getGeolocation","setPosition","setMarker","setCenter","getCenter","Map","directionsService","DirectionsService","directionsRenderer","DirectionsRenderer","transitService","TransitService","transitRenderer","TransitRenderer","getCurrentPosition","content","InfoWindow","getBounds","flyTo","eventName","callback","call","arguments","detail","CustomEvent","removeEventListener","setZoom","setDirections","setRoutes","payload","travelMode","TravelMode"],"mappings":"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","file":"js/component-WoosmapStaticMap-js.chunks.js","sourcesContent":["'use strict';\n\nimport BaseComponent from '../base/baseComponent';\nimport Woosmap from '../classes/woosmap/woosmapClass';\n\nconst PIN_SIZE = { height: 45, width: 33.5 };\n\nexport default class WoosmapStaticMap extends BaseComponent {\n  get WOOSMAP_KEY() {\n    return this.$options.wmkey;\n  }\n\n  get DEFAULT_MARKER() {\n    return {\n      defaultMarker: {\n        url: this.$options.pin,\n        scaledSize: PIN_SIZE\n      }\n    };\n  }\n\n  constructor(element) {\n    super(element);\n\n    this.initWoosmap();\n  }\n\n  initWoosmap() {\n    //construct Map\n    this.woosmap = new Woosmap(this.$el, this.WOOSMAP_KEY, {\n      markers: this.DEFAULT_MARKER,\n      geolocation: false,\n      config: {\n        center: { lat: this.$options.lat, lng: this.$options.lng },\n        zoom: 18,\n        gestureHandling: 'none',\n        disableDefaultUI: true,\n        disableTilt: true\n      }\n    });\n  }\n}\n","/* eslint-disable new-cap */\n/* eslint-disable valid-jsdoc */\n/* eslint-disable no-underscore-dangle */\n\nimport Bean from 'bean';\nimport deepFreeze from '../utilities/freeze';\nimport BaseGiaComponent from './baseGiaComponent';\n\nexport default class BaseComponent extends BaseGiaComponent {\n  /**\n   * @returns {HTMLElement}\n   */\n  get $el() {\n    return /** @type {HTMLElement} */ (this._componentElement);\n  }\n\n  get $options() {\n    const compOptions = {};\n    const options = { ...this.$el.dataset };\n    const optionsEntires = Object.keys(options).filter((entry) => entry.includes('option'));\n    optionsEntires.forEach((entry) => {\n      const cleanEntry = BaseComponent.cleanOptionKey(entry);\n      let optionValue;\n      if (options[entry].includes('{') && options[entry].includes('}')) {\n        optionValue = JSON.parse(options[entry].replace(/'/g, '\"'));\n      } else {\n        optionValue = BaseComponent.convertType(options[entry]);\n      }\n      compOptions[cleanEntry] = optionValue;\n    });\n    return deepFreeze(compOptions);\n  }\n\n  get COMPONENT_NAME() {\n    return this.$el.getAttribute('data-component');\n  }\n\n  /**\n   *\n   * constructor\n   *\n   * @param {Element} element\n   */\n  constructor(element) {\n    super(element);\n    this._componentElement = element;\n    this._componentElement.setAttribute('data-component-init', 'true');\n    this._checkMessages();\n  }\n\n  static convertType(option) {\n    let optionReturn;\n    switch (option) {\n      case 'false':\n        optionReturn = false;\n        break;\n      case 'true':\n        optionReturn = true;\n        break;\n      case 'null':\n        optionReturn = null;\n        break;\n      default:\n        optionReturn = option;\n        break;\n    }\n\n    return optionReturn;\n  }\n\n  static cleanOptionKey(key) {\n    const str = key.replace('option', '');\n    return `${str.charAt(0).toLocaleLowerCase()}${str.slice(1)}`;\n  }\n\n  /**\n   *\n   * $on\n   *\n   * @param {String} events\n   * @param {Function} cb\n   * @param {Element} [element = this.$el]\n   * @param {Array|String|Element} [elements = null]\n   */\n  $on(events, cb, element = this.$el, elements = null) {\n    if (!element || !events || !cb) return;\n    if (!elements) {\n      Bean.on(element, events, (e) => {\n        if (e) e.stopPropagation();\n        cb(e);\n      });\n    } else {\n      Bean.on(element, events, elements, (e) => {\n        if (e) e.stopPropagation();\n        cb(e);\n      });\n    }\n  }\n\n  /**\n   *\n   * $one\n   *\n   * @param {String} events\n   * @param {Function} cb\n   * @param {Element} [element = this.$el]\n   */\n  $one(events, cb, element = this.$el) {\n    Bean.one(element, events, cb);\n  }\n\n  /**\n   *\n   * $off\n   *\n   * @param {String} events\n   * @param {Element} [element = this.$el]\n   */\n  $off(events, element = this.$el) {\n    Bean.off(element, events);\n  }\n\n  /**\n   *\n   * $fire\n   *\n   * @param {String} events\n   * @param {Element} [element = this.$el]\n   */\n  $fire(events, element = this.$el) {\n    Bean.fire(element, events);\n  }\n\n  /**\n   *\n   * Activate loader\n   *\n   * @param {HTMLElement} [container]\n   * @param {String} [message]\n   */\n  loading(container, message) {\n    this._loading = true;\n    this.EMIT(this.CUSTOM_MESSAGES.LOADER_EVENTS.show, {\n      container: container || document.body,\n      message: message ?? null\n    });\n  }\n\n  /**\n   *\n   * Deactivate loader\n   *\n   * @param {HTMLElement} [container]\n   * @param {String} [message]\n   * @param {Boolean} [error=false]\n   * @param {String} [icon]\n   */\n  endLoading(container, message, error = false, icon) {\n    this._loading = false;\n    setTimeout(() => {\n      if (!this._loading) {\n        this.EMIT(this.CUSTOM_MESSAGES.LOADER_EVENTS.hide, {\n          container: container || document.body,\n          message,\n          error,\n          icon\n        });\n      }\n    }, 400);\n  }\n}\n","import Axios from 'axios';\nimport CommonInterface from '../base/commonInterface';\nimport CustomMessages from '../constants/customMessages';\n\n\nconst axios = Axios.create({\n  transformRequest: [function (data, headers) {\n    if (headers && headers.skiptransform) {\n      delete headers.skiptransform;\n      return data;\n    }\n    if (data && Object.entries(data)) {\n      const formData = new FormData();\n      for (const [key, value] of Object.entries(data)) {\n        formData.append(key, value);\n      }\n      return formData;\n    }\n  }],\n});\n\nconst recaptchaToken = async ({ googleRecaptchaAction, googleRecaptchaClientSide }) => new Promise((resolve, reject) => {\n  window.grecaptcha.ready(() => {\n    window.grecaptcha.execute(googleRecaptchaClientSide, { action: googleRecaptchaAction }).then((token) => {\n      resolve(token);\n    });\n  });\n});\n\naxios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest';\n\n// Add a request interceptor\naxios.interceptors.request.use(async (config) => {\n  // Do something before request is sent\n  if (config.data && config.data.googleRecaptchaAction && config.data.googleRecaptchaClientSide && window.grecaptcha) {\n    const token = await recaptchaToken(config.data);\n    config.data.googleRecaptchaToken = token;\n    return config;\n  }\n  return config;\n}, function (error) {\n  // Do something with request error\n  return Promise.reject(error);\n});\n\n// Add a response interceptor\naxios.interceptors.response.use(function (response) {\n  let commonInterface = new CommonInterface();\n  if (response.data && response.data.pushState || response.data.replaceState) {\n    response.data.pushState && history.pushState({}, '', response.data.pushState);\n    response.data.replaceState && history.replaceState({}, '', response.data.replaceState);\n    if (response.data.redirectUrl) {\n      setTimeout(() => {\n        location.href = response.data.redirectUrl;\n      }, 500);\n    }\n  }\n  else if (response.data && response.data.redirectUrl) {\n    let hrefUrl=response.data.redirectUrl;\n    let paybackParam = '';\n    if (response.data.isPaybackPopupActive) {\n      paybackParam = hrefUrl.indexOf('?') > -1 ? '&isPaybackPopupActive=true' : '?isPaybackPopupActive=true';\n    }\n    hrefUrl =hrefUrl+paybackParam;\n    let trialParam = '';\n    if (response.data.subscriptionTrialModalNotEligibleAfterLogin) {\n      trialParam = hrefUrl.indexOf('?') > -1 ? '&subscriptionTrialModalNotEligibleAfterLogin=true' : '?subscriptionTrialModalNotEligibleAfterLogin=true';\n    } \n    location.href = hrefUrl+trialParam;\n  }\n  if (response.data && response.data.error) {\n    if(response.config.data instanceof FormData) {\n      response.config.data = Object.fromEntries(response.config.data);\n      response.config.headers['Content-Type'] = \"application/json\"\n    }\n    commonInterface.EMIT(`error.${response.data.error}`, {res: response});\n  }\n\n  if (response.data && response.data.notificationPush && response.data.notificationPush.showNotification) {\n    commonInterface.EMIT(`notification:push`, response.data.notificationPush);\n  }\n\n  if (response.data && response.data.pushPromoPre && response.data.pushPromoPre.length > 0) {\n    const orderedPush = response.data.pushPromoPre.sort(function(promoA, promoB) {\n      return promoA.rank > promoB.rank ? -1 : promoB.rank > promoA.rank ? 1 : 0;\n    });\n    commonInterface.EMIT(`notification:pushFirstAvailable`, { notifications: orderedPush });\n  }\n  \n  if (response.data && response.data.pushPromoPost) {\n    commonInterface.EMIT(`notification:pushall`, response.data.pushPromoPost);\n  }\n\n\n  // Any status code that lie within the range of 2xx cause this function to trigger\n  // Do something with response data\n  return response;\n}, function (error) {\n  if (error.response?.data && error.response?.data?.redirectUrl) {\n    location.href = error.response.data.redirectUrl;\n  }\n\n  // Any status codes that falls outside the range of 2xx cause this function to trigger\n  // Do something with response error\n  return Promise.reject(error);\n});\n\nexport const { CancelToken } = Axios;\n\nexport const {\n  get, post, all, spread, request\n} = axios;\n","'use strict';\n\n/// <reference types=\"woosmap\" />\n/* global woosmap */\n\nimport { get } from '../libs/Axios';\n\nexport async function initWoosmapScript(woosmapKey) {\n  // Create the script tag, set the appropriate attributes\n  const script = document.createElement('script');\n  script.src = `https://sdk.woosmap.com/map/map.js?key=${woosmapKey}&callback=initMap`;\n  script.defer = true;\n\n  // The callback function\n  window.initMap = function() {\n    // JS API is loaded and available\n    const event = new Event('woosmap:loaded');\n    document.body.dispatchEvent(event);\n  };\n\n  // Append the 'script' element to 'head'\n  document.head.appendChild(script);\n}\n\nexport async function initWoosmapMultiSearchScript() {\n  // Create the script tag, set the appropriate attributes\n  const event = new Event('woosmap:multisearch:loaded');\n  const script = document.createElement('script');\n  script.src = `https://sdk.woosmap.com/multisearch/multisearch.js`;\n  script.defer = true;\n\n  script.onload = () => document.body.dispatchEvent(event);\n\n  // Append the 'script' element to 'head'\n  document.body.appendChild(script);\n}\n/**\n * @returns {Promise<woosmap.geolocationResponse>}\n */\nexport async function geolocation(key) {\n  let result = { success: false };\n  try {\n    let ipCoord = await get(`https://api.woosmap.com/geolocation/position/?key=${key}`);\n    result = { success: true, latitude: ipCoord.data.latitude, longitude: ipCoord.data.longitude };\n  } catch (e) {\n    console.error(e);\n  }\n  return result;\n}\n\n/**\n * @typedef {Object} positionLiteral\n * @property {number} lat\n * @property {number} lng\n */\n/**\n * @param {positionLiteral} origin\n * @param {positionLiteral[]} destinations\n */\nexport async function distanceMatrix(origin, destinations, key) {\n  let result = { success: false };\n  if (destinations.length === 0) return result;\n  let url = `https://api.woosmap.com/distance/distancematrix/json?origins=${origin.lat},${origin.lng}&destinations=${destinations[0].lat},${destinations[0].lng}`;\n  destinations.slice(1, 200).map((destination) => (url += `|${destination.lat},${destination.lng}`));\n  url += `&elements=duration_distance&key=${key}`;\n  try {\n    const { data } = await get(url);\n    result = { ...result, success: true, rows: data.rows };\n  } catch (e) {\n    console.error(e);\n  }\n  return result;\n}\n\nexport async function autocompleteLocalties(searchInputId, autocompleteOptions) {\n  // eslint-disable-next-line no-undef\n  return new woosmap.localities.Autocomplete(searchInputId, autocompleteOptions);\n}\n\nexport function autocompleteMultisearch(woosmapKey) {\n  return new woosmap.multisearch({\n    apiOrder: ['localities', 'address', 'places'],\n    localities: {\n      key: woosmapKey,\n      fallbackBreakpoint: 0.4,\n      params: {\n        components: {\n          country: ['it']\n        },\n        language: 'it',\n        types: []\n      }\n    },\n    address: {\n      key: woosmapKey,\n      fallbackBreakpoint: 0.4,\n      params: {\n        components: {\n          country: ['it']\n        },\n        language: 'it',\n        types: []\n      }\n    },\n    places: {\n      key: woosmapKey,\n      params: {\n        components: {\n          country: ['it']\n        },\n        language: 'it',\n        types: []\n      }\n    }\n  });\n}\n\nexport function getKmFromDistanceText(distanceText) {\n  const unitConversion = {\n    cm: 0.00001,\n    m: 0.001,\n    km: 1\n  };\n\n  let distancePart = distanceText.split(' ');\n  let distanceValue = +distancePart[0];\n  let distanceUnit = distancePart[1];\n  return unitConversion[distanceUnit.toLowerCase()] * distanceValue;\n}\n\nexport async function reverseGeocoding(key, lat, lng) {\n  try {\n    const { data } = await get(`https://api.woosmap.com/localities/geocode?key=${key}&latlng=${lat},${lng}`);\n    return data;\n  } catch (e) {\n    console.error(e);\n  }\n}\n\nexport function loadWoosmapCSS() {\n  var file = document.createElement('link');\n  file.setAttribute('rel', 'stylesheet');\n  file.setAttribute('href', 'https://sdk.woosmap.com/localities/style.2.0.css');\n  document.head.appendChild(file);\n}\n\n/**\n *\n * @param {woosmap.map.LatLng} position\n * @returns { {lat: number, lng: number} }\n */\nexport function getPositionObject(position) {\n  return { lat: position.lat(), lng: position.lng() };\n}\n\n/**\n *\n * @param { {status: String, result: Array<any>} } result\n * @returns { Object }\n */\nexport function renderRouteResult(result) {\n  const legs = result.routes[0]?.legs[0];\n  return {\n    end_address: legs?.end_address,\n    start_location: legs?.start_location,\n    end_location: legs?.end_location,\n    distance: legs?.distance.text,\n    duration: legs?.duration.text,\n    steps: legs?.steps.map((step) => {\n      let { instructions, distance, duration } = step;\n      let { summary } = instructions;\n      return {\n        summary,\n        distance,\n        duration\n      };\n    })\n  };\n}\n\n/**\n *\n * @param {Number} seconds\n * @returns {String}\n */\nfunction formatDuration(seconds) {\n  const hours = Math.floor(seconds / 3600);\n  const remainingSeconds = seconds % 3600;\n  const minutes = Math.floor(remainingSeconds / 60);\n  return `${hours} ore ${minutes} minuti`;\n}\n\n// @TODO i seguenti testi sono da spostare sulle traduzioni... (prima o poi)\n/**\n *\n * @param {*} result\n * @returns { Array<any> }\n */\nexport function renderTransitRouteResult(result) {\n  return {\n    start_location: result.routes[0]?.legs[0]?.start_location?.location,\n    routes: result.routes.map((route) => ({\n      duration: formatDuration(route.duration),\n      legs: route.legs.map((leg) => {\n        if (leg.end_location.type === 'place') {\n          return 'Sei arrivato a destinazione';\n        }\n\n        if (leg.travel_mode === 'pedestrian') {\n          return `Procedi a piedi verso ${leg.end_location.name}`;\n        }\n\n        if (leg.travel_mode === 'transit') {\n          const { mode, short_name, long_name } = leg.transport;\n\n          if (mode === 'bus' || mode === 'lightRail' || mode === 'subway') {\n            const transportType = mode === 'bus' ? 'il bus' : mode === 'subway' ? 'la metro' : 'il tram';\n            return `Prendi ${transportType} ${short_name || ''} e scendi alla fermata ${leg.end_location.name}`;\n          }\n\n          if (['highSpeedTrain', 'intercityTrain', 'interRegionalTrain', 'regionalTrain', 'cityTrain'].includes(mode)) {\n            return `Prendi il treno ${long_name || ''} e scendi alla fermata ${leg.end_location.name}`;\n          }\n\n          if (mode === 'ferry') {\n            return `Prendi il traghetto da ${leg.start_location.name} verso ${leg.end_location.name}`;\n          }\n\n          return `Prendi ${mode} e scendi alla fermata ${leg.end_location.name}`;\n        }\n\n        return 'Percorso non definito';\n      })\n    }))\n  };\n}\n","'use strict';\n\n/// <reference types=\"woosmap\" />\n/* global woosmap */\n\nimport { geolocation, initWoosmapScript } from '../../utilities/woosmapUtils';\n\nconst DEFAULT_GEOLOCATION = { lat: 45.5718999, lng: 9.1483656 }; // Paderno Dugnano\nconst PIN_SIZE = { height: 50, width: 32 };\nconst DEFAULT_MAP_CONFIG = {\n  gestureHandling: 'cooperative',\n  minZoom: 9,\n  zoom: 12\n};\nconst MARKERS = {\n  defaultMarker: {\n    url: 'https://images.woosmap.com/marker.png',\n    scaledSize: PIN_SIZE\n  }\n};\n\nexport default class Woosmap {\n  constructor($elm, wmkey, options = {}) {\n    this.mapConfig = { ...DEFAULT_MAP_CONFIG, ...options.config };\n    this.markers = { ...MARKERS, ...options.markers };\n    this.geolocation = typeof options.geolocation == 'undefined' ? true : options.geolocation;\n    this.wmkey = wmkey;\n    this.$elm = $elm;\n\n    initWoosmapScript(wmkey);\n\n    this.initMap();\n  }\n\n  initMap() {\n    document.body.addEventListener('woosmap:loaded', this.woosmapLoaded.bind(this));\n  }\n\n  async getGeolocation() {\n    const res = await geolocation(this.wmkey);\n\n    if (res && res.success) {\n      this.currentPosition = { lat: res.latitude, lng: res.longitude };\n    } else {\n      this.currentPosition = DEFAULT_GEOLOCATION; //Default position: Paderno Dugnano\n    }\n  }\n\n  setMarker({ position, icon, visible }) {\n    const marker = new woosmap.map.Marker({\n      position,\n      icon: icon || this.markers.defaultMarker,\n      visible\n    });\n\n    if (visible) {\n      marker.setMap(this.map);\n    }\n\n    return marker;\n  }\n\n  async getCurrentPosition() {\n    await this.getGeolocation();\n    this.setPosition(this.currentPosition);\n  }\n\n  // set current position marker\n  setPosition(position) {\n    if (this.defaultMarker) {\n      this.defaultMarker.setMap(null);\n    }\n\n    this.defaultMarker = this.setMarker({\n      position,\n      visible: true\n    });\n\n    this.map.setCenter(position);\n    return this;\n  }\n\n  getPosition() {\n    const center = this.map.getCenter();\n    return { lat: center.lat(), lng: center.lng() };\n  }\n\n  async woosmapLoaded() {\n    //construct Map\n    this.map = new woosmap.map.Map(this.$elm, this.mapConfig);\n    this.directionsService = new woosmap.map.DirectionsService();\n    this.directionsRenderer = new woosmap.map.DirectionsRenderer();\n\n    this.transitService = new woosmap.map.TransitService();\n    this.transitRenderer = new woosmap.map.TransitRenderer();\n\n    if (this.geolocation) {\n      await this.getCurrentPosition();\n    } else {\n      this.setPosition(this.mapConfig.center);\n    }\n\n    document.body.dispatchEvent(new Event('woosmap:mapLoaded'));\n  }\n\n  setInfoWindow(content, options = {}) {\n    return new woosmap.map.InfoWindow({ content, ...options });\n  }\n\n  getBounds() {\n    return this.map.getBounds();\n  }\n\n  flyTo(center, zoom) {\n    return this.map.flyTo({ center, zoom });\n  }\n\n  addListener(eventName, callback) {\n    this.$elm.addEventListener(eventName, callback.call(this, arguments));\n  }\n\n  dispatch(eventName, detail) {\n    const event = new CustomEvent(eventName, { detail });\n    this.$elm.dispatchEvent(event);\n  }\n\n  removeListener(eventName, callback) {\n    this.$elm.removeEventListener(eventName, callback);\n  }\n\n  setZoom(zoom) {\n    this.map.setZoom(zoom || DEFAULT_MAP_CONFIG.zoom);\n    return this;\n  }\n\n  setRouteDirection(result) {\n    this.directionsRenderer.setDirections(result);\n  }\n\n  setTransitRoutes(result) {\n    this.transitRenderer.setRoutes(result.routes);\n  }\n\n  calcTransitRoute(payload, cb) {\n    this.directionsRenderer.setMap(null);\n\n    this.transitRenderer.setMap(this.map);\n    this.transitService.route(payload).then(cb);\n  }\n\n  calcRoute(payload, cb) {\n    this.transitRenderer.setMap(null);\n\n    payload.travelMode = woosmap.map.TravelMode[payload.travelMode];\n\n    this.directionsRenderer.setMap(this.map);\n    this.directionsService.route(payload, cb);\n  }\n}\n"],"sourceRoot":""}