{"version":3,"file":"storeFinder.js","mappings":"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","sources":["webpack://build/../template2/assets/javascripts/pages/storeFinder.js"],"sourcesContent":["window.google;\nwindow.geocoder;\nwindow.bounds;\nwindow.mapPlaces;\nwindow.searchBox;\nwindow.initialLatLang = { lat: -14.2400732, lng: -53.1805017 };\n\nwindow.statesInfo = {\n AC: {\n name: 'Acre',\n sigla: 'AC',\n metropolis: 'Rio Branco',\n latitude: -8.77,\n longitude: -70.5,\n },\n AL: {\n name: 'Alagoas',\n sigla: 'AL',\n metropolis: 'Maceió',\n latitude: -9.71,\n longitude: -35.73,\n },\n AM: {\n name: 'Amazonas',\n sigla: 'AM',\n metropolis: 'Manaus',\n latitude: -3.07,\n longitude: -61.66,\n },\n AP: {\n name: 'Amapá',\n sigla: 'AP',\n metropolis: 'Macapá',\n latitude: 1.41,\n longitude: -51.77,\n },\n BA: {\n name: 'Bahia',\n metropolis: 'Salvador',\n latitude: -12.96,\n longitude: -38.51,\n },\n CE: {\n name: 'Ceará',\n sigla: 'CE',\n metropolis: 'Fortaleza',\n latitude: -3.71,\n longitude: -38.54,\n },\n DF: {\n name: 'Distrito Federal',\n sigla: 'DF',\n metropolis: 'Brasília',\n latitude: -15.83,\n longitude: -47.86,\n },\n ES: {\n name: 'Espírito Santo',\n sigla: 'ES',\n metropolis: 'Vitória',\n latitude: -19.19,\n longitude: -40.34,\n },\n GO: {\n name: 'Goiás',\n sigla: 'GO',\n metropolis: 'Goiânia',\n latitude: -16.64,\n longitude: -49.31,\n },\n MA: {\n name: 'Maranhão',\n sigla: 'MA',\n metropolis: 'São Luís',\n latitude: -2.55,\n longitude: -44.3,\n },\n MG: {\n name: 'Minas Gerais',\n sigla: 'MG',\n metropolis: 'Belo Horizonte',\n latitude: -18.1,\n longitude: -44.38,\n },\n MS: {\n name: 'Mato Grosso do Sul',\n sigla: 'MS',\n metropolis: 'Campo Grande',\n latitude: -20.51,\n longitude: -54.54,\n },\n MT: {\n name: 'Mato Grosso',\n sigla: 'MT',\n metropolis: 'Cuiabá',\n latitude: -12.64,\n longitude: -55.42,\n },\n PA: {\n name: 'Pará',\n sigla: 'PA',\n metropolis: 'Belém',\n latitude: -5.53,\n longitude: -52.29,\n },\n PB: {\n name: 'Paraíba',\n sigla: 'PB',\n metropolis: 'João Pessoa',\n latitude: -7.06,\n longitude: -35.55,\n },\n PE: {\n name: 'Pernambuco',\n sigla: 'PE',\n metropolis: 'Recife',\n latitude: -8.28,\n longitude: -35.07,\n },\n PI: {\n name: 'Piauí',\n sigla: 'PI',\n metropolis: 'Teresina',\n latitude: -8.28,\n longitude: -43.68,\n },\n PR: {\n name: 'Paraná',\n sigla: 'PR',\n metropolis: 'Curitiba',\n latitude: -24.89,\n longitude: -51.55,\n },\n RJ: {\n name: 'Rio de Janeiro',\n sigla: 'RJ',\n metropolis: 'Rio de Janeiro',\n latitude: -22.84,\n longitude: -43.15,\n },\n RN: {\n name: 'Rio Grande do Norte',\n sigla: 'RN',\n metropolis: 'Natal',\n latitude: -5.22,\n longitude: -36.52,\n },\n RO: {\n name: 'Rondônia',\n sigla: 'RO',\n metropolis: 'Porto Velho',\n latitude: -11.22,\n longitude: -62.8,\n },\n RR: {\n name: 'Roraima',\n sigla: 'RR',\n metropolis: 'Boa Vista',\n latitude: -1.89,\n longitude: -61.22,\n },\n RS: {\n name: 'Rio Grande do Sul',\n sigla: 'RS',\n metropolis: 'Porto Alegre',\n latitude: -30.01,\n longitude: -51.22,\n },\n SC: {\n name: 'Santa Catarina',\n sigla: 'SC',\n metropolis: 'Florianopolis',\n latitude: -27.33,\n longitude: -49.44,\n },\n SE: {\n name: 'Sergipe',\n sigla: 'SE',\n metropolis: 'Aracaju',\n latitude: -10.9,\n longitude: -37.07,\n },\n SP: {\n name: 'São Paulo',\n sigla: 'SP',\n metropolis: 'São Paulo',\n latitude: -23.55,\n longitude: -46.64,\n },\n TO: {\n name: 'Tocantins',\n sigla: 'TO',\n metropolis: 'Palmas',\n latitude: -10.25,\n longitude: -48.25,\n },\n};\n\nwindow.storeFinder = {\n origPlaces: [],\n origPlacesSortedByState: [],\n quantityPlaces: 0,\n states: {},\n\n distance: function (lat1, lon1, lat2, lon2, unit) {\n if (lat1 == lat2 && lon1 == lon2) {\n return 0;\n } else {\n var radlat1 = (Math.PI * lat1) / 180;\n var radlat2 = (Math.PI * lat2) / 180;\n var theta = lon1 - lon2;\n var radtheta = (Math.PI * theta) / 180;\n var dist = Math.sin(radlat1) * Math.sin(radlat2) + Math.cos(radlat1) * Math.cos(radlat2) * Math.cos(radtheta);\n\n if (dist > 1) {\n dist = 1;\n }\n\n dist = Math.acos(dist);\n dist = (dist * 180) / Math.PI;\n dist = dist * 60 * 1.1515;\n\n if (unit == 'K') {\n dist = dist * 1.609344;\n }\n if (unit == 'N') {\n dist = dist * 0.8684;\n }\n\n return dist;\n }\n },\n getPlaceById: function (id) {\n var _this = this;\n var place;\n\n for (var i = 0; i < _this.origPlaces.length; i++) {\n if (_this.origPlaces[i].id == id) {\n place = _this.origPlaces[i];\n break;\n }\n }\n\n return place;\n },\n // Ordena os locais por estado\n sortPlacesByState: function () {\n var _this = this;\n\n _this.origPlacesSortedByState.sort((a, b) => {\n var stateA = a.state.toLowerCase();\n var stateB = b.state.toLowerCase();\n\n if (stateA < stateB) {\n return -1;\n }\n if (stateA > stateB) {\n return 1;\n }\n\n return 0;\n });\n },\n //Exibe os locais do estado selecionado\n renderPlacesByState: function (filter) {\n var _this = this;\n\n if (filter == 'all') {\n _this.emptyPlaces();\n\n _this.origPlaces.forEach((place, index) => {\n _this.renderPlace(place, index + 1);\n });\n\n _this.setPlaceMap(false, true, 4);\n _this.setQuantityPlaces(_this.origPlaces);\n } else {\n if (filter.state) {\n // pegando as infos do estado\n var state = statesInfo[filter.state];\n\n // filtrando places\n var resultsPlaces = _this.origPlaces.filter((place) => {\n return place.state == filter.state;\n });\n\n _this.emptyPlaces();\n\n resultsPlaces.forEach((place, index) => {\n _this.renderPlace(place, index + 1);\n });\n\n _this.setPlaceMap(state, false, 6);\n _this.setQuantityPlaces(resultsPlaces);\n }\n }\n },\n //Chamado no load do mapa. Monta o select de estados\n listAllStates: function () {\n var _this = this;\n var states = _this.states;\n var boxStates = document.querySelector('[data-select-states]');\n\n // Cria o elemente selecionar todos\n var selectAll = document.createElement('option');\n selectAll.value = 'all';\n selectAll.innerHTML = 'Selecione o estado';\n\n boxStates.append(selectAll);\n\n // Percorre o json dos locais\n _this.origPlacesSortedByState.forEach((place) => {\n // Pega o estado atual\n var state = place.state;\n\n // Verifica se existe o estado dentro do objeto\n if (!states[state]) {\n // Cria o objeto dentro do objeto de estados\n states[state] = {};\n\n // Monta o HTML do box do estado\n var optionState = document.createElement('option');\n optionState.value = state;\n optionState.innerHTML = statesInfo[state].name;\n\n // Adiciona o html no select\n boxStates.append(optionState);\n }\n });\n },\n //Exibe todos os locais ao selecionar a opção padrão\n resetStateSelection: function () {\n var boxStates = document.querySelector('[data-select-states]');\n var options = boxStates.querySelectorAll('option');\n\n options.forEach((option) => {\n if (option.selected && option.value != 'All') {\n option.selected = false;\n options[0].selected = true;\n }\n });\n },\n // Atualiza a quantidade de itens encontrados no cabeçalho da lista\n setQuantityPlaces: function (_places) {\n var quantityPlaces = _places.length;\n\n var boxQuantity = document.querySelector('[data-results-places-count]');\n\n // console.info('_places', _places);\n // console.info('_places.length', _places.length);\n\n if (quantityPlaces > 1) {\n boxQuantity.innerHTML = `${_places.length} Lojas encontradas`;\n } else if (quantityPlaces == 1) {\n boxQuantity.innerHTML = `${_places.length} Loja encontrada`;\n } else if (quantityPlaces <= 0) {\n boxQuantity.innerHTML = 'Nenhuma loja encontrada';\n }\n },\n // Remove do html todos os locais exibidos\n emptyPlaces: function () {\n const boxPlaces = document.querySelector('[data-results-places-list]');\n boxPlaces.innerHTML = '';\n },\n // Monta o html dos locais que serão exibidos\n renderPlace: function (_place, _index) {\n const boxPlaces = document.querySelector('[data-results-places-list]');\n var htmlPlace = document.createElement('li');\n\n htmlPlace.innerHTML = `\n ${\n _place.images.length > 0\n ? `
${_place.name}
\n${_place.address_line_1}, ${_place.neighborhood} - ${_place.city} - ${\n _place.state\n }
\n ${_place.first_phone != '' ? `${_place.first_phone}
` : ''}\n ${_place.email != '' ? `${_place.email}
` : ''}\n `;\n\n htmlPlace.classList.add('store-list-item');\n\n boxPlaces.append(htmlPlace);\n boxPlaces.scroll({ top: 0, left: 0, behavior: 'smooth' });\n },\n // Atualiza o mapa para mostrar o local selecionado\n setPlaceMap: function (_options, initial, zoom) {\n if (initial) {\n window.mapPlaces.setZoom(zoom);\n window.mapPlaces.setCenter(initialLatLang);\n } else {\n window.mapPlaces.setCenter({\n lat: Number(parseFloat(_options.latitude)),\n lng: Number(parseFloat(_options.longitude)),\n });\n window.mapPlaces.setZoom(zoom);\n }\n },\n // Inicialização do mapa\n initMap: function () {\n var _this = this;\n\n // Create a map object and specify the DOM element for display.\n window.geocoder = new google.maps.Geocoder();\n window.mapPlaces = new google.maps.Map(document.getElementById('map-canvas'), {\n // Centro do Brasil\n center: initialLatLang,\n scrollwheel: true,\n mapTypeId: 'roadmap',\n zoom: 4,\n zoomControlOptions: {\n position: google.maps.ControlPosition.RIGHT_TOP,\n style: google.maps.ZoomControlStyle.LARGE,\n },\n });\n\n // Seta o campo de busca\n const input = document.getElementById('pac-input');\n\n window.searchBox = new google.maps.places.SearchBox(input);\n\n window.mapPlaces.addListener('bounds_changed', function () {\n window.searchBox.setBounds(window.mapPlaces.getBounds());\n });\n\n window.searchBox.addListener('places_changed', function () {\n var places = window.searchBox.getPlaces();\n var resultsPlaces = [];\n var bounds;\n\n // Se não tem lugar retorna ao estado inicial do mapa\n if (places.length == 0) {\n _this.setPlaceMap(false, true, 4);\n\n return;\n }\n\n // Se tem lugar seta no mapa\n if (places.length == 1) {\n bounds = new google.maps.LatLngBounds();\n\n places.forEach((place) => {\n if (place.geometry.viewport) {\n // Only geocodes have viewport.\n bounds.union(place.geometry.viewport);\n } else {\n bounds.extend(place.geometry.location);\n }\n\n resultsPlaces = _this.findPlacesInMap(place);\n\n _this.emptyPlaces();\n\n resultsPlaces.forEach((place, index) => {\n _this.renderPlace(place, index + 1);\n });\n\n _this.setQuantityPlaces(resultsPlaces);\n });\n }\n\n window.mapPlaces.fitBounds(bounds);\n });\n\n // Reseta o mapa se o input fica vazio\n input.addEventListener('change', function () {\n if (this.value == '') {\n _this.renderPlacesByState('all');\n _this.setQuantityPlaces(_this.origPlaces);\n _this.setPlaceMap(false, true, 4);\n }\n });\n\n _this.setMarkersAndClusters(_this.origPlaces);\n },\n // Adiciona, no mapa, os marcadores e clusters para os locais cadastrados\n setMarkersAndClusters: function (_places) {\n var _this = this;\n\n var markers = _places.map(function (place, i) {\n // Posiciona o texto do label de acordo com a quantidade de caracteres\n var point = i + 1 < 9 ? [4, 33] : i + 1 < 100 ? [8, 33] : [12, 33];\n\n var marker = new MarkerWithLabel({\n position: { lat: Number(parseFloat(place.latitude)), lng: Number(parseFloat(place.longitude)) },\n map: window.mapPlaces,\n draggable: false,\n placeId: place.id,\n labelContent: '' /*+ (i + 1).toString()*/ + '',\n labelAnchor: new google.maps.Point(point[0], point[1]),\n labelClass: 'pin-label',\n labelInBackground: false,\n icon: {\n url: '/images/pin.svg',\n scaledSize: new google.maps.Size(32, 32),\n },\n });\n\n // Quando clica no pin do mapa aproxima\n google.maps.event.addListener(marker, 'click', function (e) {\n var place = _this.getPlaceById(this.placeId);\n\n _this.setPlaceMap(place, false, 17);\n });\n\n return marker;\n });\n\n new MarkerClusterer(window.mapPlaces, markers, {\n styles: [\n {\n url: '/images/cluster.svg',\n height: 50,\n width: 50,\n textColor: '#FFF',\n textSize: 28,\n },\n ],\n maxZoom: 15,\n });\n },\n findPlaceLocation: function (position) {\n var _this = this;\n var resultsPlaces = [];\n\n var coordinates = {\n lat: position.coords.latitude,\n lng: position.coords.longitude,\n };\n\n // console.info('buscando por', coordinates);\n\n window.geocoder.geocode({ location: coordinates, region: 'BR' }, function (results, status) {\n if (status == google.maps.GeocoderStatus.OK) {\n resultsPlaces = _this.findPlacesInMap(results[0], status);\n\n _this.emptyPlaces();\n\n resultsPlaces.forEach((place, index) => {\n _this.renderPlace(place, index + 1);\n });\n\n _this.setQuantityPlaces(resultsPlaces);\n _this.setPlaceMap({ latitude: coordinates.lat, longitude: coordinates.lng }, false, 11);\n _this.resetStateSelection();\n }\n });\n },\n findPlacesInMap: function (_placeMap) {\n var _this = this;\n\n var point = _placeMap.geometry.location;\n var pointLit = { lat: point.lat(), lng: point.lng() };\n\n const getPlacesByState = (_state) => {\n // Busca places com o mesmo estado selecionado\n var places = _this.origPlaces.filter(function (curr, i) {\n if (curr.state == _state) {\n return curr;\n }\n });\n\n return places;\n };\n\n const getPlacesByCity = (_city) => {\n // Busca places com a mesma cidade selecionada\n var places = _this.origPlaces.filter(function (curr, i) {\n if (curr.city.toLowerCase() == _city.toLowerCase()) {\n return curr;\n }\n });\n\n return places;\n };\n\n const getPlacesByDistance = (_lat1, _lng1, _lat2, _lng2, _raio) => {\n // Busca places pela distancia entre os pontos considerando o raio em Km passados por parametro\n var distanceKm = _this.distance(_lat1, _lng1, _lat2, _lng2, 'K');\n\n // console.info('distance', parseFloat(distanceKm), parseFloat(_raio));\n\n if (parseFloat(distanceKm) < parseFloat(_raio)) {\n return true;\n } else {\n return false;\n }\n };\n\n if (_placeMap.types[0] == 'administrative_area_level_1') {\n // Busca para estados\n closest = getPlacesByState(_placeMap.address_components[0].short_name);\n } else if (_placeMap.types[0] == 'locality') {\n // Busca para cidades\n\n closest = getPlacesByCity(_placeMap.address_components[0].long_name);\n } else if (_placeMap.types[0] == 'sublocality_level_1') {\n // Busca para bairros e distritos (proximidade de 10Km)\n closest = _this.origPlaces.filter(function (curr, i) {\n if (getPlacesByDistance(pointLit.lat, pointLit.lng, curr.latitude, curr.longitude, 10)) {\n return curr;\n }\n });\n } else {\n // Busca para o restante dos lugares (proximidade de 20Km)\n closest = _this.origPlaces.filter((curr) => {\n if (getPlacesByDistance(pointLit.lat, pointLit.lng, curr.latitude, curr.longitude, 20)) {\n return curr;\n }\n });\n }\n\n return closest;\n },\n // Lida com o clique no botão de mostrar no mapa\n handleShowInMapButton: function () {\n let _this = this;\n const openMap = document.querySelector('[data-open-map]');\n\n //Click no document. Evita que o evento se perca quando o local é removido dos resultados\n document.addEventListener('click', (event) => {\n if (event.target.matches('[data-place]')) {\n event.preventDefault();\n\n // Realiza o click no botão para exibir o mapa\n openMap && openMap.click();\n\n // Obtém o ID do lugar do atributo data-place-id\n let placeId = event.target.getAttribute('data-place-id');\n\n // Obtém o lugar com base no ID\n let place = _this.getPlaceById(placeId);\n\n // Define o mapa com base no lugar\n _this.setPlaceMap(place, false, 17);\n }\n });\n },\n // Lida com a abertura e fechamento da lista e do mapa no mobile\n handleMapTabs: function () {\n const openList = document.querySelector('[data-open-list]');\n const openMap = document.querySelector('[data-open-map]');\n const mapWrapper = document.querySelector('[data-results-map]');\n const listWrapper = document.querySelector('[data-results-places]');\n\n if (openList && openMap) {\n openList.addEventListener('click', (e) => {\n e.preventDefault();\n\n openList.classList.add('-active');\n openMap.classList.remove('-active');\n\n if (listWrapper && !listWrapper.classList.contains('-open')) {\n listWrapper.classList.add('-open');\n }\n if (mapWrapper && mapWrapper.classList.contains('-open')) {\n mapWrapper.classList.remove('-open');\n }\n });\n\n openMap.addEventListener('click', (e) => {\n e.preventDefault();\n\n openMap.classList.add('-active');\n openList.classList.remove('-active');\n\n if (mapWrapper && !mapWrapper.classList.contains('-open')) {\n mapWrapper.classList.add('-open');\n }\n if (listWrapper && listWrapper.classList.contains('-open')) {\n listWrapper.classList.remove('-open');\n }\n });\n }\n },\n // Lida com o dropdown de seleção de estados\n handleSelectStates: function () {\n let _this = this;\n const selectStates = document.querySelector('[data-select-states]');\n\n selectStates &&\n selectStates.addEventListener('change', (e) => {\n e.preventDefault();\n\n const state = e.target.value;\n\n if (state == 'all') {\n _this.renderPlacesByState('all');\n } else {\n _this.renderPlacesByState({ state: state });\n }\n });\n },\n // Lida com o uso de geolocalização para encontrar lojas próximas\n handleGeoLocalization: function () {\n let _this = this;\n const geoLocalizationButton = document.querySelector('[data-geolocation]');\n\n geoLocalizationButton &&\n geoLocalizationButton.addEventListener('click', (e) => {\n e.preventDefault();\n\n const getLocation = () => {\n if (navigator.geolocation) {\n navigator.geolocation.getCurrentPosition(getPosition);\n } else {\n let currentButtonText = geoLocalizationButton.innerHTML;\n\n geoLocalizationButton.innerHTML = 'Geolocalização não suportada';\n geoLocalizationButton.style.pointerEvents = 'none';\n\n setTimeout(() => {\n geoLocalizationButton.innerHTML = currentButtonText;\n geoLocalizationButton.style.pointerEvents = 'all';\n }, 3000);\n }\n };\n\n const getPosition = (position) => {\n _this.findPlaceLocation(position);\n };\n\n getLocation();\n });\n },\n // Chama todas as funções necessárias para o primeiro carregamento do mapa. Chamado apenas no init\n loadMap: function (timerToLoad) {\n var _this = this;\n const mapCanvas = document.querySelector('#map-canvas');\n const storeList = document.querySelector('[data-results-places-list]');\n\n //Limpa todos os eventos e timers de carregamento do mapa\n if (timerToLoad) {\n clearTimeout(timerToLoad);\n }\n window.removeEventListener('mousemove', this.mouseMoveHandler);\n window.removeEventListener('scroll', this.scrollHandler);\n\n _this.sortPlacesByState();\n _this.initMap();\n _this.listAllStates();\n _this.renderPlacesByState('all');\n _this.handleShowInMapButton();\n _this.handleMapTabs();\n _this.handleSelectStates();\n _this.handleGeoLocalization();\n\n mapCanvas && mapCanvas.classList.remove('-loading');\n storeList && storeList.classList.remove('-loading');\n },\n init: function (_places) {\n let _this = this;\n\n _this.origPlaces = JSON.parse(JSON.stringify(_places));\n _this.origPlacesSortedByState = JSON.parse(JSON.stringify(_this.origPlaces));\n _this.quantityPlaces = _this.origPlaces;\n\n //Mapa é carregado ao mover o mouse, no scroll ou depois de 4s\n let timerToLoad = setTimeout(() => {\n _this.loadMap(timerToLoad);\n }, 4000);\n\n // Função para o evento de mousemove\n this.mouseMoveHandler = function () {\n _this.loadMap(timerToLoad);\n };\n\n // Função para o evento de scroll\n this.scrollHandler = function () {\n _this.loadMap(timerToLoad);\n };\n\n window.addEventListener('mousemove', this.mouseMoveHandler, { once: true });\n window.addEventListener('scroll', this.scrollHandler, { once: true });\n },\n};\n\nconst loadShops = (places) => {\n storeFinder.init(places);\n};\n\ndocument.addEventListener('DOMContentLoaded', () => {\n fetch('/locais')\n .then((response) => {\n if (!response.ok) {\n throw new Error('Fetch response was not ok');\n }\n return response.json();\n })\n .then((data) => {\n console.log('data', data);\n loadShops(data);\n })\n .catch((error) => {\n console.error('There was a problem with the fetch operation:', error);\n });\n});\n"],"names":["window","google","geocoder","bounds","mapPlaces","searchBox","initialLatLang","lat","lng","statesInfo","AC","name","sigla","metropolis","latitude","longitude","AL","AM","AP","BA","CE","DF","ES","GO","MA","MG","MS","MT","PA","PB","PE","PI","PR","RJ","RN","RO","RR","RS","SC","SE","SP","TO","storeFinder","origPlaces","origPlacesSortedByState","quantityPlaces","states","distance","lat1","lon1","lat2","lon2","unit","radlat1","Math","radlat2","theta","radtheta","dist","sin","cos","acos","getPlaceById","id","place","i","this","length","sortPlacesByState","sort","a","b","stateA","state","toLowerCase","stateB","renderPlacesByState","filter","_this","emptyPlaces","forEach","index","renderPlace","setPlaceMap","setQuantityPlaces","resultsPlaces","listAllStates","boxStates","document","querySelector","selectAll","createElement","value","innerHTML","append","optionState","resetStateSelection","options","querySelectorAll","option","selected","_places","boxQuantity","_place","_index","boxPlaces","htmlPlace","images","address_line_1","neighborhood","city","first_phone","email","classList","add","scroll","top","left","behavior","_options","initial","zoom","setZoom","setCenter","Number","parseFloat","initMap","maps","Geocoder","Map","getElementById","center","scrollwheel","mapTypeId","zoomControlOptions","position","ControlPosition","RIGHT_TOP","style","ZoomControlStyle","LARGE","input","places","SearchBox","addListener","setBounds","getBounds","getPlaces","LatLngBounds","geometry","viewport","union","extend","location","findPlacesInMap","fitBounds","addEventListener","setMarkersAndClusters","markers","map","point","marker","MarkerWithLabel","draggable","placeId","labelContent","labelAnchor","Point","labelClass","labelInBackground","icon","url","scaledSize","Size","event","e","MarkerClusterer","styles","height","width","textColor","textSize","maxZoom","findPlaceLocation","coordinates","coords","geocode","region","results","status","GeocoderStatus","OK","_placeMap","pointLit","getPlacesByDistance","_lat1","_lng1","_lat2","_lng2","_raio","distanceKm","_city","_state","types","closest","address_components","short_name","curr","long_name","handleShowInMapButton","openMap","target","matches","preventDefault","click","getAttribute","handleMapTabs","openList","mapWrapper","listWrapper","remove","contains","handleSelectStates","selectStates","handleGeoLocalization","geoLocalizationButton","getPosition","navigator","geolocation","getCurrentPosition","currentButtonText","pointerEvents","setTimeout","getLocation","loadMap","timerToLoad","mapCanvas","storeList","clearTimeout","removeEventListener","mouseMoveHandler","scrollHandler","init","JSON","parse","stringify","once","fetch","then","response","ok","Error","json","data","console","log","catch","error"],"sourceRoot":""}