{"version":3,"sources":["dbs.gmaps.ts"],"names":["DBS","MarkerWithPopup","_super","_this","apply","this","arguments","html","__extends","google","maps","Marker","mapId","map","infoWindow","initialZoom","directionsDisplay","directionsService","placeMarkers","loadXmlDocument","xml","bounds","placemarks","responseXML","documentElement","getElementsByTagName","i","Map","document","getElementById","zoom","center","LatLng","mapTypeId","MapTypeId","ROADMAP","length","coords","childNodes","nodeValue","name_1","desc","icon","coordValues","split","point","parseFloat","marker","position","title","event","addListener","close","InfoWindow","content","open","push","LatLngBounds","forEach","value","extend","getPosition","zoomChangeBoundsListener","getZoom","setZoom","removeListener","fitBounds","half","$","parent","appendTo","hide","attr","text","getTitle","element","branchList","createElement","getIcon","toString","indexOf","link","listItem","href","addEventListener","ev","preventDefault","trigger","panelOffset","offset","window","scrollTop","top","innerText","appendChild","fetchDirections","fromAddress","toAddress","destinationObj","parseInt","panel","setMap","setPanel","route","origin","destination","travelMode","TravelMode","DRIVING","unitSystem","UnitSystem","IMPERIAL","provideRouteAlternatives","presentDirections","result","status","directions","errorMsg","DirectionsStatus","OK","style","display","setDirections","GoogleMap","DirectionsRenderer","DirectionsService","Array","Initialize","XmlPath","MapId","ajax","url","complete","submitBtn"],"mappings":"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","file":"dbs.gmaps.js","sourcesContent":["/// \r\n/// \r\n\r\nclass MarkerWithPopup extends google.maps.Marker\r\n{\r\n public html: string = \"\";\r\n}\r\n\r\nmodule DBS.GoogleMap\r\n{\r\n let xmlPath: string;\r\n let mapId: string;\r\n\r\n let map: google.maps.Map;\r\n let infoWindow: google.maps.InfoWindow;\r\n let initialZoom: boolean;\r\n\r\n let directionsDisplay = new google.maps.DirectionsRenderer();\r\n let directionsService = new google.maps.DirectionsService();\r\n let placeMarkers = new Array();\r\n\r\n function loadXmlDocument(xml: JQueryXHR): void\r\n {\r\n const placemarks = (xml.responseXML as XMLDocument).documentElement.getElementsByTagName(\"Placemark\");\r\n\r\n map = new google.maps.Map(document.getElementById(mapId),\r\n {\r\n zoom: 16,\r\n center: new google.maps.LatLng(0, 0),\r\n mapTypeId: google.maps.MapTypeId.ROADMAP\r\n });\r\n\r\n for (let i = 0; i < placemarks.length; i++)\r\n {\r\n const placemark = placemarks[i];\r\n\r\n const coords = placemark.getElementsByTagName(\"coordinates\")[0].childNodes[0].nodeValue;\r\n if (coords == null)\r\n {\r\n continue;\r\n }\r\n\r\n const name = placemarks[i].getElementsByTagName(\"name\")[0].childNodes[0].nodeValue;\r\n const desc = placemarks[i].getElementsByTagName(\"description\")[0].childNodes[1].nodeValue;\r\n const icon = placemarks[i].getElementsByTagName(\"iconHref\")[0].childNodes[1].nodeValue;\r\n\r\n const coordValues = coords.split(\",\");\r\n const point = new google.maps.LatLng(parseFloat(coordValues[1]), parseFloat(coordValues[0]));\r\n\r\n const marker = new MarkerWithPopup({\r\n map: map,\r\n position: point,\r\n title: (name as string),\r\n icon: (icon as string)\r\n } as google.maps.MarkerOptions);\r\n marker.html = `

${name}

${desc}`;\r\n\r\n google.maps.event.addListener(marker,\r\n \"click\",\r\n function(this: MarkerWithPopup)\r\n {\r\n if (infoWindow != null)\r\n {\r\n infoWindow.close();\r\n }\r\n\r\n infoWindow = new google.maps.InfoWindow({\r\n content: this.html\r\n });\r\n infoWindow.open(map, marker);\r\n });\r\n\r\n placeMarkers.push(marker);\r\n }\r\n\r\n findMapCenterAndZoom();\r\n setupDirectionsBranchList();\r\n setupHtmlBranchList();\r\n }\r\n\r\n function findMapCenterAndZoom(): void\r\n {\r\n if (map == null)\r\n {\r\n return;\r\n }\r\n\r\n const bounds = new google.maps.LatLngBounds();\r\n placeMarkers.forEach((value: google.maps.Marker) =>\r\n {\r\n bounds.extend(value.getPosition());\r\n });\r\n\r\n google.maps.event.addListener(map,\r\n \"zoom_changed\",\r\n () =>\r\n {\r\n const zoomChangeBoundsListener = google.maps.event.addListener(map,\r\n \"bounds_changed\",\r\n function(this: google.maps.Map)\r\n {\r\n if (this.getZoom() > 12 && initialZoom)\r\n {\r\n // Change max/min zoom here\r\n this.setZoom(12);\r\n initialZoom = false;\r\n }\r\n google.maps.event.removeListener(zoomChangeBoundsListener);\r\n });\r\n });\r\n\r\n initialZoom = true;\r\n map.fitBounds(bounds);\r\n }\r\n\r\n function setupDirectionsBranchList(): void\r\n {\r\n if (placeMarkers.length === 1)\r\n {\r\n const half = $(\"#google-map-to\").parent();\r\n $(\"#google-map-from\").appendTo(half);\r\n $(\"#google-map-to\").hide();\r\n $(\"label[for=google-map-to]\").hide();\r\n }\r\n\r\n for (let i = 0; i < placeMarkers.length; i++)\r\n {\r\n $(\"