PageSourceSearch

https://hotelcanalberti.com/static/js/vendor/gmaps.min.js

js hotelcanalberti.com collected 2026-10-05 08:35:13 UTC 45,359 bytes, 183 lines download raw bytes

1"use strict";(function(root,factory){if(typeof exports==='object'){module.exports=factory()}
2else if(typeof define==='function'&&define.amd){define(['jquery','googlemaps!'],factory)}
3else{root.GMaps=factory()}}(this,function(){var extend_object=function(obj,new_obj){var name;if(obj===new_obj){return obj}
4for(name in new_obj){if(new_obj[name]!==undefined){obj[name]=new_obj[name]}}
5return obj};var replace_object=function(obj,replace){var name;if(obj===replace){return obj}
6for(name in replace){if(obj[name]!=undefined){obj[name]=replace[name]}}
7return obj};var array_map=function(array,callback){var original_callback_params=Array.prototype.slice.call(arguments,2),array_return=[],array_length=array.length,i;if(Array.prototype.map&&array.map===Array.prototype.map){array_return=Array.prototype.map.call(array,function(item){var callback_params=original_callback_params.slice(0);callback_params.splice(0,0,item);return callback.apply(this,callback_params)})}
8else{for(i=0;i<array_length;i++){callback_params=original_callback_params;callback_params.splice(0,0,array[i]);array_return.push(callback.apply(this,callback_params))}}
9return array_return};var array_flat=function(array){var new_array=[],i;for(i=0;i<array.length;i++){new_array=new_array.concat(array[i])}
10return new_array};var coordsToLatLngs=function(coords,useGeoJSON){var first_coord=coords[0],second_coord=coords[1];if(useGeoJSON){first_coord=coords[1];second_coord=coords[0]}
11return new google.maps.LatLng(first_coord,second_coord)};var arrayToLatLng=function(coords,useGeoJSON){var i;for(i=0;i<coords.length;i++){if(!(coords[i]instanceof google.maps.LatLng)){if(coords[i].length>0&&typeof(coords[i][0])==="object"){coords[i]=arrayToLatLng(coords[i],useGeoJSON)}
12else{coords[i]=coordsToLatLngs(coords[i],useGeoJSON)}}}
13return coords};var getElementsByClassName=function(class_name,context){var element,_class=class_name.replace('.','');if('jQuery' in this&&context){element=$("."+_class,context)[0]}else{element=document.getElementsByClassName(_class)[0]}
14return element};var getElementById=function(id,context){var element,id=id.replace('#','');if('jQuery' in window&&context){element=$('#'+id,context)[0]}else{element=document.getElementById(id)};return element};var findAbsolutePosition=function(obj){var curleft=0,curtop=0;if(obj.offsetParent){do{curleft+=obj.offsetLeft;curtop+=obj.offsetTop}while(obj=obj.offsetParent);}
15return[curleft,curtop]};var GMaps=(function(global){"use strict";var doc=document;var GMaps=function(options){if(!(typeof window.google==='object'&&window.google.maps)){if(typeof window.console==='object'&&window.console.error){console.error('Google Maps API is required. Please register the following JavaScript library https://maps.googleapis.com/maps/api/js.')}
16return function(){}}
17if(!this)return new GMaps(options);options.zoom=options.zoom||15;options.mapType=options.mapType||'roadmap';var valueOrDefault=function(value,defaultValue){return value===undefined?defaultValue:value};var self=this,i,events_that_hide_context_menu=['bounds_changed','center_changed','click','dblclick','drag','dragend','dragstart','idle','maptypeid_changed','projection_changed','resize','tilesloaded','zoom_changed'],events_that_doesnt_hide_context_menu=['mousemove','mouseout','mouseover'],options_to_be_deleted=['el','lat','lng','mapType','width','height','markerClusterer','enableNewStyle'],identifier=options.el||options.div,markerClustererFunction=options.markerClusterer,mapType=google.maps.MapTypeId[options.mapType.toUpperCase()],map_center=new google.maps.LatLng(options.lat,options.lng),zoomControl=valueOrDefault(options.zoomControl,!0),zoomControlOpt=options.zoomControlOpt||{style:'DEFAULT',position:'TOP_LEFT'},zoomControlStyle=zoomControlOpt.style||'DEFAULT',zoomControlPosition=zoomControlOpt.position||'TOP_LEFT',panControl=valueOrDefault(options.panControl,!0),mapTypeControl=valueOrDefault(options.mapTypeControl,!0),scaleControl=valueOrDefault(options.scaleControl,!0),streetViewControl=valueOrDefault(options.streetViewControl,!0),overviewMapControl=valueOrDefault(overviewMapControl,!0),map_options={},map_base_options={zoom:this.zoom,center:map_center,mapTypeId:mapType},map_controls_options={panControl:panControl,zoomControl:zoomControl,zoomControlOptions:{style:google.maps.ZoomControlStyle[zoomControlStyle],position:google.maps.ControlPosition[zoomControlPosition]},mapTypeControl:mapTypeControl,scaleControl:scaleControl,streetViewControl:streetViewControl,overviewMapControl:overviewMapControl};if(typeof(options.el)==='string'||typeof(options.div)==='string'){if(identifier.indexOf("#")>-1){this.el=getElementById(identifier,options.context)}else{this.el=getElementsByClassName.apply(this,[identifier,options.context])}}else{this.el=identifier}
18if(typeof(this.el)==='undefined'||this.el===null){throw 'No element defined.'}
19window.context_menu=window.context_menu||{};window.context_menu[self.el.id]={};this.controls=[];this.overlays=[];this.layers=[];this.singleLayers={};this.markers=[];this.polylines=[];this.routes=[];this.polygons=[];this.infoWindow=null;this.overlay_el=null;this.zoom=options.zoom;this.registered_events={};this.el.style.width=options.width||this.el.scrollWidth||this.el.offsetWidth;this.el.style.height=options.height||this.el.scrollHeight||this.el.offsetHeight;google.maps.visualRefresh=options.enableNewStyle;for(i=0;i<options_to_be_deleted.length;i++){delete options[options_to_be_deleted[i]]}
20if(options.disableDefaultUI!=!0){map_base_options=extend_object(map_base_options,map_controls_options)}
21map_options=extend_object(map_base_options,options);for(i=0;i<events_that_hide_context_menu.length;i++){delete map_options[events_that_hide_context_menu[i]]}
22for(i=0;i<events_that_doesnt_hide_context_menu.length;i++){delete map_options[events_that_doesnt_hide_context_menu[i]]}
23this.map=new google.maps.Map(this.el,map_options);if(markerClustererFunction){this.markerClusterer=markerClustererFunction.apply(this,[this.map])}
24var buildContextMenuHTML=function(control,e){var html='',options=window.context_menu[self.el.id][control];for(var i in options){if(options.hasOwnProperty(i)){var option=options[i];html+='<li><a id="'+control+'_'+i+'" href="#">'+option.title+'</a></li>'}}
25if(!getElementById('gmaps_context_menu'))return;var context_menu_element=getElementById('gmaps_context_menu');context_menu_element.innerHTML=html;var context_menu_items=context_menu_element.getElementsByTagName('a'),context_menu_items_count=context_menu_items.length,i;for(i=0;i<context_menu_items_count;i++){var context_menu_item=context_menu_items[i];var assign_menu_item_action=function(ev){ev.preventDefault();options[this.id.replace(control+'_','')].action.apply(self,[e]);self.hideContextMenu()};google.maps.event.clearListeners(context_menu_item,'click');google.maps.event.addDomListenerOnce(context_menu_item,'click',assign_menu_item_action,!1)}
26var position=findAbsolutePosition.apply(this,[self.el]),left=position[0]+e.pixel.x-15,top=position[1]+e.pixel.y-15;context_menu_element.style.left=left+"px";context_menu_element.style.top=top+"px"};this.buildContextMenu=function(control,e){if(control==='marker'){e.pixel={};var overlay=new google.maps.OverlayView();overlay.setMap(self.map);overlay.draw=function(){var projection=overlay.getProjection(),position=e.marker.getPosition();e.pixel=projection.fromLatLngToContainerPixel(position);buildContextMenuHTML(control,e)}}
27else{buildContextMenuHTML(control,e)}
28var context_menu_element=getElementById('gmaps_context_menu');setTimeout(function(){context_menu_element.style.display='block'},0)};this.setContextMenu=function(options){window.context_menu[self.el.id][options.control]={};var i,ul=doc.createElement('ul');for(i in options.options){if(options.options.hasOwnProperty(i)){var option=options.options[i];window.context_menu[self.el.id][options.control][option.name]={title:option.title,action:option.action}}}
29ul.id='gmaps_context_menu';ul.style.display='none';ul.style.position='absolute';ul.style.minWidth='100px';ul.style.background='white';ul.style.listStyle='none';ul.style.padding='8px';ul.style.boxShadow='2px 2px 6px #ccc';if(!getElementById('gmaps_context_menu')){doc.body.appendChild(ul)}
30var context_menu_element=getElementById('gmaps_context_menu');google.maps.event.addDomListener(context_menu_element,'mouseout',function(ev){if(!ev.relatedTarget||!this.contains(ev.relatedTarget)){window.setTimeout(function(){context_menu_element.style.display='none'},400)}},!1)};this.hideContextMenu=function(){var context_menu_element=getElementById('gmaps_context_menu');if(context_menu_element){context_menu_element.style.display='none'}};var setupListener=function(object,name){google.maps.event.addListener(object,name,function(e){if(e==undefined){e=this}
31options[name].apply(this,[e]);self.hideContextMenu()})};google.maps.event.addListener(this.map,'zoom_changed',this.hideContextMenu);for(var ev=0;ev<events_that_hide_context_menu.length;ev++){var name=events_that_hide_context_menu[ev];if(name in options){setupListener(this.map,name)}}
32for(var ev=0;ev<events_that_doesnt_hide_context_menu.length;ev++){var name=events_that_doesnt_hide_context_menu[ev];if(name in options){setupListener(this.map,name)}}
33google.maps.event.addListener(this.map,'rightclick',function(e){if(options.rightclick){options.rightclick.apply(this,[e])}
34if(window.context_menu[self.el.id].map!=undefined){self.buildContextMenu('map',e)}});this.refresh=function(){google.maps.event.trigger(this.map,'resize')};this.fitZoom=function(){var latLngs=[],markers_length=this.markers.length,i;for(i=0;i<markers_length;i++){if(typeof(this.markers[i].visible)==='boolean'&&this.markers[i].visible){latLngs.push(this.markers[i].getPosition())}}
35this.fitLatLngBounds(latLngs)};this.fitLatLngBounds=function(latLngs){var total=latLngs.length,bounds=new google.maps.LatLngBounds(),i;for(i=0;i<total;i++){bounds.extend(latLngs[i])}
36this.map.fitBounds(bounds)};this.setCenter=function(lat,lng,callback){this.map.panTo(new google.maps.LatLng(lat,lng));if(callback){callback()}};this.getElement=function(){return this.el};this.zoomIn=function(value){value=value||1;this.zoom=this.map.getZoom()+value;this.map.setZoom(this.zoom)};this.zoomOut=function(value){value=value||1;this.zoom=this.map.getZoom()-value;this.map.setZoom(this.zoom)};var native_methods=[],method;for(method in this.map){if(typeof(this.map[method])=='function'&&!this[method]){native_methods.push(method
36)}}
37for(i=0;i<native_methods.length;i++){(function(gmaps,scope,method_name){gmaps[method_name]=function(){return scope[method_name].apply(scope,arguments)}})(this,this.map,native_methods[i])}};return GMaps})(this);GMaps.prototype.createControl=function(options){var control=document.createElement('div');control.style.cursor='pointer';if(options.disableDefaultStyles!==!0){control.style.fontFamily='Roboto, Arial, sans-serif';control.style.fontSize='11px';control.style.boxShadow='rgba(0, 0, 0, 0.298039) 0px 1px 4px -1px'}
38for(var option in options.style){control.style[option]=options.style[option]}
39if(options.id){control.id=options.id}
40if(options.title){control.title=options.title}
41if(options.classes){control.className=options.classes}
42if(options.content){if(typeof options.content==='string'){control.innerHTML=options.content}
43else if(options.content instanceof HTMLElement){control.appendChild(options.content)}}
44if(options.position){control.position=google.maps.ControlPosition[options.position.toUpperCase()]}
45for(var ev in options.events){(function(object,name){google.maps.event.addDomListener(object,name,function(){options.events[name].apply(this,[this])})})(control,ev)}
46control.index=1;return control};GMaps.prototype.addControl=function(options){var control=this.createControl(options);this.controls.push(control);this.map.controls[control.position].push(control);return control};GMaps.prototype.removeControl=function(control){var position=null,i;for(i=0;i<this.controls.length;i++){if(this.controls[i]==control){position=this.controls[i].position;this.controls.splice(i,1)}}
47if(position){for(i=0;i<this.map.controls.length;i++){var controlsForPosition=this.map.controls[control.position];if(controlsForPosition.getAt(i)==control){controlsForPosition.removeAt(i);break}}}
48return control};GMaps.prototype.createMarker=function(options){if(options.lat==undefined&&options.lng==undefined&&options.position==undefined){throw 'No latitude or longitude defined.'}
49var self=this,details=options.details,fences=options.fences,outside=options.outside,base_options={position:new google.maps.LatLng(options.lat,options.lng),map:null},marker_options=extend_object(base_options,options);delete marker_options.lat;delete marker_options.lng;delete marker_options.fences;delete marker_options.outside;var marker=new google.maps.Marker(marker_options);marker.fences=fences;if(options.infoWindow){marker.infoWindow=new google.maps.InfoWindow(options.infoWindow);var info_window_events=['closeclick','content_changed','domready','position_changed','zindex_changed'];for(var ev=0;ev<info_window_events.length;ev++){(function(object,name){if(options.infoWindow[name]){google.maps.event.addListener(object,name,function(e){options.infoWindow[name].apply(this,[e])})}})(marker.infoWindow,info_window_events[ev])}}
50var marker_events=['animation_changed','clickable_changed','cursor_changed','draggable_changed','flat_changed','icon_changed','position_changed','shadow_changed','shape_changed','title_changed','visible_changed','zindex_changed'];var marker_events_with_mouse=['dblclick','drag','dragend','dragstart','mousedown','mouseout','mouseover','mouseup'];for(var ev=0;ev<marker_events.length;ev++){(function(object,name){if(options[name]){google.maps.event.addListener(object,name,function(){options[name].apply(this,[this])})}})(marker,marker_events[ev])}
51for(var ev=0;ev<marker_events_with_mouse.length;ev++){(function(map,object,name){if(options[name]){google.maps.event.addListener(object,name,function(me){if(!me.pixel){me.pixel=map.getProjection().fromLatLngToPoint(me.latLng)}
52options[name].apply(this,[me])})}})(this.map,marker,marker_events_with_mouse[ev])}
53google.maps.event.addListener(marker,'click',function(){this.details=details;if(options.click){options.click.apply(this,[this])}
54if(marker.infoWindow){self.hideInfoWindows();marker.infoWindow.open(self.map,marker)}});google.maps.event.addListener(marker,'rightclick',function(e){e.marker=this;if(options.rightclick){options.rightclick.apply(this,[e])}
55if(window.context_menu[self.el.id].marker!=undefined){self.buildContextMenu('marker',e)}});if(marker.fences){google.maps.event.addListener(marker,'dragend',function(){self.checkMarkerGeofence(marker,function(m,f){outside(m,f)})})}
56return marker};GMaps.prototype.addMarker=function(options){var marker;if(options.hasOwnProperty('gm_accessors_')){marker=options}
57else{if((options.hasOwnProperty('lat')&&options.hasOwnProperty('lng'))||options.position){marker=this.createMarker(options)}
58else{throw 'No latitude or longitude defined.'}}
59marker.setMap(this.map);if(this.markerClusterer){this.markerClusterer.addMarker(marker)}
60this.markers.push(marker);GMaps.fire('marker_added',marker,this);return marker};GMaps.prototype.addMarkers=function(array){for(var i=0,marker;marker=array[i];i++){this.addMarker(marker)}
61return this.markers};GMaps.prototype.hideInfoWindows=function(){for(var i=0,marker;marker=this.markers[i];i++){if(marker.infoWindow){marker.infoWindow.close()}}};GMaps.prototype.removeMarker=function(marker){for(var i=0;i<this.markers.length;i++){if(this.markers[i]===marker){this.markers[i].setMap(null);this.markers.splice(i,1);if(this.markerClusterer){this.markerClusterer.removeMarker(marker)}
62GMaps.fire('marker_removed',marker,this);break}}
63return marker};GMaps.prototype.removeMarkers=function(collection){var new_markers=[];if(typeof collection=='undefined'){for(var i=0;i<this.markers.length;i++){var marker=this.markers[i];marker.setMap(null);GMaps.fire('marker_removed',marker,this)}
64if(this.markerClusterer&&this.markerClusterer.clearMarkers){this.markerClusterer.clearMarkers()}
65this.markers=new_markers}
66else{for(var i=0;i<collection.length;i++){var index=this.markers.indexOf(collection[i]);if(index>-1){var marker=this.markers[index];marker.setMap(null);if(this.markerClusterer){this.markerClusterer.removeMarker(marker)}
67GMaps.fire('marker_removed',marker,this)}}
68for(var i=0;i<this.markers.length;i++){var marker=this.markers[i];if(marker.getMap()!=null){new_markers.push(marker)}}
69this.markers=new_markers}};GMaps.prototype.drawOverlay=function(options){var overlay=new google.maps.OverlayView(),auto_
69show=!0;overlay.setMap(this.map);if(options.auto_show!=null){auto_show=options.auto_show}
70overlay.onAdd=function(){var el=document.createElement('div');el.style.borderStyle="none";el.style.borderWidth="0px";el.style.position="absolute";el.style.zIndex=100;el.innerHTML=options.content;overlay.el=el;if(!options.layer){options.layer='overlayLayer'}
71var panes=this.getPanes(),overlayLayer=panes[options.layer],stop_overlay_events=['contextmenu','DOMMouseScroll','dblclick','mousedown'];overlayLayer.appendChild(el);for(var ev=0;ev<stop_overlay_events.length;ev++){(function(object,name){google.maps.event.addDomListener(object,name,function(e){if(navigator.userAgent.toLowerCase().indexOf('msie')!=-1&&document.all){e.cancelBubble=!0;e.returnValue=!1}
72else{e.stopPropagation()}})})(el,stop_overlay_events[ev])}
73if(options.click){panes.overlayMouseTarget.appendChild(overlay.el);google.maps.event.addDomListener(overlay.el,'click',function(){options.click.apply(overlay,[overlay])})}
74google.maps.event.trigger(this,'ready')};overlay.draw=function(){var projection=this.getProjection(),pixel=projection.fromLatLngToDivPixel(new google.maps.LatLng(options.lat,options.lng));options.horizontalOffset=options.horizontalOffset||0;options.verticalOffset=options.verticalOffset||0;var el=overlay.el,content=el.children[0],content_height=content.clientHeight,content_width=content.clientWidth;switch(options.verticalAlign){case 'top':el.style.top=(pixel.y-content_height+options.verticalOffset)+'px';break;default:case 'middle':el.style.top=(pixel.y-(content_height/2)+options.verticalOffset)+'px';break;case 'bottom':el.style.top=(pixel.y+options.verticalOffset)+'px';break}
75switch(options.horizontalAlign){case 'left':el.style.left=(pixel.x-content_width+options.horizontalOffset)+'px';break;default:case 'center':el.style.left=(pixel.x-(content_width/2)+options.horizontalOffset)+'px';break;case 'right':el.style.left=(pixel.x+options.horizontalOffset)+'px';break}
76el.style.display=auto_show?'block':'none';if(!auto_show){options.show.apply(this,[el])}};overlay.onRemove=function(){var el=overlay.el;if(options.remove){options.remove.apply(this,[el])}
77else{overlay.el.parentNode.removeChild(overlay.el);overlay.el=null}};this.overlays.push(overlay);return overlay};GMaps.prototype.removeOverlay=function(overlay){for(var i=0;i<this.overlays.length;i++){if(this.overlays[i]===overlay){this.overlays[i].setMap(null);this.overlays.splice(i,1);break}}};GMaps.prototype.removeOverlays=function(){for(var i=0,item;item=this.overlays[i];i++){item.setMap(null)}
78this.overlays=[]};GMaps.prototype.drawPolyline=function(options){var path=[],points=options.path;if(points.length){if(points[0][0]===undefined){path=points}
79else{for(var i=0,latlng;latlng=points[i];i++){path.push(new google.maps.LatLng(latlng[0],latlng[1]))}}}
80var polyline_options={map:this.map,path:path,strokeColor:options.strokeColor,strokeOpacity:options.strokeOpacity,strokeWeight:options.strokeWeight,geodesic:options.geodesic,clickable:!0,editable:!1,visible:!0};if(options.hasOwnProperty("clickable")){polyline_options.clickable=options.clickable}
81if(options.hasOwnProperty("editable")){polyline_options.editable=options.editable}
82if(options.hasOwnProperty("icons")){polyline_options.icons=options.icons}
83if(options.hasOwnProperty("zIndex")){polyline_options.zIndex=options.zIndex}
84var polyline=new google.maps.Polyline(polyline_options);var polyline_events=['click','dblclick','mousedown','mousemove','mouseout','mouseover','mouseup','rightclick'];for(var ev=0;ev<polyline_events.length;ev++){(function(object,name){if(options[name]){google.maps.event.addListener(object,name,function(e){options[name].apply(this,[e])})}})(polyline,polyline_events[ev])}
85this.polylines.push(polyline);GMaps.fire('polyline_added',polyline,this);return polyline};GMaps.prototype.removePolyline=function(polyline){for(var i=0;i<this.polylines.length;i++){if(this.polylines[i]===polyline){this.polylines[i].setMap(null);this.polylines.splice(i,1);GMaps.fire('polyline_removed',polyline,this);break}}};GMaps.prototype.removePolylines=function(){for(var i=0,item;item=this.polylines[i];i++){item.setMap(null)}
86this.polylines=[]};GMaps.prototype.drawCircle=function(options){options=extend_object({map:this.map,center:new google.maps.LatLng(options.lat,options.lng)},options);delete options.lat;delete options.lng;var polygon=new google.maps.Circle(options),polygon_events=['click','dblclick','mousedown','mousemove','mouseout','mouseover','mouseup','rightclick'];for(var ev=0;ev<polygon_events.length;ev++){(function(object,name){if(options[name]){google.maps.event.addListener(object,name,function(e){options[name].apply(this,[e])})}})(polygon,polygon_events[ev])}
87this.polygons.push(polygon);return polygon};GMaps.prototype.drawRectangle=function(options){options=extend_object({map:this.map},options);var latLngBounds=new google.maps.LatLngBounds(new google.maps.LatLng(options.bounds[0][0],options.bounds[0][1]),new google.maps.LatLng(options.bounds[1][0],options.bounds[1][1]));options.bounds=latLngBounds;var polygon=new google.maps.Rectangle(options),polygon_events=['click','dblclick','mousedown','mousemove','mouseout','mouseover','mouseup','rightclick'];for(var ev=0;ev<polygon_events.length;ev++){(function(object,name){if(options[name]){google.maps.event.addListener(object,name,function(e){options[name].apply(this,[e])})}})(polygon,polygon_events[ev])}
88this.polygons.push(polygon);return polygon};GMaps.prototype.drawPolygon=function(options){var useGeoJSON=!1;if(options.hasOwnProperty("useGeoJSON")){useGeoJSON=options.useGeoJSON}
89delete options.useGeoJSON;options=extend_object({map:this.map},options);if(useGeoJSON==!1){options.paths=[options.paths.slice(0)]}
90if(options.paths.length>0){if(options.paths[0].length>0){options.paths=array_flat(array_map(options.paths,arrayToLatLng,useGeoJSON))}}
91var polygon=new google.maps.Polygon(options),polygon_events=['click','dblclick','mousedown','mousemove','mouseout','mouseover','mouseup','rightclick'];for(var ev=0;ev<polygon_events.length;ev++){(function(object,name){if(options[name]){google.maps.event.addListener(object,name,function(e){options[name].apply(this,[e])})}})(polygon,polygon_events[ev])}
92this.polygons.push(polygon);GMaps.fire('polygon_added',polygon,this);return polygon};GMaps.prototype.removePolygon=function(polygon){for(var i=0;i<this.polygons.length;i++){if(this.polygons[i]===polygon){this.polygons[i].setMap(null);this.polygons.splice(i,1);GMaps.fire('polygon_removed',polygon,this);break}}};GMaps.prototype.removePolygons=function(){for(var i=0,item;item=this.polygons[i];i++){item.setMap(null)}
93this.polygons=[]};GMaps.prototype.getFromFusionTables=function(options){var events=options.events;delete options.events;var fusion_tables_options=options,layer=new google.maps.FusionTablesLayer(fusion_tables_options);for(var ev in events){(function(object,name){google.maps.event.addListener(object,name,function(e){events[name].apply(this,[e])})})(layer,ev)}
94this.layers.push(layer);return layer};GMaps.prototype.loadFromFusionTables=function(options){var layer=this.getFromFusionTables(options);layer.setMap(this.map);return layer};GMaps.prototype.getFromKML=function(options){var url=options.url,events=options.events;delete options.url;delete options.events;var kml_options=options,layer=new google.maps.KmlLayer(url,kml_options);for(var ev in events){(function(object,name){google.maps.event.addListener(object,name,function(e){events[name].apply(this,[e])})})(layer,ev)}
95this.layers.push(layer);return layer};GMaps.prototype.loadFromKML=function(options){var layer=this.getFromKML(options);layer.setMap(this.map);return layer};GMaps.prototype.addLayer=function(layerName,options){options=options||{};var layer;
95switch(layerName){case 'weather':this.singleLayers.weather=layer=new google.maps.weather.WeatherLayer();break;case 'clouds':this.singleLayers.clouds=layer=new google.maps.weather.CloudLayer();break;case 'traffic':this.singleLayers.traffic=layer=new google.maps.TrafficLayer();break;case 'transit':this.singleLayers.transit=layer=new google.maps.TransitLayer();break;case 'bicycling':this.singleLayers.bicycling=layer=new google.maps.BicyclingLayer();break;case 'panoramio':this.singleLayers.panoramio=layer=new google.maps.panoramio.PanoramioLayer();layer.setTag(options.filter);delete options.filter;if(options.click){google.maps.event.addListener(layer,'click',function(event){options.click(event);delete options.click})}
96break;case 'places':this.singleLayers.places=layer=new google.maps.places.PlacesService(this.map);if(options.search||options.nearbySearch||options.radarSearch){var placeSearchRequest={bounds:options.bounds||null,keyword:options.keyword||null,location:options.location||null,name:options.name||null,radius:options.radius||null,rankBy:options.rankBy||null,types:options.types||null};if(options.radarSearch){layer.radarSearch(placeSearchRequest,options.radarSearch)}
97if(options.search){layer.search(placeSearchRequest,options.search)}
98if(options.nearbySearch){layer.nearbySearch(placeSearchRequest,options.nearbySearch)}}
99if(options.textSearch){var textSearchRequest={bounds:options.bounds||null,location:options.location||null,query:options.query||null,radius:options.radius||null};layer.textSearch(textSearchRequest,options.textSearch)}
100break}
101if(layer!==undefined){if(typeof layer.setOptions=='function'){layer.setOptions(options)}
102if(typeof layer.setMap=='function'){layer.setMap(this.map)}
103return layer}};GMaps.prototype.removeLayer=function(layer){if(typeof(layer)=="string"&&this.singleLayers[layer]!==undefined){this.singleLayers[layer].setMap(null);delete this.singleLayers[layer]}
104else{for(var i=0;i<this.layers.length;i++){if(this.layers[i]===layer){this.layers[i].setMap(null);this.layers.splice(i,1);break}}}};var travelMode,unitSystem;GMaps.prototype.getRoutes=function(options){switch(options.travelMode){case 'bicycling':travelMode=google.maps.TravelMode.BICYCLING;break;case 'transit':travelMode=google.maps.TravelMode.TRANSIT;break;case 'driving':travelMode=google.maps.TravelMode.DRIVING;break;default:travelMode=google.maps.TravelMode.WALKING;break}
105if(options.unitSystem==='imperial'){unitSystem=google.maps.UnitSystem.IMPERIAL}
106else{unitSystem=google.maps.UnitSystem.METRIC}
107var base_options={avoidHighways:!1,avoidTolls:!1,optimizeWaypoints:!1,waypoints:[]},request_options=extend_object(base_options,options);request_options.origin=/string/.test(typeof options.origin)?options.origin:new google.maps.LatLng(options.origin[0],options.origin[1]);request_options.destination=/string/.test(typeof options.destination)?options.destination:new google.maps.LatLng(options.destination[0],options.destination[1]);request_options.travelMode=travelMode;request_options.unitSystem=unitSystem;delete request_options.callback;delete request_options.error;var self=this,routes=[],service=new google.maps.DirectionsService();service.route(request_options,function(result,status){if(status===google.maps.DirectionsStatus.OK){for(var r in result.routes){if(result.routes.hasOwnProperty(r)){routes.push(result.routes[r])}}
108if(options.callback){options.callback(routes,result,status)}}
109else{if(options.error){options.error(result,status)}}})};GMaps.prototype.removeRoutes=function(){this.routes.length=0};GMaps.prototype.getElevations=function(options){options=extend_object({locations:[],path:!1,samples:256},options);if(options.locations.length>0){if(options.locations[0].length>0){options.locations=array_flat(array_map([options.locations],arrayToLatLng,!1))}}
110var callback=options.callback;delete options.callback;var service=new google.maps.ElevationService();if(!options.path){delete options.path;delete options.samples;service.getElevationForLocations(options,function(result,status){if(callback&&typeof(callback)==="function"){callback(result,status)}})}else{var pathRequest={path:options.locations,samples:options.samples};service.getElevationAlongPath(pathRequest,function(result,status){if(callback&&typeof(callback)==="function"){callback(result,status)}})}};GMaps.prototype.cleanRoute=GMaps.prototype.removePolylines;GMaps.prototype.renderRoute=function(options,renderOptions){var self=this,panel=((typeof renderOptions.panel==='string')?document.getElementById(renderOptions.panel.replace('#','')):renderOptions.panel),display;renderOptions.panel=panel;renderOptions=extend_object({map:this.map},renderOptions);display=new google.maps.DirectionsRenderer(renderOptions);this.getRoutes({origin:options.origin,destination:options.destination,travelMode:options.travelMode,waypoints:options.waypoints,unitSystem:options.unitSystem,error:options.error,avoidHighways:options.avoidHighways,avoidTolls:options.avoidTolls,optimizeWaypoints:options.optimizeWaypoints,callback:function(routes,response,status){if(status===google.maps.DirectionsStatus.OK){display.setDirections(response)}}})};GMaps.prototype.drawRoute=function(options){var self=this;this.getRoutes({origin:options.origin,destination:options.destination,travelMode:options.travelMode,waypoints:options.waypoints,unitSystem:options.unitSystem,error:options.error,avoidHighways:options.avoidHighways,avoidTolls:options.avoidTolls,optimizeWaypoints:options.optimizeWaypoints,callback:function(routes){if(routes.length>0){var polyline_options={path:routes[routes.length-1].overview_path,strokeColor:options.strokeColor,strokeOpacity:options.strokeOpacity,strokeWeight:options.strokeWeight};if(options.hasOwnProperty("icons")){polyline_options.icons=options.icons}
111self.drawPolyline(polyline_options);if(options.callback){options.callback(routes[routes.length-1])}}}})};GMaps.prototype.travelRoute=function(options){if(options.origin&&options.destination){this.getRoutes({origin:options.origin,destination:options.destination,travelMode:options.travelMode,waypoints:options.waypoints,unitSystem:options.unitSystem,error:options.error,callback:function(e){if(e.length>0&&options.start){options.start(e[e.length-1])}
112if(e.length>0&&options.step){var route=e[e.length-1];if(route.legs.length>0){var steps=route.legs[0].steps;for(var i=0,step;step=steps[i];i++){step.step_number=i;options.step(step,(route.legs[0].steps.length-1))}}}
113if(e.length>0&&options.end){options.end(e[e.length-1])}}})}
114else if(options.route){if(options.route.legs.length>0){var steps=options.route.legs[0].steps;for(var i=0,step;step=steps[i];i++){step.step_number=i;options.step(step)}}}};GMaps.prototype.drawSteppedRoute=function(options){var self=this;if(options.origin&&options.destination){this.getRoutes({origin:options.origin,destination:options.destination,travelMode:options.travelMode,waypoints:options.waypoints,error:options.error,callback:function(e){if(e.length>0&&options.start){options.start(e[e.length-1])}
115if(e.length>0&&options.step){var route=e[e.length-1];if(route.legs.length>0){var steps=route.legs[0].steps;for(var i=0,step;step=steps[i];i++){step.step_number=i;var polyline_options={path:step.path,strokeColor:options.strokeColor,strokeOpacity:options.strokeOpacity,strokeWeight:options.strokeWeight};if(options.hasOwnProperty("icons")){polyline_options.icons=options.icons}
116self.drawPolyline(polyline_options);options.step(step,(route.legs[0].steps.length-1))}}}
117if(e.length>0&&options.end){options.end(e[e.length-1])}}})}
118else if(options.route){if(options.route.legs.length>0){var steps=options.route.legs[0].steps;for(var i=0,step;step=steps[i];i++){step.step_number=i;var polyline_options={path:step.path,strokeColor:options.strokeColor,strokeOpacity:options.strokeOpacity,strokeWeight:options.strokeWeight};if(options.hasOwnProperty("icons")){polyline_options.icons=options.icons}
119self.drawPolyline(polyline_options);options.step(step)}}}};GMaps.Route=function(options){this.origin=options.origin;this.destination=options.destination;this.waypoints=options.waypoints;this.map=options.map;this.route=options.route;this.step_count=0;this.steps=this.route.legs[0].steps;this.steps_length=this.steps.length;var polyline_options={path:new google.maps.MVCArray(),strokeColor:options.strokeColor,strokeOpacity:options.strokeOpacity,strokeWeight:options.strokeWeight};if(options.hasOwnProperty("icons")){polyline_options.icons=options.icons}
120this.polyline=this.map.drawPolyline(polyline_options).getPath()};GMaps.Route.prototype.getRoute=function(options){var self=this;this.map.getRoutes({origin:this.origin,destination:this.destination,travelMode:options.travelMode,waypoints:this.waypoints||[],error:options.error,callback:function(){self.route=e[0];if(options.callback){options.callback.call(self)}}})};GMaps.Route.prototype.back=function(){if(this.step_count>0){this.step_count--;var path=this.route.legs[0].steps[this.step_count].path;for(var p in path){if(path.hasOwnProperty(p)){this.polyline.pop()}}}};GMaps.Route.prototype.forward=function(){if(this.step_count<this.steps_length){var path=this.route.legs[0].steps[this.step_count].path;for(var p in path){if(path.hasOwnProperty(p)){this.polyline.push(path[p])}}
121this.step_count++}};GMaps.prototype.checkGeofence=function(lat,lng,fence){return fence.containsLatLng(new google.maps.LatLng(lat,lng))};GMaps.prototype.checkMarkerGeofence=function(marker,outside_callback){if(marker.fences){for(var i=0,fence;fence=marker.fences[i];i++){var pos=marker.getPosition();if(!this.checkGeofence(pos.lat(),pos.lng(),fence)){outside_callback(marker,fence)}}}};GMaps.prototype.toImage=function(options){var options=options||{},static_map_options={};static_map_options.size=options.size||[this.el.clientWidth,this.el.clientHeight];static_map_options.lat=this.getCenter().lat();static_map_options.lng=this.getCenter().lng();if(this.markers.length>0){static_map_options.markers=[];for(var i=0;i<this.markers.length;i++){static_map_options.markers.push({lat:this.markers[i].getPosition().lat(),lng:this.markers[i].getPosition().lng()})}}
122if(this.polylines.length>0){var polyline=this.polylines[0];static_map_options.polyline={};static_map_options.polyline.path=google.maps.geometry.encoding.encodePath(polyline.getPath());static_map_options.polyline.strokeColor=polyline.strokeColor
123static_map_options.polyline.strokeOpacity=polyline.strokeOpacity
124static_map_options.polyline.strokeWeight=polyline.strokeWeight}
125return GMaps.staticMapURL(static_map_options)};GMaps.staticMapURL=function(options){var parameters=[],data,static_root=(location.protocol==='file:'?'http:':location.protocol)+'//maps.googleapis.com/ma
125ps/api/staticmap';if(options.url){static_root=options.url;delete options.url}
126static_root+='?';var markers=options.markers;delete options.markers;if(!markers&&options.marker){markers=[options.marker];delete options.marker}
127var styles=options.styles;delete options.styles;var polyline=options.polyline;delete options.polyline;if(options.center){parameters.push('center='+options.center);delete options.center}
128else if(options.address){parameters.push('center='+options.address);delete options.address}
129else if(options.lat){parameters.push(['center=',options.lat,',',options.lng].join(''));delete options.lat;delete options.lng}
130else if(options.visible){var visible=encodeURI(options.visible.join('|'));parameters.push('visible='+visible)}
131var size=options.size;if(size){if(size.join){size=size.join('x')}
132delete options.size}
133else{size='630x300'}
134parameters.push('size='+size);if(!options.zoom&&options.zoom!==!1){options.zoom=15}
135var sensor=options.hasOwnProperty('sensor')?!!options.sensor:!0;delete options.sensor;parameters.push('sensor='+sensor);for(var param in options){if(options.hasOwnProperty(param)){parameters.push(param+'='+options[param])}}
136if(markers){var marker,loc;for(var i=0;data=markers[i];i++){marker=[];if(data.size&&data.size!=='normal'){marker.push('size:'+data.size);delete data.size}
137else if(data.icon){marker.push('icon:'+encodeURI(data.icon));delete data.icon}
138if(data.color){marker.push('color:'+data.color.replace('#','0x'));delete data.color}
139if(data.label){marker.push('label:'+data.label[0].toUpperCase());delete data.label}
140loc=(data.address?data.address:data.lat+','+data.lng);delete data.address;delete data.lat;delete data.lng;for(var param in data){if(data.hasOwnProperty(param)){marker.push(param+':'+data[param])}}
141if(marker.length||i===0){marker.push(loc);marker=marker.join('|');parameters.push('markers='+encodeURI(marker))}
142else{marker=parameters.pop()+encodeURI('|'+loc);parameters.push(marker)}}}
143if(styles){for(var i=0;i<styles.length;i++){var styleRule=[];if(styles[i].featureType){styleRule.push('feature:'+styles[i].featureType.toLowerCase())}
144if(styles[i].elementType){styleRule.push('element:'+styles[i].elementType.toLowerCase())}
145for(var j=0;j<styles[i].stylers.length;j++){for(var p in styles[i].stylers[j]){var ruleArg=styles[i].stylers[j][p];if(p=='hue'||p=='color'){ruleArg='0x'+ruleArg.substring(1)}
146styleRule.push(p+':'+ruleArg)}}
147var rule=styleRule.join('|');if(rule!=''){parameters.push('style='+rule)}}}
148function parseColor(color,opacity){if(color[0]==='#'){color=color.replace('#','0x');if(opacity){opacity=parseFloat(opacity);opacity=Math.min(1,Math.max(opacity,0));if(opacity===0){return'0x00000000'}
149opacity=(opacity*255).toString(16);if(opacity.length===1){opacity+=opacity}
150color=color.slice(0,8)+opacity}}
151return color}
152if(polyline){data=polyline;polyline=[];if(data.strokeWeight){polyline.push('weight:'+parseInt(data.strokeWeight,10))}
153if(data.strokeColor){var color=parseColor(data.strokeColor,data.strokeOpacity);polyline.push('color:'+color)}
154if(data.fillColor){var fillcolor=parseColor(data.fillColor,data.fillOpacity);polyline.push('fillcolor:'+fillcolor)}
155var path=data.path;if(path.join){for(var j=0,pos;pos=path[j];j++){polyline.push(pos.join(','))}}
156else{polyline.push('enc:'+path)}
157polyline=polyline.join('|');parameters.push('path='+encodeURI(polyline))}
158var dpi=window.devicePixelRatio||1;parameters.push('scale='+dpi);parameters=parameters.join('&');return static_root+parameters};GMaps.prototype.addMapType=function(mapTypeId,options){if(options.hasOwnProperty("getTileUrl")&&typeof(options.getTileUrl)=="function"){options.tileSize=options.tileSize||new google.maps.Size(256,256);var mapType=new google.maps.ImageMapType(options);this.map.mapTypes.set(mapTypeId,mapType)}
159else{throw "'getTileUrl' function required."}};GMaps.prototype.addOverlayMapType=function(options){if(options.hasOwnProperty("getTile")&&typeof(options.getTile)=="function"){var overlayMapTypeIndex=options.index;delete options.index;this.map.overlayMapTypes.insertAt(overlayMapTypeIndex,options)}
160else{throw "'getTile' function required."}};GMaps.prototype.removeOverlayMapType=function(overlayMapTypeIndex){this.map.overlayMapTypes.removeAt(overlayMapTypeIndex)};GMaps.prototype.addStyle=function(options){var styledMapType=new google.maps.StyledMapType(options.styles,{name:options.styledMapName});this.map.mapTypes.set(options.mapTypeId,styledMapType)};GMaps.prototype.setStyle=function(mapTypeId){this.map.setMapTypeId(mapTypeId)};GMaps.prototype.createPanorama=function(streetview_options){if(!streetview_options.hasOwnProperty('lat')||!streetview_options.hasOwnProperty('lng')){streetview_options.lat=this.getCenter().lat();streetview_options.lng=this.getCenter().lng()}
161this.panorama=GMaps.createPanorama(streetview_options);this.map.setStreetView(this.panorama);return this.panorama};GMaps.createPanorama=function(options){var el=getElementById(options.el,options.context);options.position=new google.maps.LatLng(options.lat,options.lng);delete options.el;delete options.context;delete options.lat;delete options.lng;var streetview_events=['closeclick','links_changed','pano_changed','position_changed','pov_changed','resize','visible_changed'],streetview_options=extend_object({visible:!0},options);for(var i=0;i<streetview_events.length;i++){delete streetview_options[streetview_events[i]]}
162var panorama=new google.maps.StreetViewPanorama(el,streetview_options);for(var i=0;i<streetview_events.length;i++){(function(object,name){if(options[name]){google.maps.event.addListener(object,name,function(){options[name].apply(this)})}})(panorama,streetview_events[i])}
163return panorama};GMaps.prototype.on=function(event_name,handler){return GMaps.on(event_name,this,handler)};GMaps.prototype.off=function(event_name){GMaps.off(event_name,this)};GMaps.prototype.once=function(event_name,handler){return GMaps.once(event_name,this,handler)};GMaps.custom_events=['marker_added','marker_removed','polyline_added','polyline_removed','polygon_added','polygon_removed','geolocated','geolocation_failed'];GMaps.on=function(event_name,object,handler){if(GMaps.custom_events.indexOf(event_name)==-1){if(object instanceof GMaps)object=object.map;return google.maps.event.addListener(object,event_name,handler)}
164else{var registered_event={handler:handler,eventName:event_name};object.registered_events[event_name]=object.registered_events[event_name]||[];object.registered_events[event_name].push(registered_event);return registered_event}};GMaps.off=function(event_name,object){if(GMaps.custom_events.indexOf(event_name)==-1){if(object instanceof GMaps)object=object.map;google.maps.event.clearListeners(object,event_name)}
165else{object.registered_events[event_name]=[]}};GMaps.once=function(event_name,object,handler){if(GMaps.custom_events.indexOf(event_name)==-1){if(object instanceof GMaps)object=object.map;return google.maps.event.addListenerOnce(object,event_name,handler)}};GMaps.fire=function(event_name,object,scope){if(GMaps.custom_events.indexOf(event_name)==-1){google.maps.event.trigger(object,event_name,Array.prototype.slice.apply(arguments).slice(2))}
166else{if(event_name in scope.registered_events){var firing_events=scope.registered_events[event_name];for(var i=0;i<firing_events.length;i++){(function(handler,scope,object){handler.apply(scope,[object])})(firing_events[i].handler,scope,object)}}}};GMaps.geolocate=function(options){var complete_callback=options.always||options.complete;if(navigator.geolocation){navigator.geolocation.getCurrentPosition(function(position){options.success(position);if(complete_callback){complete_callback()}},function(error){options.error(error);if(complete_callback){complete_callback()}},options.options)}
167else{options.not_supported();if(complete_callback){complete_callback()}}};GMaps.geocode=function(options){this.geocoder=new google.maps.Geocoder();var callback=options.callback;if(options.hasOwnProperty('lat')&&options.hasOwnProperty('lng')){options.latLng=new google.maps.LatLng(options.lat,options.lng)}
168delete options.lat;delete options.lng;delete options.callback;this.geocoder.geocode(options,function(results,status){callback(results,status)})};if(typeof window.google==='object'&&window.google.maps){if(!google.maps.Polygon.prototype.getBounds){google.maps.Polygon.prototype.getBounds=function(latLng){var bounds=new google.maps.LatLngBounds();var paths=this.getPaths();var path;for(var p=0;p<paths.getLength();p++){path=paths.getAt(p);for(var i=0;i<path.getLength();i++){bounds.extend(path.getAt(i))}}
169return bounds}}
170if(!google.maps.Polygon.prototype.containsLatLng){google.maps.Polygon.prototype.containsLatLng=function(latLng){var bounds=this.getBounds();if(bounds!==null&&!bounds.contains(latLng)){return!1}
171var inPoly=!1;var numPaths=this.getPaths().getLength();for(var p=0;p<numPaths;p++){var path=this.getPaths().getAt(p);var numPoints=path.getLength();var j=numPoints-1;for(var i=0;i<numPoints;i++){var vertex1=path.getAt(i);var vertex2=path.getAt(j);if(vertex1.lng()<latLng.lng()&&vertex2.lng()>=latLng.lng()||vertex2.lng()<latLng.lng()&&vertex1.lng()>=latLng.lng()){if(vertex1.lat()+(latLng.lng()-vertex1.lng())/(vertex2.lng()-vertex1.lng())*(vertex2.lat()-vertex1.lat())<latLng.lat()){inPoly=!inPoly}}
172j=i}}
173return inPoly}}
174if(!google.maps.Circle.prototype.containsLatLng){google.maps.Circle.prototype.containsLatLng=function(latLng){if(google.maps.geometry){return google.maps.geometry.spherical.computeDistanceBetween(this.getCenter(),latLng)<=this.getRadius()}
175else{return!0}}}
176google.maps.Rectangle.prototype.containsLatLng=function(latLng){return this.getBounds().contains(latLng)};google.maps.LatLngBounds.prototype.containsLatLng=function(latLng){return this.contains(latLng)};google.maps.Marker.prototype.setFences=function(fences){this.fences=fences};google.maps.Marker.prototype.addFence=function(fence){this.fences.push(fence)};google.maps.Marker.prototype.getId=function(){return this['__gm_id']}}
177if(!Array.prototype.indexOf){Array.prototype.indexOf=function(searchElement){"use strict";if(this==null){throw new TypeError()}
178var t=Object(this);var len=t.length>>>0;if(len===0){return-1}
179var n=0;if(arguments.length>1){n=Number(arguments[1]);if(n!=n){n=0}else if(n!=0&&n!=Infinity&&n!=-Infinity){n=(n>0||-1)*Math.floor(Math.abs(n))}}
180if(n>=len){return-1}
181var k=n>=0?n:Math.max(len-Math.abs(n),0);for(;k<len;k++){if(k in t&&t[k]===searchElement){return k}}
182return-1}}
183return GMaps}))

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.