var data = {"count":19,"installations":[{"hp_type_name":"Vzduch-voda","longitude":"17.6169625","latitude":"48.2508465","company_name":"GEOTHERM Slovakia s.r.o. ","company_id":"36713015","locality":"Abrah\u00e1m","year":"2019","supplier":"GEOTHERM Slovakia s.r.o"},{"hp_type_name":"Vzduch-voda","longitude":"18.1067587","latitude":"47.9939503","company_name":"GEOTHERM Slovakia s.r.o. ","company_id":"36713015","locality":"Andovce","year":"2019","supplier":"GEOTHERM Slovakia s.r.o"},{"hp_type_name":"Voda-voda","longitude":"17.1077478","latitude":"48.1485965","company_name":"GEOTHERM Slovakia s.r.o. ","company_id":"36713015","locality":"Bratislava","year":"2009","supplier":"GEOTHERM Slovakia s.r.o"},{"hp_type_name":"Vzduch-voda","longitude":"17.2520798","latitude":"48.0379862","company_name":"GEOTHERM Slovakia s.r.o. ","company_id":"36713015","locality":"Hamuliakovo","year":"2020","supplier":"GEOTHERM Slovakia s.r.o"},{"hp_type_name":"Vzduch-voda","longitude":"17.3971613","latitude":"48.0958484","company_name":"GEOTHERM Slovakia s.r.o. ","company_id":"36713015","locality":"Hubice","year":"2020","supplier":"GEOTHERM Slovakia s.r.o"},{"hp_type_name":"Vzduch-voda","longitude":"17.8737096","latitude":"48.3888657","company_name":"GEOTHERM Slovakia s.r.o. ","company_id":"36713015","locality":"K\u013ea\u010dany","year":"2018","supplier":"GEOTHERM Slovakia s.r.o"},{"hp_type_name":"Vzduch-voda","longitude":"17.6594285","latitude":"48.1720099","company_name":"GEOTHERM Slovakia s.r.o. ","company_id":"36713015","locality":"Ko\u0161\u00faty","year":"2020","supplier":"GEOTHERM Slovakia s.r.o"},{"hp_type_name":"Zem-voda","longitude":"17.2225798","latitude":"48.2884848","company_name":"GEOTHERM Slovakia s.r.o. ","company_id":"36713015","locality":"Limbach","year":"2018","supplier":"GEOTHERM Slovakia s.r.o"},{"hp_type_name":"Vzduch-voda","longitude":"17.0182641","latitude":"48.4363404","company_name":"GEOTHERM Slovakia s.r.o. ","company_id":"36713015","locality":"Malacky","year":"2020","supplier":"GEOTHERM Slovakia s.r.o"},{"hp_type_name":"Zem-voda","longitude":"17.6754621","latitude":"48.4505448","company_name":"GEOTHERM Slovakia s.r.o. ","company_id":"36713015","locality":"Mal\u017eenice","year":"2009","supplier":"GEOTHERM Slovakia s.r.o"},{"hp_type_name":"Vzduch-voda","longitude":"18.1458897","latitude":"48.9366133","company_name":"GEOTHERM Slovakia s.r.o. ","company_id":"36713015","locality":"Nov\u00e1 Dubnica","year":"2020","supplier":"GEOTHERM Slovakia s.r.o"},{"hp_type_name":"Zem-voda","longitude":"18.0728714","latitude":"48.1368517","company_name":"GEOTHERM Slovakia s.r.o. ","company_id":"36713015","locality":"Rastislavice","year":"2018","supplier":"GEOTHERM Slovakia s.r.o"},{"hp_type_name":"Voda-voda","longitude":"17.5833218","latitude":"48.3709108","company_name":"GEOTHERM Slovakia s.r.o. ","company_id":"36713015","locality":"Trnava","year":"2009","supplier":"GEOTHERM Slovakia s.r.o"},{"hp_type_name":"Zem-voda","longitude":"17.5833218","latitude":"48.3709108","company_name":"GEOTHERM Slovakia s.r.o. ","company_id":"36713015","locality":"Trnava","year":"2020","supplier":"GEOTHERM Slovakia s.r.o"},{"hp_type_name":"Vzduch-voda","longitude":"17.5833218","latitude":"48.3709108","company_name":"GEOTHERM Slovakia s.r.o. ","company_id":"36713015","locality":"Trnava","year":"2020","supplier":"GEOTHERM Slovakia s.r.o"},{"hp_type_name":"Vzduch-voda","longitude":"19.3507599","latitude":"48.2083508","company_name":"GEOTHERM Slovakia s.r.o. ","company_id":"36713015","locality":"Ve\u013ek\u00fd Krt\u00ed\u0161","year":"2020","supplier":"GEOTHERM Slovakia s.r.o"},{"hp_type_name":"Vzduch-voda","longitude":"17.3012946","latitude":"48.2722026","company_name":"GEOTHERM Slovakia s.r.o. ","company_id":"36713015","locality":"Vini\u010dn\u00e9","year":"2018","supplier":"GEOTHERM Slovakia s.r.o"},{"hp_type_name":"Vzduch-voda","longitude":"18.3912685","latitude":"48.3851703","company_name":"GEOTHERM Slovakia s.r.o. ","company_id":"36713015","locality":"Zlat\u00e9 Moravce","year":"2020","supplier":"GEOTHERM Slovakia s.r.o"},{"hp_type_name":"Vzduch-voda","longitude":"19.5096616","latitude":"49.4496142","company_name":"GEOTHERM Slovakia s.r.o. ","company_id":"36713015","locality":"Zubrohlava","year":"2019","supplier":"GEOTHERM Slovakia s.r.o"}]}; var filteredLocalities = {}; var map = undefined; var locality = '' var lastLatitude = 48.69096039092549; var lastLongitude = 19.632568359375; var lastZoom = 7 function initialize() { var center = new google.maps.LatLng(lastLatitude, lastLongitude); map = new google.maps.Map(document.getElementById('map'), { zoom: lastZoom, center: center, mapTypeId: google.maps.MapTypeId.ROADMAP }); var latlngbounds = new google.maps.LatLngBounds(); var markers = []; for (var i = 0; i < data.installations.length; i++) { var dataInstallation = data.installations[i]; var latLng = new google.maps.LatLng(dataInstallation.latitude, dataInstallation.longitude); var marker = new google.maps.Marker({ position: latLng }); markers.push(marker); latlngbounds.extend(latLng); } var options = { imagePath: 'images/markerclusterer/m' }; var markerCluster = new MarkerClusterer(map, markers, options); map.setCenter(latlngbounds.getCenter()); map.fitBounds(latlngbounds); google.maps.event.addListener(map, 'idle', function() { updateCompaniesList(map); }); } function updateCompaniesList(map) { var lat1 = map.getBounds().getNorthEast().lat(); var lng1 = map.getBounds().getNorthEast().lng(); var lat0 = map.getBounds().getSouthWest().lat(); var lng0 = map.getBounds().getSouthWest().lng(); var hpTypeCounts = {}; var localityCounts = {}; var supplierCounts = {}; var companyCounts = {}; var rows = []; filteredLocalities = {}; for (var i = 0; i < data['count']; i++) { var installation = data['installations'][i]; var lng = installation['longitude']; var lat = installation['latitude']; if (lng >= lng0 && lng <= lng1 && lat >= lat0 && lat <= lat1) { if (installation.hp_type_name) { var key = ''.replace("REPLACE", installation.hp_type_name) + installation.hp_type_name + ''; if (hpTypeCounts[key]) { hpTypeCounts[key]++; } else { hpTypeCounts[key] = 1; } } if (installation.locality) { var key = ''.replace("REPLACE", installation.locality) + installation.locality + ''; if (localityCounts[key]) { localityCounts[key]++; } else { localityCounts[key] = 1; } } if (installation.company_name) { var key = ''.replace("REPLACE", installation.company_id) + installation.company_name + ''; if (companyCounts[key]) { companyCounts[key]++; } else { companyCounts[key] = 1; } } if (installation.supplier) { var key = ''.replace("REPLACE", installation.supplier) + installation.supplier + ''; if (supplierCounts[key]) { supplierCounts[key]++; } else { supplierCounts[key] = 1; } } } } jQuery('#hp_type_counts').html( countDictionaryToTable(hpTypeCounts) ); jQuery('#locality_counts').html( countDictionaryToTable(localityCounts) ); jQuery('#company_counts').html( countDictionaryToTable(companyCounts) ); jQuery('#supplier_counts').html( countDictionaryToTable(supplierCounts) ); } function countDictionaryToTable(counts) { return Object.keys(counts).sort(function(a,b) { return counts[b] - counts[a]; }).map(function (key) { return '