{"version":3,"file":"components-mapWithMarkers-mapWithMarkers-fa5aefc8d5c86b98e21d.js","mappings":"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","sources":["webpack://sol-ecolution/./src/components/mapWithMarkers/mapWithMarkers.js","webpack://sol-ecolution/./src/components/mapWithMarkers/mapWithMarkersStyles.js","webpack://sol-ecolution/./src/images/blue_pin.png","webpack://sol-ecolution/./src/images/gray_pin.png","webpack://sol-ecolution/./src/images/green_pin.png"],"sourcesContent":["import * as React from \"react\";\nimport { useState, useEffect } from \"react\";\nimport { graphql, useStaticQuery } from \"gatsby\";\nimport * as Styled from \"./mapWithMarkersStyles\";\nimport LocationPinMarker from \"../../images/blue_pin.png\";\nimport GrayPin from \"../../images/gray_pin.png\";\nimport GreenPin from \"../../images/green_pin.png\";\nimport GoogleMapReact from \"google-map-react\";\nimport { Row } from \"react-bootstrap\";\nimport { Helmet } from \"react-helmet\";\nimport \"./style.css\";\n\nlet markersArray = [];\n/*global google */\n\nconst GeneralLocationArray = [\n { country: \"Barbados\", latitude: 13.193887, longitude: -59.543198 },\n { country: \"Puerto Rico\", latitude: 18.200178, longitude: -66.664513 },\n];\n\nconst Location = () => {\n const locationDataQuery = useStaticQuery(graphql`\n query locationDataMyQuery {\n allContentfulSolLocations(filter: { node_locale: { eq: \"en-US\" } }) {\n nodes {\n energy {\n title\n url\n }\n segment\n sitename\n status\n commissioningOrAcquisition\n grossCapacityKWp\n country\n latitude\n longitude\n co2OffsetEquivalency\n note {\n raw\n }\n locationImage {\n raw\n }\n locationPdf {\n raw\n }\n }\n }\n }\n `);\n\n const locationsData = locationDataQuery?.allContentfulSolLocations?.nodes;\n const lat = isNaN(parseFloat(locationsData[0]?.latitude))\n ? 25.058258\n : parseFloat(locationsData[0]?.latitude);\n const lng = isNaN(parseFloat(locationsData[0]?.longitude))\n ? -77.316869\n : parseFloat(locationsData[0]?.longitude);\n const zoom = 4;\n const [map, setMap] = useState();\n const [maps, setMaps] = useState();\n let InfoWindowObject = null;\n\n const closeOtherInfo = () => {\n if (InfoWindowObject) {\n /* detach the info-window from the marker ... undocumented in the API docs */\n InfoWindowObject?.set(\"marker\", null);\n /* and close it */\n InfoWindowObject?.close();\n /* blank the Object */\n InfoWindowObject = null;\n }\n };\n\n const getMarkerIcon = (type) => {\n let markerIcon = null;\n if (type === \"Operational\") {\n markerIcon = GreenPin;\n } else {\n markerIcon = LocationPinMarker;\n }\n\n return markerIcon;\n };\n\n useEffect(() => {\n //delete all markers\n if (markersArray?.length >= 1) {\n markersArray?.forEach((marker) => {\n marker?.setMap(null);\n });\n markersArray = [];\n }\n\n let addDistance = [];\n if (maps && map && markersArray?.length < 1) {\n locationsData?.forEach((location, index) => {\n if (location?.latitude && location?.latitude) {\n let marker;\n if (\n location?.latitude === \"GENERAL\" &&\n location?.longitude === \"GENERAL\"\n ) {\n const tempData = GeneralLocationArray?.find(\n (x) => x[\"country\"] === location?.country\n );\n\n addDistance[tempData?.country] = addDistance[tempData?.country]\n ? addDistance[tempData?.country] + 0.005\n : 0.001;\n\n marker = new maps.Marker({\n position: new maps.LatLng(\n parseFloat(tempData?.latitude) ?? 0,\n parseFloat(tempData?.longitude) +\n addDistance[tempData?.country] ?? 0\n ),\n icon: {\n url: getMarkerIcon(location?.status), // url\n scaledSize: new google.maps.Size(43, 40), // size\n },\n map: map,\n });\n } else {\n marker = new maps.Marker({\n position: new maps.LatLng(\n location?.latitude ?? 0,\n location?.longitude ?? 0\n ),\n icon: {\n url: getMarkerIcon(location?.status), // url\n scaledSize: new google.maps.Size(43, 40), // size\n },\n map: map,\n });\n }\n\n markersArray?.push(marker);\n const infoWindow = new maps.InfoWindow({\n content: `\n
\n

${location?.sitename}

\n
Type : Solar\n
Location : ${\n location?.country\n }\n
Gross Capacity (kWp) : ${\n location?.grossCapacityKWp\n }\n
CO2 Offset Equivalency (metric tons)* : ${\n location?.co2OffsetEquivalency\n ? location?.co2OffsetEquivalency\n : \"76\"\n }\n
\n
\n *estimated\n
\n `,\n ariaLabel: \"Marker\",\n });\n\n marker?.addListener(\"click\", () => {\n closeOtherInfo();\n infoWindow?.open({\n anchor: marker,\n map,\n });\n map.panTo(marker?.getPosition());\n InfoWindowObject = infoWindow;\n });\n }\n });\n }\n }, [locationsData, map, maps]);\n\n const handleApiLoaded = (map, maps) => {\n const styles = [\n {\n featureType: \"water\",\n elementType: \"geometry.fill\",\n stylers: [{ color: \"#98d0ff\" }],\n },\n ];\n\n // eslint-disable-next-line no-undef\n const styledMap = new google.maps.StyledMapType(styles, {\n name: \"Styled Map\",\n });\n map.mapTypes.set(\"map_style\", styledMap);\n map.setMapTypeId(\"map_style\");\n };\n\n return (\n \n \n \n Projects\n \n \n \n \n
\n \n {\n setMap(map);\n setMaps(maps);\n handleApiLoaded(map, maps);\n }}\n />\n \n
\n
\n
\n
\n );\n};\n\nexport default Location;\n","import styled from \"styled-components\";\n\nexport const MainDiv = styled.div`\n margin-top: 5%;\n margin-bottom: 5%;\n @media (max-width: 768px) {\n margin-top: 0;\n }\n`;\n\nexport const GoogleMapContainer = styled.div`\n height: 700px;\n display: flow-root;\n width: 90%;\n margin: 0 auto;\n`;\n\nexport const LocationContainer = styled.div`\n width: 100% !important;\n padding: 0 !important;\n margin-top: 80px;\n`;\n","export default __webpack_public_path__ + \"static/blue_pin-81bfe8ab262d97b0a7b1b7b22026adb8.png\";","export default __webpack_public_path__ + \"static/gray_pin-cdcc8e693629db9434613269fb4de990.png\";","export default __webpack_public_path__ + \"static/green_pin-07e5f5972edc409d2f00f1233d534b3b.png\";"],"names":["markersArray","GeneralLocationArray","country","latitude","longitude","locationDataQuery","useStaticQuery","locationsData","allContentfulSolLocations","nodes","lat","isNaN","parseFloat","lng","useState","map","setMap","maps","setMaps","InfoWindowObject","getMarkerIcon","type","GreenPin","LocationPinMarker","useEffect","length","forEach","marker","addDistance","location","index","tempData","find","x","Marker","position","LatLng","icon","url","status","scaledSize","google","Size","push","infoWindow","InfoWindow","content","sitename","grossCapacityKWp","co2OffsetEquivalency","ariaLabel","addListener","set","close","open","anchor","panTo","getPosition","charSet","name","id","className","bootstrapURLKeys","key","process","libraries","center","zoom","yesIWantToUseGoogleMapApiInternals","onGoogleApiLoaded","styledMap","StyledMapType","featureType","elementType","stylers","color","mapTypes","setMapTypeId","handleApiLoaded","MainDiv","styled","GoogleMapContainer","LocationContainer"],"sourceRoot":""}