{"version":3,"sources":["gmap.js"],"names":["map","itemClicked","locations","markers","mapSelector","document","getElementById","dealerLocatorList","querySelector","mapOption","zoom","styles","featureType","elementType","stylers","saturation","color","lightness","visibility","weight","gamma","myoverlay","google","maps","OverlayView","infoWindow","InfoWindow","addMarkers","bounds","LatLngBounds","forEach","location","index","locationLatLng","LatLng","lat","lng","marker","Marker","title","name","position","icon","extend","push","showInfoMarkerOnMap","fitBounds","event","addListener","setContent","concat","address","phone","open","panTo","getPosition","setZoom","getLocationList","innerHTML","getBounds","contains","newMarker","createElement","classList","add","setAttribute","addEventListener","markerIndex","getAttribute","trigger","appendChild","initialize","inputLocations","Map","listener","getZoom","removeListener","close","addDomListener","window"],"mappings":"AAAA,aAAA,IAAIA,IAAKC,YAAaC,UAAWC,QAAU,GACrCC,YAAcC,SAASC,eAAe,OACtCC,kBAAoBF,SAASG,cAAc,uBAC3CC,UAAY,CACjBC,KAAM,GACNC,OAAQ,CAAC,CACRC,YAAe,MACfC,YAAe,mBACfC,QAAW,CAAC,CACXC,WAAc,IACZ,CACFC,MAAS,WACP,CACFC,UAAa,MAEZ,CACFL,YAAe,MACfC,YAAe,qBACfC,QAAW,CAAC,CACXI,WAAc,MACZ,CACFF,MAAS,WACP,CACFC,UAAa,MAEZ,CACFL,YAAe,MACfC,YAAe,cACfC,QAAW,CAAC,CACXI,WAAc,SAEb,CACFN,YAAe,iBACfC,YAAe,gBACfC,QAAW,CAAC,CACXE,MAAS,WACP,CACFC,UAAa,MAEZ,CACFL,YAAe,iBACfC,YAAe,kBACfC,QAAW,CAAC,CACXE,MAAS,WACP,CACFC,UAAa,IACX,CACFE,OAAU,OAET,CACFP,YAAe,YACfC,YAAe,WACfC,QAAW,CAAC,CACXE,MAAS,WACP,CACFC,UAAa,MAEZ,CACFL,YAAe,YACfC,YAAe,cACfC,QAAW,CAAC,CACXC,WAAc,MACZ,CACFE,UAAa,QAEZ,CACFL,YAAe,MACfC,YAAe,WACfC,QAAW,CAAC,CACXE,MAAS,WACP,CACFC,UAAa,MAEZ,CACFL,YAAe,OACfC,YAAe,mBACfC,QAAW,CAAC,CACXC,WAAc,KACZ,CACFE,UAAa,MACX,CACFC,WAAc,MACZ,CACFF,MAAS,aAER,CACFJ,YAAe,eACfC,YAAe,WACfC,QAAW,CAAC,CACXC,WAAc,KACZ,CACFK,MAAS,QACP,CACFF,WAAc,gBAEb,CACFN,YAAe,eACfC,YAAe,gBACfC,QAAW,CAAC,CACXG,UAAa,IACX,CACFC,WAAc,cACZ,CACFF,MAAS,aAER,CACFJ,YAAe,eACfC,YAAe,kBACfC,QAAW,CAAC,CACXE,MAAS,WACP,CACFC,UAAa,IACX,CACFE,OAAU,MAET,CACFP,YAAe,gBACfC,YAAe,WACfC,QAAW,CAAC,CACXE,MAAS,WACP,CACFC,UAAa,KAEZ,CACFL,YAAe,aACfC,YAAe,WACfC,QAAW,CAAC,CACXE,MAAS,WACP,CACFC,UAAa,MAEZ,CACFL,YAAe,UACfC,YAAe,WACfC,QAAW,CAAC,CACXE,MAAS,WACP,CACFC,UAAa,MAEZ,CACFL,YAAe,QACfC,YAAe,WACfC,QAAW,CAAC,CACXE,MAAS,WACP,CACFC,UAAa,KAEZ,CACFL,YAAe,QACfC,YAAe,cACfC,QAAW,CAAC,CACXE,MAAS,eAINK,UAAY,IAAIC,OAAOC,KAAKC,YAC5BC,WAAa,IAAIH,OAAOC,KAAKG,WAE7BC,WAAa,WAClB,IAAMC,OAAS,IAAIN,OAAOC,KAAKM,aAC/B3B,UAAU4B,QAAQ,SAACC,SAAUC,OAC5B,IAAIC,eAAiB,IAAIX,OAAOC,KAAKW,OAAOH,SAASI,IAAKJ,SAASK,KAC/DC,OAAS,IAAIf,OAAOC,KAAKe,OAAO,CACnCtC,IAAKA,IACLuC,MAAOR,SAASS,KAChBC,SAAUR,eACVS,KAAM,sCAEPd,OAAOe,OAAON,OAAOI,UACrBtC,QAAQyC,KAAKP,QACbQ,oBAAoBR,OAAQL,SAG7BhC,IAAI8C,UAAUlB,SAGTiB,oBAAsB,SAACR,OAAQL,OACpCV,OAAOC,KAAKwB,MAAMC,YAAYX,OAAQ,QAAS,WAC9CZ,WAAWwB,WAAX,eAAAC,OACOhD,UAAU8B,OAAOQ,KADxB,oBAAAU,OAEMhD,UAAU8B,OAAOmB,QAFvB,mBAAAD,OAGMhD,UAAU8B,OAAOoB,MAHvB,eAKAnD,YAAc+B,MACdP,WAAW4B,KAAKrD,IAAKqC,QACrBrC,IAAIsD,MAAMjB,OAAOkB,eACjBvD,IAAIwD,QAAQ,OAIRC,gBAAkB,WACnBlD,oBACHA,kBAAkBmD,UAAY,GAC9BvD,QAAQ2B,QAAQ,SAACO,OAAQL,OACxB,GAAIhC,IAAI2D,YAAYC,SAASvB,OAAOkB,eAAgB,CACnD,IAAMM,UAAYxD,SAASyD,cAAc,OACzCD,UAAUE,UAAUC,IAAI,WAAY,cAEpCH,UAAUH,UAAV,iBAAAR,OACMhD,UAAU8B,OAAOQ,KADvB,sCAAAU,OAEqBhD,UAAU8B,OAAOmB,QAFtC,wCAAAD,OAGwBhD,UAAU8B,OAAOoB,MAHzC,gBAKAS,UAAUI,aAAa,YAAvB,GAAAf,OAAuClB,QACvC6B,UAAUK,iBAAiB,QAAS,WACnCjE,YAAc+B,MACd,IAAMmC,YAAcN,UAAUO,aAAa,aAC3C9C,OAAOC,KAAKwB,MAAMsB,QAAQlE,QAAQgE,aAAc,WAEjD5D,kBAAkB+D,YAAYT,gBAM5BU,WAAa,WAClBpE,QAAU,GACVD,UAAYsE,eACZxE,IAAM,IAAIsB,OAAOC,KAAKkD,IAAIrE,YAAaK,WACvCkB,aACA,IAAI+C,SAAWpD,OAAOC,KAAKwB,MAAMC,YAAYhD,IAAK,OAAQ,WACrDA,IAAI2E,UAAY,IACnB3E,IAAIwD,QAAQ,IAEblC,OAAOC,KAAKwB,MAAM6B,eAAeF,YAE9BjD,YACHH,OAAOC,KAAKwB,MAAMC,YAAYhD,IAAK,QAAS,WAC3CyB,WAAWoD,UAGbvD,OAAOC,KAAKwB,MAAMC,YAAYhD,IAAK,iBAAkByD,kBAGlDrD,aACHkB,OAAOC,KAAKwB,MAAM+B,eAAeC,OAAQ,OAAQR","file":"gmap.min.js","sourcesContent":["let map, itemClicked, locations, markers = [];\r\nconst mapSelector = document.getElementById('map');\r\nconst dealerLocatorList = document.querySelector('.map-list #map-list');\r\nconst mapOption = {\r\n\tzoom: 12,\r\n\tstyles: [{\r\n\t\t\"featureType\": \"all\",\r\n\t\t\"elementType\": \"labels.text.fill\",\r\n\t\t\"stylers\": [{\r\n\t\t\t\"saturation\": 36\r\n\t\t}, {\r\n\t\t\t\"color\": \"#000000\"\r\n\t\t}, {\r\n\t\t\t\"lightness\": 40\r\n\t\t}]\r\n\t}, {\r\n\t\t\"featureType\": \"all\",\r\n\t\t\"elementType\": \"labels.text.stroke\",\r\n\t\t\"stylers\": [{\r\n\t\t\t\"visibility\": \"on\"\r\n\t\t}, {\r\n\t\t\t\"color\": \"#000000\"\r\n\t\t}, {\r\n\t\t\t\"lightness\": 16\r\n\t\t}]\r\n\t}, {\r\n\t\t\"featureType\": \"all\",\r\n\t\t\"elementType\": \"labels.icon\",\r\n\t\t\"stylers\": [{\r\n\t\t\t\"visibility\": \"off\"\r\n\t\t}]\r\n\t}, {\r\n\t\t\"featureType\": \"administrative\",\r\n\t\t\"elementType\": \"geometry.fill\",\r\n\t\t\"stylers\": [{\r\n\t\t\t\"color\": \"#000000\"\r\n\t\t}, {\r\n\t\t\t\"lightness\": 20\r\n\t\t}]\r\n\t}, {\r\n\t\t\"featureType\": \"administrative\",\r\n\t\t\"elementType\": \"geometry.stroke\",\r\n\t\t\"stylers\": [{\r\n\t\t\t\"color\": \"#000000\"\r\n\t\t}, {\r\n\t\t\t\"lightness\": 17\r\n\t\t}, {\r\n\t\t\t\"weight\": 1.2\r\n\t\t}]\r\n\t}, {\r\n\t\t\"featureType\": \"landscape\",\r\n\t\t\"elementType\": \"geometry\",\r\n\t\t\"stylers\": [{\r\n\t\t\t\"color\": \"#000000\"\r\n\t\t}, {\r\n\t\t\t\"lightness\": 20\r\n\t\t}]\r\n\t}, {\r\n\t\t\"featureType\": \"landscape\",\r\n\t\t\"elementType\": \"labels.text\",\r\n\t\t\"stylers\": [{\r\n\t\t\t\"saturation\": \"-6\"\r\n\t\t}, {\r\n\t\t\t\"lightness\": \"12\"\r\n\t\t}]\r\n\t}, {\r\n\t\t\"featureType\": \"poi\",\r\n\t\t\"elementType\": \"geometry\",\r\n\t\t\"stylers\": [{\r\n\t\t\t\"color\": \"#000000\"\r\n\t\t}, {\r\n\t\t\t\"lightness\": 21\r\n\t\t}]\r\n\t}, {\r\n\t\t\"featureType\": \"road\",\r\n\t\t\"elementType\": \"labels.text.fill\",\r\n\t\t\"stylers\": [{\r\n\t\t\t\"saturation\": \"1\"\r\n\t\t}, {\r\n\t\t\t\"lightness\": \"-1\"\r\n\t\t}, {\r\n\t\t\t\"visibility\": \"on\"\r\n\t\t}, {\r\n\t\t\t\"color\": \"#ffffff\"\r\n\t\t}]\r\n\t}, {\r\n\t\t\"featureType\": \"road.highway\",\r\n\t\t\"elementType\": \"geometry\",\r\n\t\t\"stylers\": [{\r\n\t\t\t\"saturation\": \"9\"\r\n\t\t}, {\r\n\t\t\t\"gamma\": \"0.93\"\r\n\t\t}, {\r\n\t\t\t\"visibility\": \"simplified\"\r\n\t\t}]\r\n\t}, {\r\n\t\t\"featureType\": \"road.highway\",\r\n\t\t\"elementType\": \"geometry.fill\",\r\n\t\t\"stylers\": [{\r\n\t\t\t\"lightness\": 17\r\n\t\t}, {\r\n\t\t\t\"visibility\": \"simplified\"\r\n\t\t}, {\r\n\t\t\t\"color\": \"#D82F25\"\r\n\t\t}]\r\n\t}, {\r\n\t\t\"featureType\": \"road.highway\",\r\n\t\t\"elementType\": \"geometry.stroke\",\r\n\t\t\"stylers\": [{\r\n\t\t\t\"color\": \"#000000\"\r\n\t\t}, {\r\n\t\t\t\"lightness\": 29\r\n\t\t}, {\r\n\t\t\t\"weight\": 0.2\r\n\t\t}]\r\n\t}, {\r\n\t\t\"featureType\": \"road.arterial\",\r\n\t\t\"elementType\": \"geometry\",\r\n\t\t\"stylers\": [{\r\n\t\t\t\"color\": \"#575757\"\r\n\t\t}, {\r\n\t\t\t\"lightness\": 1\r\n\t\t}]\r\n\t}, {\r\n\t\t\"featureType\": \"road.local\",\r\n\t\t\"elementType\": \"geometry\",\r\n\t\t\"stylers\": [{\r\n\t\t\t\"color\": \"#000000\"\r\n\t\t}, {\r\n\t\t\t\"lightness\": 16\r\n\t\t}]\r\n\t}, {\r\n\t\t\"featureType\": \"transit\",\r\n\t\t\"elementType\": \"geometry\",\r\n\t\t\"stylers\": [{\r\n\t\t\t\"color\": \"#000000\"\r\n\t\t}, {\r\n\t\t\t\"lightness\": 19\r\n\t\t}]\r\n\t}, {\r\n\t\t\"featureType\": \"water\",\r\n\t\t\"elementType\": \"geometry\",\r\n\t\t\"stylers\": [{\r\n\t\t\t\"color\": \"#2B2B2B\"\r\n\t\t}, {\r\n\t\t\t\"lightness\": 0\r\n\t\t}]\r\n\t}, {\r\n\t\t\"featureType\": \"water\",\r\n\t\t\"elementType\": \"labels.text\",\r\n\t\t\"stylers\": [{\r\n\t\t\t\"color\": \"#ffffff\"\r\n\t\t}]\r\n\t}]\r\n};\r\nconst myoverlay = new google.maps.OverlayView();\r\nconst infoWindow = new google.maps.InfoWindow();\r\n\r\nconst addMarkers = () => {\r\n\tconst bounds = new google.maps.LatLngBounds();\r\n\tlocations.forEach((location, index) => {\r\n\t\tlet locationLatLng = new google.maps.LatLng(location.lat, location.lng);\r\n\t\tlet marker = new google.maps.Marker({\r\n\t\t\tmap: map,\r\n\t\t\ttitle: location.name,\r\n\t\t\tposition: locationLatLng,\r\n\t\t\ticon: '/Content/Resources/img/circle.png',\r\n\t\t});\r\n\t\tbounds.extend(marker.position);\r\n\t\tmarkers.push(marker);\r\n\t\tshowInfoMarkerOnMap(marker, index);\r\n\t});\r\n\r\n\tmap.fitBounds(bounds);\r\n};\r\n\r\nconst showInfoMarkerOnMap = (marker, index) => {\r\n\tgoogle.maps.event.addListener(marker, 'click', function() {\r\n\t\tinfoWindow.setContent(`\r\n\t\t\t

${locations[index].name}

\r\n\t\t\t

${locations[index].address}

\r\n\t\t\t

${locations[index].phone}

\r\n\t\t`);\r\n\t\titemClicked = index;\r\n\t\tinfoWindow.open(map, marker);\r\n\t\tmap.panTo(marker.getPosition());\r\n\t\tmap.setZoom(12);\r\n\t})\r\n};\r\n\r\nconst getLocationList = () => {\r\n\tif (dealerLocatorList) {\r\n\t\tdealerLocatorList.innerHTML = '';\r\n\t\tmarkers.forEach((marker, index) => {\r\n\t\t\tif (map.getBounds().contains(marker.getPosition())) {\r\n\t\t\t\tconst newMarker = document.createElement('div');\r\n\t\t\t\tnewMarker.classList.add('map-item', 'maker-info');\r\n\r\n\t\t\t\tnewMarker.innerHTML = `\r\n\t\t\t\t

${locations[index].name}

\r\n\t\t\t\t

Địa chỉ: ${locations[index].address}

\r\n\t\t\t\t

Điện thoại: ${locations[index].phone}

\r\n\t\t\t`;\r\n\t\t\t\tnewMarker.setAttribute('marker-id', `${index}`);\r\n\t\t\t\tnewMarker.addEventListener('click', () => {\r\n\t\t\t\t\titemClicked = index;\r\n\t\t\t\t\tconst markerIndex = newMarker.getAttribute('marker-id');\r\n\t\t\t\t\tgoogle.maps.event.trigger(markers[markerIndex], 'click');\r\n\t\t\t\t});\r\n\t\t\t\tdealerLocatorList.appendChild(newMarker);\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n};\r\n\r\nconst initialize = () => {\r\n\tmarkers = [];\r\n\tlocations = inputLocations;\r\n\tmap = new google.maps.Map(mapSelector, mapOption);\r\n\taddMarkers();\r\n\tlet listener = google.maps.event.addListener(map, 'idle', () => {\r\n\t\tif (map.getZoom() > 12) {\r\n\t\t\tmap.setZoom(12);\r\n\t\t}\r\n\t\tgoogle.maps.event.removeListener(listener);\r\n\t});\r\n\tif (infoWindow) {\r\n\t\tgoogle.maps.event.addListener(map, 'click', function() {\r\n\t\t\tinfoWindow.close();\r\n\t\t});\r\n\t}\t\r\n\tgoogle.maps.event.addListener(map, 'bounds_changed', getLocationList);\r\n};\r\n\r\nif (mapSelector) {\r\n\tgoogle.maps.event.addDomListener(window, 'load', initialize);\r\n}"]}