{"version":3,"file":"showcase-listings-map.min.js","names":["ils","showcaseListings","SetPolygonCoordinates","latLngArray","length","polygon","setMap","polyline","viewModel","PolygonCoordinates","latLngs","i","getAt","lat","lng","replace","setMapZoom","maxZoomLevel","map","customMarker","$","is","getZoom","setZoom","counter","setTimeout","createPhoneNumberHtml","phone","isPayPerClick","FormatPhone","showInfoWindow","markerIndex","smoothPanning","infoBoxOptions","boxStyle","background","width","breakpoint","border","brandColorPrimary","closeBoxURL","imageDomain","closeBoxMargin","pixelOffset","google","maps","Size","disableAutoPan","doOpen","markers","infoBox","html","setOptions","extend","content","InfoBox","latLng","getPosition","currentZoom","panTo","timeout","clearTimeout","undefined","open","createMarker","showcaseItem","latlng","isLastAddress","icon","isFeaturedIcon","imageForRetina","MarkerImage","markerOptions","position","marker","Marker","IsFeaturedIcon","Title","GetImage","Image","ABTestImage","DetailsPageUrl","Phone","IsPayPerClick","join","event","addListener","ClusterMarkers","markersToCluster","filter","item","clusterMarkers","markerClusterer","MarkerClusterer","styles","url","height","textSize","textColor","minimumClusterSize","clusterQuantity","AddMarkerAndExpandBounds","markerImage","currentIndex","bounds","LatLngBounds","addressMarker","fitBounds","AddPlaceholderMarker","LatLng","SetUserAddress","AddressText","addr","indexOf","toLowerCase","cityName","geocoder","geocode","address","results","status","GeocoderStatus","OK","baseUrl","geometry","location","boxClass","addressInfoBox","ReadyToLoadData","AddressLat","toString","AddressLong","close","initializeMap","Geocoder","mapCenter","neighborhoodMapCenterKey","neighborhoodMapCenterValue","myOptions","center","zoom","mapTypeControlOptions","ControlPosition","TOP_RIGHT","Map","document","getElementById","polygonOpts","editable","strokeColor","strokeOpacity","strokeWeight","fillColor","brandColorSecondary","fillOpacity","drawingManager","drawing","DrawingManager","drawingControl","drawingControlOptions","drawingModes","OverlayType","POLYGON","polygonOptions","getPath","MapMode","polygonCoordinates","decodedCoords","encoding","decodePath","Polygon","paths","hidePolygon","mouseMoveHandler","polyLineHandler","EndDrawing","removeListener","getLength","push","isDrawing","Polyline","e","trackGoogleMapsEvent","MapsGACategories","DynamicMaps","error","console","geocodingMarkerCount","codeAddress","CorrectedGeocodedLat","CorrectedGeocodedLong","GeocodedLat","GeocodedLong","trim","Address","City","Zipcode","clearMarkers","mapMarkerClick","href","trigger","FormatFloorPlanTypesForMarker","types","typeArray","split","consecutive","parseInt","MapResized","getCenter","addEventListener","initMapTimeout","on","slideToggle"],"sources":["showcase-listings-map.js"],"mappings":"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","sourcesContent":["var ils;\n(function (ils) {\n var showcaseListings;\n (function (showcaseListings) {\n showcaseListings.markers = [];\n showcaseListings.bounds = new google.maps.LatLngBounds();\n ;\n showcaseListings.polygon = null;\n showcaseListings.isDrawing = false;\n function SetPolygonCoordinates(latLngArray) {\n if (latLngArray.length <= 2) {\n if (showcaseListings.polygon)\n showcaseListings.polygon.setMap(null);\n if (showcaseListings.polyline)\n showcaseListings.polyline.setMap(null);\n ils.showcaseListings.viewModel.PolygonCoordinates(\"\");\n return;\n }\n var latLngs = '';\n for (var i = 0; i < latLngArray.length; i++) {\n latLngs += latLngArray.getAt(i).lat() + ' ' + latLngArray.getAt(i).lng() + ', ';\n }\n if (latLngArray.getAt(0).lat() != latLngArray.getAt(latLngArray.length - 1).lat() || latLngArray.getAt(0).lng() != latLngArray.getAt(latLngArray.length - 1).lng())\n latLngs += latLngArray.getAt(0).lat() + ' ' + latLngArray.getAt(0).lng();\n else\n latLngs = latLngs.replace(/,\\s$/, \"\");\n showcaseListings.viewModel.PolygonCoordinates(latLngs);\n }\n showcaseListings.SetPolygonCoordinates = SetPolygonCoordinates;\n function setMapZoom(maxZoomLevel) {\n if (showcaseListings.map.customMarker || $('#map_canvas').is(\":visible\")) {\n if (showcaseListings.map.getZoom() > maxZoomLevel)\n showcaseListings.map.setZoom(maxZoomLevel);\n if (showcaseListings.counter < 4 && showcaseListings.map.getZoom() != maxZoomLevel) {\n showcaseListings.counter++;\n setTimeout(function () { setMapZoom(maxZoomLevel); }, 1000);\n }\n }\n }\n showcaseListings.setMapZoom = setMapZoom;\n function createPhoneNumberHtml(phone, isPayPerClick) {\n if (isPayPerClick) {\n return '';\n }\n return ` ${showcaseListings.FormatPhone(phone)}`;\n }\n showcaseListings.createPhoneNumberHtml = createPhoneNumberHtml;\n function showInfoWindow(markerIndex, smoothPanning) {\n var infoBoxOptions = {\n boxStyle: {\n background: \"#fff\",\n width: breakpoint() === \"mobile\" ? \"200px\" : \"250px\",\n border: \"3px solid \" + brandColorPrimary,\n 'border-radius': \"5px\"\n },\n closeBoxURL: imageDomain + 'img/close.png?width=50&v=1',\n closeBoxMargin: \"-12px -14px 0 0\",\n pixelOffset: new google.maps.Size((breakpoint() === \"mobile\" ? -100 : -115), (breakpoint() === \"mobile\" ? -140 : -165)),\n disableAutoPan: smoothPanning\n };\n var doOpen = false;\n if (showcaseListings.markers[markerIndex]) {\n if (!showcaseListings.infoBox || showcaseListings.infoBox[\"content_\"] !== showcaseListings.markers[markerIndex].html) {\n if (showcaseListings.infoBox)\n showcaseListings.infoBox.setOptions($.extend({}, infoBoxOptions, { content: showcaseListings.markers[markerIndex].html }));\n else\n showcaseListings.infoBox = new InfoBox($.extend({}, infoBoxOptions, { content: showcaseListings.markers[markerIndex].html }));\n doOpen = true;\n }\n else if (showcaseListings.infoBox[\"content\"] === showcaseListings.markers[markerIndex].html && !showcaseListings.infoBox[\"map\"])\n doOpen = true;\n }\n if (doOpen) {\n if (smoothPanning) {\n var latLng = showcaseListings.markers[markerIndex].getPosition();\n //Now center ils.map slowly\n var currentZoom = showcaseListings.map[\"zoom\"];\n showcaseListings.map.panTo(latLng);\n // We're wrapping this up in a timeout because there were issues with Google maps panning way off into the Atlantic ocean\n // when you were zoomed in\n var timeout = setTimeout(function () {\n showcaseListings.map.setZoom(currentZoom);\n showcaseListings.map.panTo(latLng);\n clearTimeout(timeout);\n timeout = undefined;\n }, 200);\n }\n if (!showcaseListings.infoBox) {\n showcaseListings.infoBox = new InfoBox($.extend({}, infoBoxOptions, { content: showcaseListings.markers[markerIndex].html }));\n }\n showcaseListings.infoBox.open(showcaseListings.map, showcaseListings.markers[markerIndex]);\n }\n }\n showcaseListings.showInfoWindow = showInfoWindow;\n function createMarker(showcaseItem, latlng, isLastAddress, icon = null, isFeaturedIcon = false) {\n const markerIndex = showcaseListings.markers.length;\n const imageForRetina = new google.maps.MarkerImage(icon, null, null, null, new google.maps.Size(38, 61));\n const markerOptions = { position: latlng, map: showcaseListings.map, icon: imageForRetina };\n const marker = new google.maps.Marker(markerOptions);\n marker.IsFeaturedIcon = isFeaturedIcon;\n if (!showcaseListings.map.customMarker) {\n marker.html = [\n '
',\n `\"${showcaseItem.Title}\"`,\n `= 17 ? showcaseItem.Title.length >= 20 ? ' longer' : ' long' : ''}\" onclick=\"return ils.showcaseListings.mapMarkerClick('${showcaseItem.DetailsPageUrl}');\" target=\"_blank\" href=\"${showcaseItem.DetailsPageUrl}\">${showcaseItem.Title}`,\n createPhoneNumberHtml(showcaseItem.Phone, showcaseItem.IsPayPerClick),\n `Learn More `,\n '
',\n '
'\n ].join('');\n google.maps.event.addListener(marker, \"click\", function () {\n showInfoWindow(markerIndex, true);\n });\n }\n return marker;\n }\n showcaseListings.createMarker = createMarker;\n function ClusterMarkers() {\n var markersToCluster = showcaseListings.markers.filter(function (item) { return !item.IsFeaturedIcon; });\n if (clusterMarkers) {\n showcaseListings.markerClusterer = new MarkerClusterer(showcaseListings.map, markersToCluster, {\n styles: [\n {\n url: imageDomain + 'img/map-cluster.png?v=1',\n height: 38,\n width: 38,\n textSize: 20,\n textColor: '#fff'\n }\n ],\n minimumClusterSize: clusterQuantity\n });\n }\n }\n showcaseListings.ClusterMarkers = ClusterMarkers;\n function AddMarkerAndExpandBounds(latlng, showcaseItem, isLastAddress, markerImage, currentIndex = 0) {\n currentIndex = !currentIndex || currentIndex <= 0 ? showcaseListings.markers.length : currentIndex;\n showcaseListings.markers[currentIndex] = createMarker(showcaseItem, latlng, isLastAddress, markerImage, showcaseItem.IsFeaturedIcon);\n if (!showcaseListings.bounds) {\n showcaseListings.bounds = new google.maps.LatLngBounds();\n }\n showcaseListings.bounds.extend(showcaseListings.markers[showcaseListings.markers.length - 1].position);\n if (isLastAddress) {\n if (showcaseListings.addressMarker)\n showcaseListings.bounds.extend(showcaseListings.addressMarker.getPosition());\n showcaseListings.map.fitBounds(showcaseListings.bounds);\n setTimeout(function () {\n setMapZoom(17);\n ClusterMarkers();\n }, 100);\n }\n }\n showcaseListings.AddMarkerAndExpandBounds = AddMarkerAndExpandBounds;\n function AddPlaceholderMarker(showcaseItem, isLastAddress, markerImage, currentIndex) {\n currentIndex = !currentIndex || currentIndex <= 0 ? showcaseListings.markers.length : currentIndex;\n var latlng = new google.maps.LatLng(1.0, 1.0);\n showcaseListings.markers[currentIndex] = createMarker(showcaseItem, latlng, isLastAddress, markerImage, showcaseItem.IsFeaturedIcon);\n }\n showcaseListings.AddPlaceholderMarker = AddPlaceholderMarker;\n showcaseListings.geocodingMarkerCount = 0;\n function codeAddress(showcaseItem, isLastAddress) {\n if (showcaseListings.geocoder) {\n var currentIndex = showcaseListings.markers.length;\n if (showcaseItem != null) {\n var markerImage = showcaseListings.map[\"customMarker\"]\n ? imageDomain + \"img/map-marker-\" + (showcaseListings.markers.length + 1 + showcaseListings.geocodingMarkerCount) + \".png\"\n : showcaseItem.IsFeaturedIcon\n ? imageDomain + 'img/map-marker-featured.png?v=1'\n : imageDomain + 'img/map-marker.png?v=1';\n if (showcaseItem.CorrectedGeocodedLat && showcaseItem.CorrectedGeocodedLong)\n AddMarkerAndExpandBounds(new google.maps.LatLng(showcaseItem.CorrectedGeocodedLat, showcaseItem.CorrectedGeocodedLong), showcaseItem, isLastAddress, markerImage);\n else if (showcaseItem.GeocodedLat && showcaseItem.GeocodedLong)\n AddMarkerAndExpandBounds(new google.maps.LatLng(showcaseItem.GeocodedLat, showcaseItem.GeocodedLong), showcaseItem, isLastAddress, markerImage);\n else {\n showcaseListings.geocodingMarkerCount++;\n AddPlaceholderMarker(showcaseItem, isLastAddress, markerImage, currentIndex);\n var address = $.trim((showcaseItem.Address + \" \" + showcaseItem.City + \" FL \" + showcaseItem.Zipcode).replace(/null/g, \"\"));\n if (address !== \"\") {\n showcaseListings.geocoder.geocode({ 'address': address }, function (results, status) {\n if (status === google.maps.GeocoderStatus.OK)\n AddMarkerAndExpandBounds(results[0].geometry.location, showcaseItem, true, markerImage, currentIndex);\n showcaseListings.geocodingMarkerCount--;\n });\n }\n }\n }\n }\n }\n showcaseListings.codeAddress = codeAddress;\n function clearMarkers() {\n for (var i = 0; i < showcaseListings.markers.length; i++) {\n showcaseListings.markers[i].setMap(null);\n }\n showcaseListings.markers = [];\n if (showcaseListings.markerClusterer)\n showcaseListings.markerClusterer.clearMarkers();\n showcaseListings.bounds = new google.maps.LatLngBounds();\n if (showcaseListings.infoBox)\n showcaseListings.infoBox.close();\n }\n showcaseListings.clearMarkers = clearMarkers;\n function SetUserAddress() {\n if (showcaseListings.addressMarker)\n showcaseListings.addressMarker.setMap(null);\n if (showcaseListings.viewModel.AddressText() != '') {\n var addr = showcaseListings.viewModel.AddressText();\n var ufReplacements = [\"uf\", \"university of florida\", \"u of f\"];\n if (ufReplacements.indexOf(addr.toLowerCase()) >= 0)\n addr = \"uf 32611\";\n else if (addr.toLowerCase().indexOf(cityName.toLowerCase()) == -1)\n addr += ' ' + cityName;\n showcaseListings.geocoder.geocode({ 'address': addr }, function (results, status) {\n if (status == google.maps.GeocoderStatus.OK) {\n var imageForRetina = new google.maps.MarkerImage(baseUrl + \"img/address-marker.png?v=1\", null, null, null, new google.maps.Size(38, 57));\n showcaseListings.addressMarker = new google.maps.Marker({\n position: results[0].geometry.location,\n map: showcaseListings.map,\n icon: imageForRetina\n });\n var infoBoxOptions = {\n boxClass: 'infoBox address-info-box',\n pixelOffset: new google.maps.Size(-75, -50),\n closeBoxURL: imageDomain + 'img/close.png?width=50&v=1',\n closeBoxMargin: \"-12px -14px 0 0\",\n };\n showcaseListings.addressInfoBox = new InfoBox($.extend({}, infoBoxOptions, { content: showcaseListings.viewModel.AddressText() }));\n if (showcaseListings.bounds) {\n showcaseListings.bounds.extend(showcaseListings.addressMarker.getPosition());\n if (showcaseListings.map.customMarker || $('#map_canvas').is(\":visible\")) {\n showcaseListings.map.fitBounds(showcaseListings.bounds);\n setTimeout(function () { setMapZoom(17); }, 100);\n }\n }\n google.maps.event.addListener(showcaseListings.addressMarker, \"click\", function () {\n showcaseListings.addressInfoBox.open(showcaseListings.map, showcaseListings.addressMarker);\n });\n showcaseListings.viewModel.ReadyToLoadData(false);\n showcaseListings.viewModel.AddressLat(results[0].geometry.location.lat().toString());\n showcaseListings.viewModel.AddressLong(results[0].geometry.location.lng().toString());\n showcaseListings.viewModel.ReadyToLoadData(true);\n }\n });\n }\n else {\n if (showcaseListings.bounds) {\n showcaseListings.bounds = new google.maps.LatLngBounds();\n showcaseListings.addressMarker = null;\n if (showcaseListings.addressInfoBox)\n showcaseListings.addressInfoBox.close();\n }\n showcaseListings.viewModel.ReadyToLoadData(false);\n showcaseListings.viewModel.AddressLat(null);\n showcaseListings.viewModel.AddressLong(null);\n showcaseListings.viewModel.ReadyToLoadData(true);\n }\n }\n showcaseListings.SetUserAddress = SetUserAddress;\n function mapMarkerClick(href) {\n if (!href && breakpoint() != \"mobile\")\n return false;\n else if (!href) {\n return true;\n }\n $(`.communities a[href$='${href}']`).trigger('click');\n if (breakpoint() != \"mobile\")\n return false;\n return true;\n }\n showcaseListings.mapMarkerClick = mapMarkerClick;\n function FormatFloorPlanTypesForMarker(types) {\n if (!types || types == '')\n return types;\n var typeArray = types.split(',');\n var consecutive = true;\n for (var i = 1; i < typeArray.length; i++) {\n if (parseInt(typeArray[i]) != (parseInt(typeArray[i - 1]) + 1))\n consecutive = false;\n }\n return (consecutive\n ? (typeArray[0] == typeArray[typeArray.length - 1] ? (parseInt(typeArray[0]) == 0 ? \"Studio\" : `${typeArray[0]} BR`) : `${parseInt(typeArray[0]) == 0 ? \"Studio\" : typeArray[0]} to ${typeArray[typeArray.length - 1]} BR`)\n : `${types.replace(/,/g, \", \").replace(/,([^,]*)$/, ' and $1')} BR`);\n }\n showcaseListings.FormatFloorPlanTypesForMarker = FormatFloorPlanTypesForMarker;\n function initializeMap() {\n try {\n showcaseListings.geocoder = new google.maps.Geocoder();\n ils.mapCenter = new google.maps.LatLng(neighborhoodMapCenterKey, neighborhoodMapCenterValue);\n var myOptions = {\n center: ils.mapCenter,\n zoom: 17,\n mapTypeControlOptions: {\n position: google.maps.ControlPosition.TOP_RIGHT\n }\n };\n showcaseListings.map = new google.maps.Map(document.getElementById(\"map_canvas\"), myOptions);\n const polygonOpts = {\n editable: true,\n strokeColor: brandColorPrimary,\n strokeOpacity: 0.8,\n strokeWeight: 2,\n fillColor: brandColorSecondary,\n fillOpacity: 0.2\n };\n showcaseListings.drawingManager = new google.maps.drawing.DrawingManager({\n drawingControl: false,\n drawingControlOptions: {\n drawingModes: [\n google.maps.drawing.OverlayType.POLYGON\n ]\n },\n polygonOptions: polygonOpts\n });\n showcaseListings.drawingManager.setMap(showcaseListings.map);\n google.maps.event.addListener(showcaseListings.drawingManager, 'polygoncomplete', function (event) {\n if (showcaseListings.polygon)\n showcaseListings.polygon.setMap(null);\n if (showcaseListings.polyline)\n showcaseListings.polyline.setMap(null);\n showcaseListings.polygon = event;\n SetPolygonCoordinates(showcaseListings.polygon.getPath());\n showcaseListings.viewModel.MapMode(null);\n });\n if (polygonCoordinates && polygonCoordinates != '') {\n var decodedCoords = google.maps.geometry.encoding.decodePath(polygonCoordinates);\n showcaseListings.polygon = new google.maps.Polygon($.extend({}, {\n paths: decodedCoords,\n map: showcaseListings.map\n }, polygonOpts));\n SetPolygonCoordinates(showcaseListings.polygon.getPath());\n if (hidePolygon)\n showcaseListings.polygon.setMap(null);\n }\n if (showcaseListings.viewModel.AddressText())\n SetUserAddress();\n else if (showcaseListings.viewModel && showcaseListings.viewModel.ReadyToLoadData)\n showcaseListings.viewModel.ReadyToLoadData(true);\n var mouseMoveHandler = null;\n var polyLineHandler = null;\n google.maps.event.addListener(showcaseListings.map, 'mousedown', function () {\n if (showcaseListings.viewModel.MapMode() !== 'freeform')\n return true;\n showcaseListings.isDrawing = !showcaseListings.isDrawing;\n if (showcaseListings.isDrawing) {\n if (showcaseListings.polyline)\n showcaseListings.polyline.setMap(null);\n showcaseListings.polyline = new google.maps.Polyline({\n map: showcaseListings.map,\n strokeColor: brandColorPrimary,\n strokeOpacity: 0.8,\n strokeWeight: 2\n });\n mouseMoveHandler = google.maps.event.addListener(showcaseListings.map, 'mousemove', function (e) {\n if (!showcaseListings.isDrawing)\n return false;\n showcaseListings.polyline.getPath().push(e.latLng);\n });\n polyLineHandler = google.maps.event.addListener(showcaseListings.polyline, 'mouseup', function (event) {\n EndDrawing();\n });\n }\n else\n EndDrawing();\n showcaseListings.bounds = new google.maps.LatLngBounds();\n function EndDrawing() {\n google.maps.event.removeListener(mouseMoveHandler);\n google.maps.event.removeListener(polyLineHandler);\n var latLngArray = showcaseListings.polyline.getPath();\n if (latLngArray.getLength() > 2 && (latLngArray.getAt(0).lat() != latLngArray.getAt(latLngArray.getLength() - 1).lat() || latLngArray.getAt(0).lng() != latLngArray.getAt(latLngArray.getLength() - 1).lng()))\n showcaseListings.polyline.getPath().push(latLngArray.getAt(0));\n if (showcaseListings.polygon)\n showcaseListings.polygon.setMap(null);\n SetPolygonCoordinates(showcaseListings.polyline.getPath());\n showcaseListings.isDrawing = false;\n showcaseListings.viewModel.MapMode(null);\n }\n });\n ils.trackGoogleMapsEvent(ils.MapsGACategories.DynamicMaps, 'load', 'Showcase Map', 0.007);\n }\n catch (error) {\n console.error(error);\n }\n }\n showcaseListings.initializeMap = initializeMap;\n function MapResized() {\n if (showcaseListings.map) {\n var center = showcaseListings.map.getCenter();\n google.maps.event.trigger(showcaseListings.map, \"resize\");\n showcaseListings.map.panTo(center);\n }\n }\n showcaseListings.MapResized = MapResized;\n document.addEventListener('DOMContentLoaded', function () {\n var initMapTimeout = setTimeout(() => {\n initializeMap();\n clearTimeout(initMapTimeout);\n }, 1000);\n $(\".map-tools .instructions\").on('click', function () {\n $(\".map-tools .drawing-help\").slideToggle();\n return false;\n });\n });\n })(showcaseListings = ils.showcaseListings || (ils.showcaseListings = {}));\n})(ils || (ils = {}));\n"]}