PageSourceSearch

https://luxenottingham.com/js/jquery.gmap.min.js

js luxenottingham.com collected 2026-10-07 20:52:16 UTC 13,977 bytes, 9 lines download raw bytes

1/**
2 * jQuery gMapResp v3
3 *
4 * @url         http://www.smashinglabs.pl/gmap
5 * @author      Sebastian Poreba <[email protected]>
6 * @version     3.3.3
7 * @date        27.12.2012
8 */
9(function(e){var t=function(){this.markers=[];this.mainMarker=!1;this.icon="http://www.google.com/mapfiles/marker.png"};t.prototype.dist=function(e){return Math.sqrt(Math.pow(this.markers[0].latitude-e.latitude,2)+Math.pow(this.markers[0].longitude-e.longitude,2))};t.prototype.setIcon=function(e){this.icon=e};t.prototype.addMarker=function(e){this.markers[this.markers.length]=e};t.prototype.getMarker=function(){if(this.mainmarker)return this.mainmarker;var e,t;1<this.markers.length?(e=new n.MarkerImage("http://thydzik.com/thydzikGoogleMap/markerlink.php?text="+this.markers.length+"&color=EF9D3F"),t="cluster of "+this.markers.length+" markers"):(e=new n.MarkerImage(this.icon),t=this.markers[0].title);return this.mainmarker=new n.Marker({position:new n.LatLng(this.markers[0].latitude,this.markers[0].longitude),icon:e,title:t,map:null})};var n=google.maps,r=new n.Geocoder,i=0,s=0,o={},o={init:function(t){var r,i=e.extend({},e.fn.gMapResp.defaults,t);for(r in e.fn.gMapResp.defaults.icon)i.icon[r]||(i.icon[r]=e.fn.gMapResp.defaults.icon[r]);return this.each(function(){var t=e(this),r=o._getMapCenter.apply(t,[i]);"fit"==i.zoom&&(i.zoomFit=!0,i.zoom=o._autoZoom.apply(t,[i]));var s={zoom:i.zoom,center:r,mapTypeControl:i.mapTypeControl,mapTypeControlOptions:{},zoomControl:i.zoomControl,draggable:i.draggable,zoomControlOptions:{},panControl:i.panControl,panControlOptions:{},scaleControl:i.scaleControl,scaleControlOptions:{},streetViewControl:i.streetViewControl,streetViewControlOptions:{},mapTypeId:i.maptype,scrollwheel:i.scrollwheel,maxZoom:i.maxZoom,minZoom:i.minZoom};i.controlsPositions.mapType&&(s.mapTypeControlOptions.position=i.controlsPositions.mapType);i.controlsPositions.zoom&&(s.zoomControlOptions.position=i.controlsPositions.zoom);i.controlsPositions.pan&&(s.panControlOptions.position=i.controlsPositions.pan);i.controlsPositions.scale&&(s.scaleControlOptions.position=i.controlsPositions.scale);i.controlsPositions.streetView&&(s.streetViewControlOptions.position=i.controlsPositions.streetView);i.styles&&(s.styles=i.styles);s.mapTypeControlOptions.style=i.controlsStyle.mapType;s.zoomControlOptions.style=i.controlsStyle.zoom;s=new n.Map(this,s);i.log&&console.log("map center is:");i.log&&console.log(r);t.data("$gmap",s);t.data("gmap",{opts:i,gmap:s,markers:[],markerKeys:{},infoWindow:null,clusters:[]});if(0!==i.controls.length)for(r=0;r<i.controls.length;r+=1)s.controls[i.controls[r].pos].push(i.controls[r].div);i.clustering.enabled?(r=t.data("gmap"),r.markers=i.markers,o._renderCluster.apply(t,[]),n.event.addListener(s,"bounds_changed",function(){o._renderCluster.apply(t,[])})):0!==i.markers.length&&o.addMarkers.apply(t,[i.markers]);o._onComplete.apply(t,[])})},_delayedMode:!1,_onComplete:function(){var e=this.data("gmap"),t=this;if(0!==i)window.setTimeout(function(){o._onComplete.apply(t,[])},100);else{if(o._delayedMode){var n=o._getMapCenter.apply(this,[e.opts,!0]);o._setMapCenter.apply(this,[n]);e.opts.zoomFit&&(n=o._autoZoom.apply(this,[e.opts,!0]),e.gmap.setZoom(n))}e.opts.onComplete()}},_setMapCenter:function(e){var t=this.data("gmap");t&&t.opts.log&&console.log("delayed setMapCenter called");if(t&&void 0!==t.gmap&&0==i)t.gmap.setCenter(e);else{var n=this;window.setTimeout(function(){o._setMapCenter.apply(n,[e])},100)}},_boundaries:null,_getBoundaries:function(e){var t=e.markers,n,r=1e3,i=-1e3,s=1e3,u=-1e3;if(t){for(n=0;n<t.length;n+=1)t[n].latitude&&t[n].longitude&&(r>t[n].latitude&&(r=t[n].latitude),i<t[n].longitude&&(i=t[n].longitude),s>t[n].longitude&&(s=t[n].longitude),u<t[n].latitude&&(u=t[n].latitude),e.log&&console.log(t[n].latitude,t[n].longitude,r,i,s,u));o._boundaries={N:r,E:i,W:s,S:u}}-1e3==r&&(o._boundaries={N:0,E:0,W:0,S:0});return o._boundaries},_getBoundariesFromMarkers:function(){var e=this.data("gmap").markers,t,n=1e3,r=-1e3,i=1e3,s=-1e3;if(e){for(t=0;t<e.length;t+=1)n>e[t].getPosition().lat()&&(n=e[t].getPosition().lat()),r<e[t].getPosition().lng()&&(r=e[t].getPosition().lng()),i>e[t].getPosition().lng()&&(i=e[t].getPosition().lng()),s<e[t].getPosition().lat()&&(s=e[t].getPosition().lat());o._boundaries={N:n,E:r,W:i,S:s}}-1e3==n&&(o._boundaries={N:0,E:0,W:0,S:0});return o._boundaries},_getMapCenter:function(e,t){var i,s=this,u,a;if(e.markers.length&&("fit"==e.latitude||"fit"==e.longitude))return u=t?o._getBoundariesFromMarkers.apply(this):o._getBoundaries(e),i=new n.LatLng((u.N+u.S)/2,(u.E+u.W)/2),e.log&&console.log(t,u,i),i;if(e.latitude&&e.longitude)return i=new n.LatLng(e.latitude,e.longitude);i=new n.LatLng(0,0);if(e.address)return r.geocode({address:e.address},function(t,n){n===google.maps.GeocoderStatus.OK?o._setMapCenter.apply(s,[t[0].geometry.location]):e.log&&console.log("Geocode was not successful for the following reason: "+n)}),i;if(0<e.markers.length){a=null;for(u=0;
9u<e.markers.length;u+=1)if(e.markers[u].setCenter){a=e.markers[u];break}if(null===a)for(u=0;u<e.markers.length;u+=1){if(e.markers[u].latitude&&e.markers[u].longitude){a=e.markers[u];break}e.markers[u].address&&(a=e.markers[u])}if(null===a)return i;if(a.latitude&&a.longitude)return new n.LatLng(a.latitude,a.longitude);a.address&&r.geocode({address:a.address},function(t,n){n===google.maps.GeocoderStatus.OK?o._setMapCenter.apply(s,[t[0].geometry.location]):e.log&&console.log("Geocode was not successful for the following reason: "+n)})}return i},_renderCluster:function(){var e=this.data("gmap"),n=e.markers,r=e.clusters,i=e.opts,s;for(s=0;s<r.length;s+=1)r[s].getMarker().setMap(null);r.length=0;if(s=e.gmap.getBounds()){var u=s.getNorthEast(),a=s.getSouthWest(),l=[],c=(u.lat()-a.lat())*i.clustering.clusterSize/100;for(s=0;s<n.length;s+=1)n[s].latitude<u.lat()&&n[s].latitude>a.lat()&&n[s].longitude<u.lng()&&n[s].longitude>a.lng()&&(l[l.length]=n[s]);i.log&&console.log("number of markers "+l.length+"/"+n.length);i.log&&console.log("cluster radius: "+c);for(s=0;s<l.length;s+=1){u=-1;for(n=0;n<r.length&&!(a=r[n].dist(l[s]),a<c&&(u=n,i.clustering.fastClustering));n+=1);-1===u?(n=new t,n.addMarker(l[s]),r[r.length]=n):r[u].addMarker(l[s])}i.log&&console.log("Total clusters in viewport: "+r.length);for(n=0;n<r.length;n+=1)r[n].getMarker().setMap(e.gmap)}else{var h=this;window.setTimeout(function(){o._renderCluster.apply(h)},1e3)}},_processMarker:function(e,t,r,i){var s=this.data("gmap"),o=s.gmap,u=s.opts,a;void 0===i&&(i=new n.LatLng(e.latitude,e.longitude));if(!t){var f={image:u.icon.image,iconSize:new n.Size(u.icon.iconsize[0],u.icon.iconsize[1]),iconAnchor:new n.Point(u.icon.iconanchor[0],u.icon.iconanchor[1]),infoWindowAnchor:new n.Size(u.icon.infowindowanchor[0],u.icon.infowindowanchor[1])};t=new n.MarkerImage(f.image,f.iconSize,null,f.iconAnchor)}r||(new n.Size(u.icon.shadowsize[0],u.icon.shadowsize[1]),f&&f.iconAnchor||new n.Point(u.icon.iconanchor[0],u.icon.iconanchor[1]));t={position:i,icon:t,title:e.title,map:null,draggable:!0===e.draggable?!0:!1};u.clustering.enabled||(t.map=o);a=new n.Marker(t);a.setShadow(r);s.markers.push(a);e.key&&(s.markerKeys[e.key]=a);var l;e.html&&(r={content:"string"===typeof e.html?u.html_prepend+e.html+u.html_append:e.html,pixelOffset:e.infoWindowAnchor},u.log&&console.log("setup popup with data"),u.log&&console.log(r),l=new n.InfoWindow(r),n.event.addListener(a,"click",function(){u.log&&console.log("opening popup "+e.html);u.singleInfoWindow&&s.infoWindow&&s.infoWindow.close();l.open(o,a);s.infoWindow=l}));e.html&&e.popup&&(u.log&&console.log("opening popup "+e.html),l.open(o,a),s.infoWindow=l);e.onDragEnd&&n.event.addListener(a,"dragend",function(t){u.log&&console.log("drag end");e.onDragEnd(t)})},_geocodeMarker:function(e,t,u){var a=this;r.geocode({address:e.address},function(r,p){p===n.GeocoderStatus.OK?(i-=1,a.data("gmap").opts.log&&console.log("Geocode was successful with point: ",r[0].geometry.location),o._processMarker.apply(a,[e,t,u,r[0].geometry.location])):(p===n.GeocoderStatus.OVER_QUERY_LIMIT&&(!a.data("gmap").opts.noAlerts&&0===s&&alert("Error: too many geocoded addresses! Switching to 1 marker/s mode."),s+=1e3,window.setTimeout(function(){o._geocodeMarker.apply(a,[e,t,u])},s)),a.data("gmap").opts.log&&console.log("Geocode was not successful for the following reason: "+p))})},_autoZoom:function(t,n){var r=e(this).data("gmap"),i=e.extend({},r?r.opts:{},t),s,u,r=39135.758482;i.log&&console.log("autozooming map");s=n?o._getBoundariesFromMarkers.apply(this):o._getBoundaries(i);i=111e3*(s.E-s.W)/this.width();u=111e3*(s.S-s.N)/this.height();for(s=2;20>s&&!(i>r||u>r);s+=1)r/=2;return s-2},addMarkers:function(e){var t=this.data("gmap").opts;if(0!==e.length){t.log&&console.log("adding "+e.length+" markers");for(t=0;t<e.length;t+=1)o.addMarker.apply(this,[e[t]])}},addMarker:function(e){var t=this.data("gmap").opts;t.log&&console.log("putting marker at "+e.latitude+", "+e.longitude+" with address "+e.address+" and html "+e.html);var r=t.icon.image,s=new n.Size(t.icon.iconsize[0],t.icon.iconsize[1]),u=new n.Point(t.icon.iconanchor[0],t.icon.iconanchor[1]),a=new n.Size(t.icon.infowindowanchor[0],t.icon.infowindowanchor[1]),c=t.icon.shadow,h=new n.Size(t.icon.shadowsize[0],t.icon.shadowsize[1]),p=new n.Point(t.icon.shadowanchor[0],t.icon.shadowanchor[1]);e.infoWindowAnchor=a;e.icon&&(e.icon.image&&(r=e.icon.image),e.icon.iconsize&&(s=new n.Size(e.icon.iconsize[0],e.icon.iconsize[1])),e.icon.iconanchor&&(u=new n.Point(e.icon.iconanchor[0],e.icon.iconanchor[1])),e.icon.infowindowanchor&&new n.Size(e.icon.infowindowanchor[0],e.icon.infowindowanchor[1]),e.
9icon.shadow&&(c=e.icon.shadow),e.icon.shadowsize&&(h=new n.Size(e.icon.shadowsize[0],e.icon.shadowsize[1])),e.icon.shadowanchor&&(p=new n.Point(e.icon.shadowanchor[0],e.icon.shadowanchor[1])));r=new n.MarkerImage(r,s,null,u);c=new n.MarkerImage(c,h,null,p);e.address?("_address"===e.html&&(e.html=e.address),"_address"==e.title&&(e.title=e.address),t.log&&console.log("geocoding marker: "+e.address),i+=1,o._delayedMode=!0,o._geocodeMarker.apply(this,[e,r,c])):("_latlng"===e.html&&(e.html=e.latitude+", "+e.longitude),"_latlng"==e.title&&(e.title=e.latitude+", "+e.longitude),t=new n.LatLng(e.latitude,e.longitude),o._processMarker.apply(this,[e,r,c,t]))},removeAllMarkers:function(){var e=this.data("gmap").markers,t;for(t=0;t<e.length;t+=1)e[t].setMap(null),delete e[t];e.length=0},getMarker:function(e){return this.data("gmap").markerKeys[e]},fixAfterResize:function(e){var t=this.data("gmap");n.event.trigger(t.gmap,"resize");e&&t.gmap.panTo(new google.maps.LatLng(0,0));t.gmap.panTo(this.gMapResp("_getMapCenter",t.opts))},setZoom:function(e,t,n){var r=this.data("gmap").gmap;"fit"===e&&(e=o._autoZoom.apply(this,[t,n]));r.setZoom(parseInt(e))},changeSettings:function(e){var t=this.data("gmap"),n=[],r;for(r=0;r<t.markers.length;r+=1)n[r]={latitude:t.markers[r].getPosition().lat(),longitude:t.markers[r].getPosition().lng()};e.markers=n;e.zoom&&o.setZoom.apply(this,[e.zoom,e]);(e.latitude||e.longitude)&&t.gmap.panTo(o._getMapCenter.apply(this,[e]))},mapclick:function(e){google.maps.event.addListener(this.data("gmap").gmap,"click",function(t){e(t.latLng)})},geocode:function(e,t,i){r.geocode({address:e},function(e,r){r===n.GeocoderStatus.OK?t(e[0].geometry.location):i&&i(e,r)})},getRoute:function(t){var r=this.data("gmap"),i=r.gmap,s=new n.DirectionsRenderer,o=new n.DirectionsService,u={BYCAR:n.DirectionsTravelMode.DRIVING,BYBICYCLE:n.DirectionsTravelMode.BICYCLING,BYFOOT:n.DirectionsTravelMode.WALKING},a={MILES:n.DirectionsUnitSystem.IMPERIAL,KM:n.DirectionsUnitSystem.METRIC},f=null,l=null,c=null;void 0!==t.routeDisplay?f=t.routeDisplay instanceof jQuery?t.routeDisplay[0]:"string"==typeof t.routeDisplay?e(t.routeDisplay)[0]:null:null!==r.opts.routeFinder.routeDisplay&&(f=r.opts.routeFinder.routeDisplay instanceof jQuery?r.opts.routeFinder.routeDisplay[0]:"string"==typeof r.opts.routeFinder.routeDisplay?e(r.opts.routeFinder.routeDisplay)[0]:null);s.setMap(i);null!==f&&s.setPanel(f);l=void 0!==u[r.opts.routeFinder.travelMode]?u[r.opts.routeFinder.travelMode]:u.BYCAR;c=void 0!==a[r.opts.routeFinder.travelUnit]?a[r.opts.routeFinder.travelUnit]:a.KM;o.route({origin:t.from,destination:t.to,travelMode:l,unitSystem:c},function(t,i){i==n.DirectionsStatus.OK?s.setDirections(t):null!==f&&e(f).html(r.opts.routeFinder.routeErrors[i])});return this}};e.fn.gMapResp=function(t){if(o[t])return o[t].apply(this,Array.prototype.slice.call(arguments,1));if("object"===typeof t||!t)return o.init.apply(this,arguments);e.error("Method "+t+" does not exist on jQuery.gmap")};e.fn.gMapResp.defaults={log:!1,noAlerts:!0,address:"",latitude:null,longitude:null,zoom:3,maxZoom:null,minZoom:null,markers:[],controls:{},scrollwheel:!0,maptype:google.maps.MapTypeId.ROADMAP,mapTypeControl:!0,zoomControl:!0,draggable:!0,panControl:!1,scaleControl:!1,streetViewControl:!0,controlsPositions:{mapType:null,zoom:null,pan:null,scale:null,streetView:null},controlsStyle:{mapType:google.maps.MapTypeControlStyle.DEFAULT,zoom:google.maps.ZoomControlStyle.DEFAULT},singleInfoWindow:!0,html_prepend:'<div class="gmap_marker">',html_append:"</div>",icon:{image:"http://www.google.com/mapfiles/marker.png",iconsize:[20,34],iconanchor:[9,34],infowindowanchor:[-13,0],shadow:"http://www.google.com/mapfiles/shadow50.png",shadowsize:[37,34],shadowanchor:[9,34]},onComplete:function(){},routeFinder:{travelMode:"BYCAR",travelUnit:"KM",routeDisplay:null,routeErrors:{INVALID_REQUEST:"The provided request is invalid.",NOT_FOUND:"One or more of the given addresses could not be found.",OVER_QUERY_LIMIT:"A temporary error occured. Please try again in a few minutes.",REQUEST_DENIED:"An error occured. Please contact us.",UNKNOWN_ERROR:"An unknown error occured. Please try again.",ZERO_RESULTS:"No route could be found within the given addresses."}},clustering:{enabled:!1,fastClustering:!1,clusterCount:10,clusterSize:40}}})(jQuery)

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.