{"version":3,"sources":["webpack:///./node_modules/@babel/runtime/helpers/typeof.js","webpack:///./node_modules/@babel/runtime/helpers/defineProperty.js","webpack:///./node_modules/@babel/runtime/helpers/toPropertyKey.js","webpack:///./node_modules/@babel/runtime/helpers/toPrimitive.js","webpack:///./node_modules/@babel/runtime/helpers/asyncToGenerator.js","webpack:///./src/js/range-map/template.vue","webpack:///./src/js/utils/gmaps.js","webpack:///./src/js/range-map/map.style.js","webpack:///./src/js/range-map/component.js"],"names":["_typeof","o","module","exports","Symbol","iterator","constructor","prototype","__esModule","toPropertyKey","e","r","t","Object","defineProperty","value","enumerable","configurable","writable","toPrimitive","i","call","TypeError","String","Number","asyncGeneratorStep","n","a","c","u","done","Promise","resolve","then","this","arguments","apply","_next","_throw","API_KEY","GOOGLE_API_KEY","resolveInitPromise","rejectInitPromise","initialized","window","google","initPromise","reject","init","script","document","createElement","async","defer","src","concat","onerror","querySelector","appendChild","mapStyle","featureType","elementType","stylers","visibility","lightness","weight","saturation","color","hue","invert_lightness","gamma","component","props","shortRange","type","required","longRange","template","methods","getLocation","navigator","geolocation","getCurrentPosition","position","lat","coords","latitude","lng","longitude","altitude","maximumAge","reCenterMap","center","map","setCenter","reCenterItems","newCenter","length","undefined","getCenter","centerPoint","setPosition","circles","forEach","circle","mounted","_ref","_asyncToGenerator","pos","userLocation","maps","LatLng","catch","err","gmapsInit","centerLatLng","Map","$el","styles","zoom","innerWidth","clickableIcons","streetViewControl","disableDefaultUI","keyboardShortcuts","rangeDefaults","strokeOpacity","strokeWeight","zIndex","range3","Circle","_objectSpread","radius","strokeColor","fillColor","fillOpacity","range1","Marker","icon","path","SymbolPath","CIRCLE","scale","setMap","addListener","setVisible","error"],"mappings":"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","file":"js/5-2cc53bc81848da0c4e9a.js","sourcesContent":["function _typeof(o) {\n  \"@babel/helpers - typeof\";\n\n  return module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n    return typeof o;\n  } : function (o) {\n    return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n  }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _typeof(o);\n}\nmodule.exports = _typeof, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var toPropertyKey = require(\"./toPropertyKey.js\");\nfunction _defineProperty(e, r, t) {\n  return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {\n    value: t,\n    enumerable: !0,\n    configurable: !0,\n    writable: !0\n  }) : e[r] = t, e;\n}\nmodule.exports = _defineProperty, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nvar toPrimitive = require(\"./toPrimitive.js\");\nfunction toPropertyKey(t) {\n  var i = toPrimitive(t, \"string\");\n  return \"symbol\" == _typeof(i) ? i : i + \"\";\n}\nmodule.exports = toPropertyKey, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nfunction toPrimitive(t, r) {\n  if (\"object\" != _typeof(t) || !t) return t;\n  var e = t[Symbol.toPrimitive];\n  if (void 0 !== e) {\n    var i = e.call(t, r || \"default\");\n    if (\"object\" != _typeof(i)) return i;\n    throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n  }\n  return (\"string\" === r ? String : Number)(t);\n}\nmodule.exports = toPrimitive, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function asyncGeneratorStep(n, t, e, r, o, a, c) {\n  try {\n    var i = n[a](c),\n      u = i.value;\n  } catch (n) {\n    return void e(n);\n  }\n  i.done ? t(u) : Promise.resolve(u).then(r, o);\n}\nfunction _asyncToGenerator(n) {\n  return function () {\n    var t = this,\n      e = arguments;\n    return new Promise(function (r, o) {\n      var a = n.apply(t, e);\n      function _next(n) {\n        asyncGeneratorStep(a, r, o, _next, _throw, \"next\", n);\n      }\n      function _throw(n) {\n        asyncGeneratorStep(a, r, o, _next, _throw, \"throw\", n);\n      }\n      _next(void 0);\n    });\n  };\n}\nmodule.exports = _asyncToGenerator, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","// Module\nvar code = \"<div class=\\\"map-container\\\"></div> \";\n// Exports\nmodule.exports = code;","// Thanks, https://markus.oberlehner.net/blog/using-the-google-maps-api-with-vue/\n\nconst API_KEY = GOOGLE_API_KEY || \"\";\nconst CALLBACK_NAME = \"gmapsCallback\";\n\nlet initialized = !!window.google;\nlet resolveInitPromise;\nlet rejectInitPromise;\n// This promise handles the initialization\n// status of the google maps script.\nconst initPromise = new Promise((resolve, reject) => {\n  resolveInitPromise = resolve;\n  rejectInitPromise = reject;\n});\n\nconst init = () => {\n  // If Google Maps already is initialized\n  // the `initPromise` should get resolved\n  // eventually.\n  if (initialized) {\n    return new Promise((resolve) => {\n      resolve(window.google);\n    });\n  }\n\n  initialized = true;\n  // The callback function is called by\n  // the Google Maps script if it is\n  // successfully loaded.\n  window[CALLBACK_NAME] = () => resolveInitPromise(window.google);\n\n  // We inject a new script tag into\n  // the `<head>` of our HTML to load\n  // the Google Maps script.\n  const script = document.createElement(\"script\");\n  script.async = true;\n  script.defer = true;\n  script.src = `https://maps.googleapis.com/maps/api/js?key=${API_KEY}&callback=${CALLBACK_NAME}`;\n  script.onerror = rejectInitPromise;\n  document.querySelector(\"head\").appendChild(script);\n\n  return initPromise;\n};\n\nexport default init;\n","export const mapStyle = [\n  {\n    featureType: 'administrative',\n    elementType: 'all',\n    stylers: [\n      {\n        visibility: 'off',\n      },\n    ],\n  },\n  {\n    featureType: 'administrative.country',\n    elementType: 'geometry',\n    stylers: [\n      {\n        lightness: '70',\n      },\n      {\n        weight: '1.70',\n      },\n      {\n        saturation: '-100',\n      },\n      {\n        visibility: 'on',\n      },\n    ],\n  },\n  {\n    featureType: 'administrative.country',\n    elementType: 'labels',\n    stylers: [\n      {\n        visibility: 'off',\n      },\n    ],\n  },\n  {\n    featureType: 'administrative.province',\n    elementType: 'geometry',\n    stylers: [\n      {\n        visibility: 'on',\n      },\n      {\n        weight: '0.79',\n      },\n      {\n        lightness: '59',\n      },\n    ],\n  },\n  {\n    featureType: 'administrative.province',\n    elementType: 'labels',\n    stylers: [\n      {\n        visibility: 'simplified',\n      },\n      {\n        lightness: '53',\n      },\n    ],\n  },\n  {\n    featureType: 'administrative.locality',\n    elementType: 'geometry',\n    stylers: [\n      {\n        visibility: 'simplified',\n      },\n    ],\n  },\n  {\n    featureType: 'administrative.locality',\n    elementType: 'labels',\n    stylers: [\n      {\n        visibility: 'simplified',\n      },\n      {\n        lightness: '52',\n      },\n      {\n        saturation: '-100',\n      },\n    ],\n  },\n  {\n    featureType: 'administrative.neighborhood',\n    elementType: 'geometry.fill',\n    stylers: [\n      {\n        visibility: 'off',\n      },\n    ],\n  },\n  {\n    featureType: 'administrative.neighborhood',\n    elementType: 'labels',\n    stylers: [\n      {\n        visibility: 'off',\n      },\n    ],\n  },\n  {\n    featureType: 'administrative.land_parcel',\n    elementType: 'all',\n    stylers: [\n      {\n        visibility: 'off',\n      },\n    ],\n  },\n  {\n    featureType: 'administrative.land_parcel',\n    elementType: 'geometry',\n    stylers: [\n      {\n        visibility: 'off',\n      },\n    ],\n  },\n  {\n    featureType: 'administrative.land_parcel',\n    elementType: 'geometry.fill',\n    stylers: [\n      {\n        visibility: 'off',\n      },\n    ],\n  },\n  {\n    featureType: 'administrative.land_parcel',\n    elementType: 'labels',\n    stylers: [\n      {\n        visibility: 'off',\n      },\n    ],\n  },\n  {\n    featureType: 'landscape',\n    elementType: 'all',\n    stylers: [\n      {\n        visibility: 'simplified',\n      },\n      {\n        saturation: '-35',\n      },\n    ],\n  },\n  {\n    featureType: 'landscape',\n    elementType: 'geometry',\n    stylers: [\n      {\n        visibility: 'on',\n      },\n    ],\n  },\n  {\n    featureType: 'landscape.man_made',\n    elementType: 'all',\n    stylers: [\n      {\n        color: '#f2f2f2',\n      },\n      {\n        visibility: 'on',\n      },\n    ],\n  },\n  {\n    featureType: 'landscape.natural',\n    elementType: 'geometry.fill',\n    stylers: [\n      {\n        visibility: 'on',\n      },\n      {\n        color: '#f2f2f2',\n      },\n    ],\n  },\n  {\n    featureType: 'landscape.natural',\n    elementType: 'labels',\n    stylers: [\n      {\n        visibility: 'off',\n      },\n    ],\n  },\n  {\n    featureType: 'landscape.natural.landcover',\n    elementType: 'geometry.fill',\n    stylers: [\n      {\n        visibility: 'off',\n      },\n      {\n        saturation: '-9',\n      },\n      {\n        hue: '#f2f2f2',\n      },\n    ],\n  },\n  {\n    featureType: 'landscape.natural.landcover',\n    elementType: 'labels',\n    stylers: [\n      {\n        visibility: 'off',\n      },\n    ],\n  },\n  {\n    featureType: 'landscape.natural.terrain',\n    elementType: 'all',\n    stylers: [\n      {\n        visibility: 'off',\n      },\n    ],\n  },\n  {\n    featureType: 'landscape.natural.terrain',\n    elementType: 'geometry',\n    stylers: [\n      {\n        visibility: 'off',\n      },\n    ],\n  },\n  {\n    featureType: 'landscape.natural.terrain',\n    elementType: 'labels',\n    stylers: [\n      {\n        visibility: 'off',\n      },\n    ],\n  },\n  {\n    featureType: 'poi',\n    elementType: 'geometry',\n    stylers: [\n      {\n        visibility: 'off',\n      },\n    ],\n  },\n  {\n    featureType: 'poi',\n    elementType: 'geometry.fill',\n    stylers: [\n      {\n        visibility: 'off',\n      },\n      {\n        hue: '#f2f2f2',\n      },\n    ],\n  },\n  {\n    featureType: 'poi',\n    elementType: 'labels',\n    stylers: [\n      {\n        visibility: 'off',\n      },\n    ],\n  },\n  {\n    featureType: 'road',\n    elementType: 'geometry',\n    stylers: [\n      {\n        lightness: 100,\n      },\n      {\n        visibility: 'simplified',\n      },\n      {\n        saturation: -100,\n      },\n      {\n        color: '#cdcdcd',\n      },\n    ],\n  },\n  {\n    featureType: 'road',\n    elementType: 'labels',\n    stylers: [\n      {\n        visibility: 'off',\n      },\n      {\n        saturation: '-1000',\n      },\n      {\n        color: '#cdcdcd',\n      },\n    ],\n  },\n  {\n    featureType: 'road.highway',\n    elementType: 'all',\n    stylers: [\n      {\n        visibility: 'off',\n      },\n    ],\n  },\n  {\n    featureType: 'road',\n    elementType: 'labels.text',\n    stylers: [\n      {\n        visibility: 'simplified',\n      },\n      {\n        hue: '#f2f2f2',\n      },\n      {\n        lightness: '15',\n      },\n    ],\n  },\n  {\n    featureType: 'transit',\n    elementType: 'all',\n    stylers: [\n      {\n        visibility: 'off',\n      },\n    ],\n  },\n  {\n    featureType: 'transit.line',\n    elementType: 'all',\n    stylers: [\n      {\n        visibility: 'off',\n      },\n    ],\n  },\n  {\n    featureType: 'transit.line',\n    elementType: 'geometry',\n    stylers: [\n      {\n        visibility: 'on',\n      },\n      {\n        lightness: 700,\n      },\n    ],\n  },\n  {\n    featureType: 'water',\n    elementType: 'all',\n    stylers: [\n      {\n        color: '#ccecf2',\n      },\n    ],\n  },\n  {\n    featureType: 'transit.station.airport',\n    elementType: 'geometry.fill',\n    stylers: [\n      {\n        visibility: 'on',\n      },\n      {\n        invert_lightness: true,\n      },\n      {\n        gamma: 9,\n      },\n      {\n        hue: '#ff7700',\n      },\n    ],\n  },\n];\n","import gmapsInit from \"./../utils/gmaps\";\nimport template from \"./template.vue\";\nimport { mapStyle } from \"./map.style\";\n\nconst component = {\n  props: {\n    shortRange: {\n      type: Number,\n      required: true,\n    },\n    longRange: {\n      type: Number,\n      required: true,\n    },\n  },\n  template,\n  methods: {\n    getLocation() {\n      return new Promise((resolve, reject) => {\n        if (\"geolocation\" in window.navigator) {\n          window.navigator.geolocation.getCurrentPosition(\n            (position) => {\n              resolve({\n                lat: position.coords.latitude,\n                lng: position.coords.longitude,\n                altitude: position.coords.altitude,\n              });\n            },\n            () => {\n              reject(\"no position access\");\n              resolve(null);\n            },\n            {\n              // 2 hours\n              maximumAge: 2 * 60 * 60 * 1000,\n            }\n          );\n        } else {\n          reject(\"no browser support\");\n          resolve(null);\n        }\n      });\n    },\n\n    reCenterMap(center) {\n      this.map.setCenter(center);\n      this.reCenterItems(center);\n    },\n\n    reCenterItems(center = null) {\n      const newCenter = center || this.map.getCenter();\n      this.centerPoint.setPosition(newCenter);\n\n      this.circles.forEach((circle) => circle.setCenter(newCenter));\n    },\n  },\n  mounted: async function () {\n    try {\n      this.getLocation()\n        .then((pos) => {\n          this.userLocation = pos;\n          if (this.map && pos && pos.lat && pos.lng) {\n            this.reCenterMap(new google.maps.LatLng(pos.lat, pos.lng));\n          }\n        })\n        .catch((err) => {});\n\n      const google = await gmapsInit();\n      const defaultCenter = [45, -80];\n\n      let centerLatLng = defaultCenter;\n      if (this.userLocation && this.userLocation.lat && this.userLocation.lng) {\n        centerLatLng = [this.userLocation.lat, this.userLocation.lng];\n      }\n\n      const center = new google.maps.LatLng(centerLatLng[0], centerLatLng[1]);\n\n      this.map = new google.maps.Map(this.$el, {\n        styles: mapStyle,\n        zoom: window.innerWidth < 992 ? 3 : 4,\n        center,\n        clickableIcons: false,\n        streetViewControl: false,\n        disableDefaultUI: true,\n        keyboardShortcuts: false,\n      });\n\n      const rangeDefaults = {\n        strokeOpacity: 0,\n        strokeWeight: 0,\n        map: this.map,\n        center,\n        zIndex: 5,\n      };\n\n      this.range3 = new google.maps.Circle({\n        ...rangeDefaults,\n        // in meters\n        radius: 1852 * this.longRange,\n        strokeColor: \"#0000FF\",\n        fillColor: \"#0000FF\",\n        fillOpacity: 0.5,\n      });\n\n      // this.range2 = new google.maps.Circle({\n      //   ...rangeDefaults,\n      //   // in meters\n      //   radius: 1852 * (this.shortRange + this.longRange) / 2\n      // });\n\n      this.range1 = new google.maps.Circle({\n        ...rangeDefaults,\n        // in meters\n        radius: 1852 * this.shortRange,\n        strokeColor: \"#000000\",\n        fillColor: \"#000000\",\n        fillOpacity: 0.3,\n      });\n\n      this.centerPoint = new google.maps.Marker({\n        icon: {\n          path: google.maps.SymbolPath.CIRCLE,\n          fillOpacity: 1.0,\n          fillColor: \"#000000\",\n          strokeOpacity: 1.0,\n          strokeColor: \"white\",\n          strokeWeight: 2.0,\n          scale: 10,\n        },\n        position: center,\n      });\n      this.centerPoint.setMap(this.map);\n\n      // this.range3\n      this.circles = [this.range3, this.range1];\n\n      this.map.addListener(\"center_changed\", () => this.reCenterItems());\n\n      this.map.addListener(\"drag\", () => this.reCenterItems());\n\n      this.map.addListener(\"dragstart\", () => {\n        this.circles.forEach((circle) => circle.setVisible(false));\n      });\n\n      this.map.addListener(\"dragend\", () => {\n        this.circles.forEach((circle) => circle.setVisible(true));\n      });\n    } catch (error) {\n      // console.error(error);\n    }\n  },\n};\n\nexport default component;\n"],"sourceRoot":""}