{"version":3,"sources":["assets/js/google-map.min.js"],"names":["$","new_map","$el","$markers","find","args","zoom","center","google","maps","LatLng","mapTypeId","MapTypeId","ROADMAP","map","Map","markers","each","add_marker","this","center_map","$marker","latlng","attr","marker","Marker","position","icon_url","undefined","icon","url","acfmaps","imgdir","setIcon","push","html","infowindow","InfoWindow","content","event","addListener","open","bounds","LatLngBounds","i","lat","lng","extend","length","setCenter","getCenter","setZoom","fitBounds","document","ready","jQuery"],"mappings":"CAAA,SAAUA,GAeV,QAASC,GAASC,GAGjB,GAAIC,GAAWD,EAAIE,KAAK,WAIjBC,GACAC,KAAQ,GACRC,OAAU,GAAIC,QAAOC,KAAKC,OAAO,EAAG,GACpCC,UAAYH,OAAOC,KAAKG,UAAUC,SAKrCC,EAAM,GAAIN,QAAOC,KAAKM,IAAKb,EAAI,GAAIG,EAoBvC,OAhBAS,GAAIE,WAIJb,EAASc,KAAK,WAEdC,EAAYlB,EAAEmB,MAAOL,KAMrBM,EAAYN,GAILA,EAkBR,QAASI,GAAYG,EAASP,GAG7B,GAAIQ,GAAS,GAAId,QAAOC,KAAKC,OAAQW,EAAQE,KAAK,YAAaF,EAAQE,KAAK,aAGxEC,EAAS,GAAIhB,QAAOC,KAAKgB,QAC5BC,SAAWJ,EACXR,IAAQA,IAGFa,EAAWN,EAAQE,KAAK,YAEXK,UAAbD,IACAA,EAAW,SAGf,IAAIE,IAASC,IAAKC,QAAQC,OAASL,EAAW,OAOjD,IANGH,EAAOS,QAAQJ,GAGlBf,EAAIE,QAAQkB,KAAMV,GAGdH,EAAQc,OACZ,CAEC,GAAIC,GAAa,GAAI5B,QAAOC,KAAK4B,YAChCC,QAAWjB,EAAQc,QAIpB3B,QAAOC,KAAK8B,MAAMC,YAAYhB,EAAQ,QAAS,WAE9CY,EAAWK,KAAM3B,EAAKU,MAqBzB,QAASJ,GAAYN,GAGpB,GAAI4B,GAAS,GAAIlC,QAAOC,KAAKkC,YAG7B3C,GAAEiB,KAAMH,EAAIE,QAAS,SAAU4B,EAAGpB,GAEjC,GAAIF,GAAS,GAAId,QAAOC,KAAKC,OAAQc,EAAOE,SAASmB,MAAOrB,EAAOE,SAASoB,MAE5EJ,GAAOK,OAAQzB,KAKW,GAAtBR,EAAIE,QAAQgC,QAEVlC,EAAImC,UAAWP,EAAOQ,aACtBpC,EAAIqC,QAAS,KAGnBrC,EAAIsC,UAAWV,GAmBjB,GAAI5B,GAAM,IAEVd,GAAEqD,UAAUC,MAAM,WAEjBtD,EAAE,eAAeiB,KAAK,WAGrBH,EAAMb,EAASD,EAAEmB,YAMhBoC","file":"assets/js/google-map.min.js","sourcesContent":["(function($) {\n\n/*\n* new_map\n*\n* This function will render a Google Map onto the selected jQuery element\n*\n* @type\tfunction\n* @date\t8/11/2013\n* @since\t4.3.0\n*\n* @param\t$el (jQuery element)\n* @return\tn/a\n*/\n\nfunction new_map( $el ) {\n\n\t// var\n\tvar $markers = $el.find('.marker');\n\n\n\t// vars\n var args = {\n zoom\t\t: 16,\n center\t\t: new google.maps.LatLng(0, 0),\n mapTypeId\t: google.maps.MapTypeId.ROADMAP,\n };\n\n\n\t// create map\n\tvar map = new google.maps.Map( $el[0], args);\n\n\n\t// add a markers reference\n\tmap.markers = [];\n\n\n\t// add markers\n\t$markers.each(function(){\n\n\tadd_marker( $(this), map );\n\n\t});\n\n\n\t// center map\n\tcenter_map( map );\n\n\n\t// return\n\treturn map;\n\n}\n\n/*\n* add_marker\n*\n* This function will add a marker to the selected Google Map\n*\n* @type\tfunction\n* @date\t8/11/2013\n* @since\t4.3.0\n*\n* @param\t$marker (jQuery element)\n* @param\tmap (Google Map object)\n* @return\tn/a\n*/\n\nfunction add_marker( $marker, map ) {\n\n\t// var\n\tvar latlng = new google.maps.LatLng( $marker.attr('data-lat'), $marker.attr('data-lng') );\n\n\t// create marker\n\tvar marker = new google.maps.Marker({\n\t\tposition\t: latlng,\n\t\tmap\t\t\t: map,\n\t});\n\n var icon_url = $marker.attr('data-icon');\n\n if (icon_url === undefined ) {\n icon_url = \"marker\";\n }\n\n var icon = { url: acfmaps.imgdir + icon_url + \".svg\" };\n marker.setIcon(icon);\n\n\t// add to array\n\tmap.markers.push( marker );\n\n\t// if marker contains HTML, add it to an infoWindow\n\tif( $marker.html() )\n\t{\n\t\t// create info window\n\t\tvar infowindow = new google.maps.InfoWindow({\n\t\t\tcontent\t\t: $marker.html()\n\t\t});\n\n\t\t// show info window when marker is clicked\n\t\tgoogle.maps.event.addListener(marker, 'click', function() {\n\n\t\t\tinfowindow.open( map, marker );\n\n\t\t});\n\n\t}\n\n}\n\n/*\n* center_map\n*\n* This function will center the map, showing all markers attached to this map\n*\n* @type\tfunction\n* @date\t8/11/2013\n* @since\t4.3.0\n*\n* @param\tmap (Google Map object)\n* @return\tn/a\n*/\n\nfunction center_map( map ) {\n\n\t// vars\n\tvar bounds = new google.maps.LatLngBounds();\n\n\t// loop through all markers and create bounds\n\t$.each( map.markers, function( i, marker ){\n\n\t\tvar latlng = new google.maps.LatLng( marker.position.lat(), marker.position.lng() );\n\n\t\tbounds.extend( latlng );\n\n\t});\n\n\t// only 1 marker?\n\tif ( map.markers.length == 1 ) {\n // set center of map\n map.setCenter( bounds.getCenter() );\n map.setZoom( 16 );\n\t} else {\n\t\t// fit to bounds\n\t\tmap.fitBounds( bounds );\n\t}\n\n}\n\n\n/*\n* document ready\n*\n* This function will render each map when the document is ready (page has loaded)\n*\n* @type\tfunction\n* @date\t8/11/2013\n* @since\t5.0.0\n*\n* @param\tn/a\n* @return\tn/a\n*/\n// global var\nvar map = null;\n\n$(document).ready(function(){\n\n\t$('.google-map').each(function(){\n\n\t\t// create map\n\t\tmap = new_map( $(this) );\n\n\t});\n\n});\n\n})(jQuery);\n"],"sourceRoot":"/source/"}