(function ($) { "use strict"; var markerIcon = { anchor: new google.maps.Point(22, 16), url: 'images/marker.png', } function mainMap() { function locationData(locationURL, locationCategory, locationImg, locationTitle, locationAddress, locationPhone, locationStarRating, locationRevievsCounter) { return ('
' + locationCategory + '

' + locationTitle + '

' + locationAddress + '' + locationPhone + '
') } var locations = [ [locationData('#', 'Farmacia', '/foto/259.jpg', 'FARMACIA CELESTE SAS di MANARDI A. & C.', "VIA CELESTE, 29/A", "0734 / 859157", "5", "259"), 43.2264323, 13.6852058, 0, markerIcon], [locationData('#', 'Farmacia', '/foto/227.jpg', 'BONCORI DI BONCORI ELENA & C SAS', "VIALE DEI PINI, 89", "0734 / 675617 ", "5", "227"), 43.1870978, 13.7919025, 0, markerIcon], [locationData('#', 'Farmacia', '/foto/4.jpg', 'ANTICA FARM. MANZONI DI MANZONI ANTONIO e C. S.N.C', "CORSO MATTEOTTI, 197", "071 / 94207", "5", "4"), 43.6008668, 13.325376, 0, markerIcon], [locationData('#', 'Farmacia', '/foto/186.jpg', 'FARMACIA FOFO\' DI BENIGNI IDO & C. S.N.C', "VIA BINNI, 6", "0735 / 702549", "5", "186"), 42.896080, 13.795780, 0, markerIcon], ]; var map = new google.maps.Map(document.getElementById('map-main'), { zoom: 9, scrollwheel: false, center: new google.maps.LatLng(43.386376988524376, 13.320029138011995), mapTypeId: google.maps.MapTypeId.ROADMAP, zoomControl: false, mapTypeControl: false, scaleControl: false, panControl: false, fullscreenControl: true, navigationControl: false, streetViewControl: false, animation: google.maps.Animation.BOUNCE, gestureHandling: 'cooperative', styles: [{ "featureType": "administrative", "elementType": "labels.text.fill", "stylers": [{ "color": "#444444" }] }] }); var boxText = document.createElement("div"); boxText.className = 'map-box' var currentInfobox; var boxOptions = { content: boxText, disableAutoPan: true, alignBottom: true, maxWidth: 0, pixelOffset: new google.maps.Size(-145, -45), zIndex: null, boxStyle: { width: "260px" }, closeBoxMargin: "0", closeBoxURL: "", infoBoxClearance: new google.maps.Size(1, 1), isHidden: false, pane: "floatPane", enableEventPropagation: false, }; var markerCluster, marker, i; var allMarkers = []; var clusterStyles = [{ textColor: 'white', url: '', height: 50, width: 50 }]; for (i = 0; i < locations.length; i++) { marker = new google.maps.Marker({ position: new google.maps.LatLng(locations[i][1], locations[i][2]), icon: locations[i][4], id: i }); allMarkers.push(marker); var ib = new InfoBox(); google.maps.event.addListener(ib, "domready", function () { cardRaining() }); google.maps.event.addListener(marker, 'click', (function (marker, i) { return function () { ib.setOptions(boxOptions); boxText.innerHTML = locations[i][0]; ib.close(); ib.open(map, marker); currentInfobox = marker.id; var latLng = new google.maps.LatLng(locations[i][1], locations[i][2]); map.panTo(latLng); map.panBy(0, -180); google.maps.event.addListener(ib, 'domready', function () { $('.infoBox-close').click(function (e) { e.preventDefault(); ib.close(); }); }); } })(marker, i)); } var options = { imagePath: 'images/', styles: clusterStyles, minClusterSize: 2 }; markerCluster = new MarkerClusterer(map, allMarkers, options); google.maps.event.addDomListener(window, "resize", function () { var center = map.getCenter(); google.maps.event.trigger(map, "resize"); map.setCenter(center); }); $('.nextmap-nav').click(function (e) { e.preventDefault(); map.setZoom(15); var index = currentInfobox; if (index + 1 < allMarkers.length) { google.maps.event.trigger(allMarkers[index + 1], 'click'); } else { google.maps.event.trigger(allMarkers[0], 'click'); } }); $('.prevmap-nav').click(function (e) { e.preventDefault(); map.setZoom(15); if (typeof (currentInfobox) == "undefined") { google.maps.event.trigger(allMarkers[allMarkers.length - 1], 'click'); } else { var index = currentInfobox; if (index - 1 < 0) { google.maps.event.trigger(allMarkers[allMarkers.length - 1], 'click'); } else { google.maps.event.trigger(allMarkers[index - 1], 'click'); } } }); $('.map-item').click(function (e) { e.preventDefault(); map.setZoom(15); var index = currentInfobox; var marker_index = parseInt($(this).attr('href').split('#')[1], 10); google.maps.event.trigger(allMarkers[marker_index], "click"); if ($(this).hasClass("scroll-top-map")){ $('html, body').animate({ scrollTop: $(".map-container").offset().top+ "-80px" }, 500) } else if ($(window).width()<1064){ $('html, body').animate({ scrollTop: $(".map-container").offset().top+ "-80px" }, 500) } }); // Scroll enabling button var scrollEnabling = $('.scrollContorl'); $(scrollEnabling).click(function(e){ e.preventDefault(); $(this).toggleClass("enabledsroll"); if ( $(this).is(".enabledsroll") ) { map.setOptions({'scrollwheel': true}); } else { map.setOptions({'scrollwheel': false}); } }); var zoomControlDiv = document.createElement('div'); var zoomControl = new ZoomControl(zoomControlDiv, map); function ZoomControl(controlDiv, map) { zoomControlDiv.index = 1; map.controls[google.maps.ControlPosition.RIGHT_CENTER].push(zoomControlDiv); controlDiv.style.padding = '5px'; var controlWrapper = document.createElement('div'); controlDiv.appendChild(controlWrapper); var zoomInButton = document.createElement('div'); zoomInButton.className = "mapzoom-in"; controlWrapper.appendChild(zoomInButton); var zoomOutButton = document.createElement('div'); zoomOutButton.className = "mapzoom-out"; controlWrapper.appendChild(zoomOutButton); google.maps.event.addDomListener(zoomInButton, 'click', function () { map.setZoom(map.getZoom() + 1); }); google.maps.event.addDomListener(zoomOutButton, 'click', function () { map.setZoom(map.getZoom() - 1); }); } } var map = document.getElementById('map-main'); if (typeof (map) != 'undefined' && map != null) { google.maps.event.addDomListener(window, 'load', mainMap); } function singleMap() { var myLatLng = { lng: $('#singleMap').data('longitude'), lat: $('#singleMap').data('latitude'), }; var single_map = new google.maps.Map(document.getElementById('singleMap'), { zoom: 14, center: myLatLng, scrollwheel: false, zoomControl: false, mapTypeControl: false, scaleControl: false, panControl: false, navigationControl: false, streetViewControl: false, styles: [{ "featureType": "landscape", "elementType": "all", "stylers": [{ "color": "#f2f2f2" }] }] }); var markerIcon2 = { url: 'images/marker.png', } var marker = new google.maps.Marker({ position: myLatLng, map: single_map, icon: markerIcon2, title: 'Our Location' }); var zoomControlDiv = document.createElement('div'); var zoomControl = new ZoomControl(zoomControlDiv, single_map); function ZoomControl(controlDiv, single_map) { zoomControlDiv.index = 1; single_map.controls[google.maps.ControlPosition.RIGHT_CENTER].push(zoomControlDiv); controlDiv.style.padding = '5px'; var controlWrapper = document.createElement('div'); controlDiv.appendChild(controlWrapper); var zoomInButton = document.createElement('div'); zoomInButton.className = "mapzoom-in"; controlWrapper.appendChild(zoomInButton); var zoomOutButton = document.createElement('div'); zoomOutButton.className = "mapzoom-out"; controlWrapper.appendChild(zoomOutButton); google.maps.event.addDomListener(zoomInButton, 'click', function () { single_map.setZoom(single_map.getZoom() + 1); }); google.maps.event.addDomListener(zoomOutButton, 'click', function () { single_map.setZoom(single_map.getZoom() - 1); }); } } var single_map = document.getElementById('singleMap'); if (typeof (single_map) != 'undefined' && single_map != null) { google.maps.event.addDomListener(window, 'load', singleMap); } })(this.jQuery);