1var g_gmpAllMaps = []; 2var g_gmpInitializedMapViews = {}; 3function gmpInitPendingMaps($scope) { 4 var mapsInfo = typeof gmpAllMapsInfo !== 'undefined' ? gmpAllMapsInfo : window.gmpAllMapsInfo; 5 var initialized = false; 6 if (mapsInfo && mapsInfo.length) { 7 for (var i = 0; i < mapsInfo.length; i++) { 8 if (!mapsInfo[i] || !mapsInfo[i].view_html_id || g_gmpInitializedMapViews[mapsInfo[i].view_html_id]) { 9 continue; 10 } 11 var $mapShell = $scope ? $scope.find('#' + mapsInfo[i].view_html_id) : jQuery('#' + mapsInfo[i].view_html_id); 12 if ($mapShell.length) { 13 gmpInitMapOnPage(mapsInfo[i]); 14 g_gmpInitializedMapViews[mapsInfo[i].view_html_id] = true; 15 initialized = true; 16 } 17 } 18 if (initialized) { 19 jQuery(document).trigger('gmpAmiVarInited'); 20 } 21 } 22} 23function gmpWaitForFrontendMaps(attempts, $scope) { 24 attempts = typeof attempts === 'undefined' ? 20 : attempts; 25 if ( 26 typeof google === 'undefined' && 27 typeof gmpLoadGoogleLib !== 'undefined' // Maybe it's just a static maps here - can do it without google lib 28 ) { 29 gmpLoadGoogleLib(); 30 if (attempts > 0) { 31 setTimeout(function () { 32 gmpWaitForFrontendMaps(attempts - 1, $scope); 33 }, 300); 34 } 35 } else { 36 gmpInitPendingMaps($scope); 37 } 38} 39jQuery(document).ready(function () { 40 gmpWaitForFrontendMaps(); 41 if (window.elementorFrontend && window.elementorFrontend.hooks) { 42 window.elementorFrontend.hooks.addAction('frontend/element_ready/global', function ($scope) { 43 gmpWaitForFrontendMaps(20, $scope); 44 }); 45 } 46}); 47function gmpInitMapOnPage(mapData) { 48 if (mapData.params && parseInt(mapData.params.is_static) && typeof gmpGoogleStaticMap !== 'undefined') { 49 new gmpGoogleStaticMap(mapData); 50 return; 51 } 52 var additionalData = { 53 markerGroups: typeof mapData.marker_groups != 'undefined' ? mapData.marker_groups : [], 54 }, 55 newMap = null, 56 mapMarkersIds = [], 57 markerIdToShow = gmpIsMarkerToShow(), 58 infoWndToShow = gmpIsInfoWndToShow(); 59 60 if (mapData && mapData.view_html_mbs_id) { 61 newMap = new gmpGoogleMap(mapData.view_html_mbs_id, mapData.params, additionalData); 62 newMap.setParam('view_html_mbs_id', mapData.view_html_mbs_id); 63 newMap.refreshWithCenter(mapData.params.center.lat(), mapData.params.center.lng(), mapData.params.zoom); 64 } else { 65 newMap = new gmpGoogleMap('#' + mapData.view_html_id, mapData.params, additionalData); 66 } 67 68 if (mapData.markers && mapData.markers.length) { 69 mapData.markers = _gmpPrepareMarkersList(mapData.markers); 70 71 for (var i in mapData.markers) { 72 mapMarkersIds.push(mapData.markers[i].id); 73 } 74 if (toeInArray(markerIdToShow, mapMarkersIds) == -1) { 75 markerIdToShow = false; 76 } 77 if (toeInArray(infoWndToShow, mapMarkersIds) == -1) { 78 infoWndToShow = false; 79 } 80 for (var j = 0; j < mapData.markers.length; j++) { 81 if (markerIdToShow && mapData.markers[j].id != markerIdToShow) continue; 82 if (infoWndToShow) { 83 mapData.markers[j].params.show_description = mapData.markers[j].id == infoWndToShow ? '1' : '0'; 84 } 85 var newMarker = newMap.addMarker(mapData.markers[j]); 86 // We will set this only when marker info window need to be loaded 87 /*newMarker.setTitle( mapData.markers[j].title, true ); 88 newMarker.setDescription( mapData.markers[j].description );*/ 89 } 90 newMap.markersRefresh(); 91 newMap.checkMarkersParams(newMap.getAllMarkers(), markerIdToShow); 92 } 93 if (mapData.shapes && mapData.shapes.length) { 94 mapData.shapes = _gmpPrepareShapesList(mapData.shapes); 95 for (var z = 0; z < mapData.shapes.length; z++) { 96 var newShape = newMap.addShape(mapData.shapes[z]); 97 } 98 } 99 if (mapData.heatmap) { 100 mapData.heatmap = _gmpPrepareHeatmapList(mapData.heatmap); 101 newMap.addHeatmap(mapData.heatmap); 102 } 103 if (mapData.routes == 1) { 104 newMap.addRouter({}); 105 } 106 107 g_gmpAllMaps.push(newMap); 108 gmpRefreshMapContainer(newMap); 109}
110function gmpRefreshMapContainer(newMap) { 111 if (newMap && typeof google !== 'undefined' && google.maps && google.maps.event && typeof newMap.getRawMapInstance === 'function') { 112 var rawMap = newMap.getRawMapInstance(); 113 if (rawMap) { 114 var center = rawMap.getCenter ? rawMap.getCenter() : null; 115 google.maps.event.trigger(rawMap, 'resize'); 116 if (center && rawMap.setCenter) { 117 rawMap.setCenter(center); 118 } 119 return; 120 } 121 } 122 jQuery(window).trigger('resize'); 123} 124function gmpGetMapInfoById(id) { 125 if (typeof gmpAllMapsInfo !== 'undefined' && gmpAllMapsInfo && gmpAllMapsInfo.length) { 126 id = parseInt(id); 127 for (var i = 0; i < gmpAllMapsInfo.length; i++) { 128 if (gmpAllMapsInfo[i].id == id) { 129 return gmpAllMapsInfo[i]; 130 } 131 } 132 } 133 return false; 134} 135function gmpGetMapInfoByViewId(viewId) { 136 if (typeof gmpAllMapsInfo !== 'undefined' && gmpAllMapsInfo && gmpAllMapsInfo.length) { 137 for (var i = 0; i < gmpAllMapsInfo.length; i++) { 138 if (gmpAllMapsInfo[i].view_id == viewId) { 139 return gmpAllMapsInfo[i]; 140 } 141 } 142 } 143 return false; 144} 145function gmpGetAllMaps() { 146 return g_gmpAllMaps; 147} 148function gmpGetMapById(id) { 149 var allMaps = gmpGetAllMaps(); 150 for (var i = 0; i < allMaps.length; i++) { 151 if (allMaps[i].getId() == id) { 152 return allMaps[i]; 153 } 154 } 155 return false; 156} 157function gmpGetMapByViewId(viewId) { 158 var allMaps = gmpGetAllMaps(); 159 for (var i = 0; i < allMaps.length; i++) { 160 var currViewId = allMaps[i].getViewId(); 161 if (currViewId == viewId) { 162 return allMaps[i]; 163 } 164 } 165 return false; 166} 167function gmpIsMarkerToShow() { 168 var markerHash = 'gmpMarker', 169 hashParams = toeGetHashParams(); 170 if (hashParams) { 171 for (var i in hashParams) { 172 if (!hashParams[i] || typeof hashParams[i] !== 'string') continue; 173 var pair = hashParams[i].split('='); 174 if (pair[0] == markerHash) return parseInt(pair[1]); 175 } 176 } 177 return false; 178} 179function gmpIsInfoWndToShow() { 180 var markerHash = 'gmpInfoWnd', 181 hashParams = toeGetHashParams(); 182 if (hashParams) { 183 for (var i in hashParams) { 184 if (!hashParams[i] || typeof hashParams[i] !== 'string') continue; 185 var pair = hashParams[i].split('='); 186 if (pair[0] == markerHash) return parseInt(pair[1]); 187 } 188 } 189 return false; 190}
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.