-
Notifications
You must be signed in to change notification settings - Fork 0
/
jquery.shakeMap.min.js
6 lines (6 loc) · 17.2 KB
/
jquery.shakeMap.min.js
1
2
3
4
5
6
<<<<<<< HEAD
jQuery.skmap={mapHash:[],markerManager:[],markers:[],gmarkers:[],infowindows:[],rawPosition:[],oms:[]};(function(h){var f,j,c,b,a,k,g;var e={makeLatLng:function(l){return new google.maps.LatLng(l[1],l[0])},getBounds:function(){var p,o,n;if(c){o=e.makeLatLng(j.features[0].geometry.coordinates)}else{o=e.makeLatLng(setting.defaultPoint)}p=new google.maps.LatLngBounds(o,o);n=j.features.length;for(var m=1,l=n;m<l;m++){p.extend(e.makeLatLng(j.features[m].geometry.coordinates))}return p},addMarker:function(r,p){var m,n,o;o=f.sidebar.mid;m=e.makeLatLng(p.geometry.coordinates);if(h.isEmptyObject(f.categoryIcons.options)){n=new google.maps.Marker({position:m,map:h.skmap.mapHash[i.getMap(r)].map})}else{category=f.categoryIcons.field_name;icon_options=e.markerIcon(f.categoryIcons,p.properties[category]);n=new google.maps.Marker({icon:icon_options,position:m,map:h.skmap.mapHash[i.getMap(r)].map})}if(p.properties.description){n.desc=p.properties.description}switch(f.action){case"infowindow":var q=new google.maps.InfoWindow({content:n.desc});h.skmap.infowindows[i.getMap(r)].push(q);google.maps.event.addListener(n,"click",function(){h.each(h.skmap.infowindows[i.getMap(r)],function(s,t){if(q!=t){t.close()}});q.open(h.skmap.mapHash[i.getMap(r)].map,n)});break;case"direct":google.maps.event.addListener(n,"click",function(){f.markerClick(this)});break;case"infobox":var l=new InfoBox(i.setInfobox(n.desc));h.skmap.infowindows[i.getMap(r)].push(l);google.maps.event.addListener(n,"click",function(){h.each(h.skmap.infowindows[i.getMap(r)],function(s,t){if(l!=t){t.close()}});l.open(h.skmap.mapHash[i.getMap(r)].map,n)});break;case"null":return;break}if(f.sidebar.active==true){h.skmap.gmarkers[i.getMap(r)][parseInt(p.properties[o],10)]=n;i.attachEvent(r)}return n},markerIcon:function(t,m){var o,q,l,s,r,p,n;q=t.options;l=q[m];s=t.size;r=t.origin;p=t.anchor;n=new google.maps.MarkerImage(l,new google.maps.Size(s[0],s[1]),new google.maps.Point(r[0],r[1]),new google.maps.Point(p[0],p[1]));return n},updateClusterer:function(){markerManager.addMarkers(marker)},geolocationError:function(l){f.geolocation.onError(l)},geolocationFormatIcon:function(n){var m,o,l;m=f.categoryIcons.field_name;l=[];if(f.geolocation.manualCoords.length>0){l[0]=f.geolocation.manualCoords[1];l[1]=f.geolocation.manualCoords[0]}else{l=[h.skmap.rawPosition[i.getMap(n)].longitude,h.skmap.rawPosition[i.getMap(n)].latitude]}o={type:"Feature",geometry:{type:"Point",coordinates:l},properties:{name:"",description:"",nid:""}};o.properties[m]="user";return o},map:function(q){var m,p,n,o,l;m={zoomControlOptions:{style:google.maps.ZoomControlStyle.DEFAULT},mapTypeId:google.maps.MapTypeId.ROADMAP,maxZoom:18,zoom:9};h.extend(m,f.mapOptions);if(f.mapStyle.length>0){p="custom";m.mapTypeControlOptions={mapTypeIds:[google.maps.MapTypeId.ROADMAP,p]};m.mapTypeId=p;n=f.mapStyle;o={name:"custom"};l=new google.maps.StyledMapType(n,o);k=new google.maps.Map(q,m);k.mapTypes.set(p,l)}else{k=new google.maps.Map(q,m)}if(c>1){k.fitBounds(a)}else{k.setCenter(new google.maps.LatLng(j.features[0].geometry.coordinates[1],j.features[0].geometry.coordinates[0]))}var r={map:"",mapKey:""};r.map=k;r.mapKey=q;h.skmap.mapHash.push(r)},set:function(m,n){if(n){if(h.skmap.rawPosition[i.getMap(m)]){j.features.push(e.geolocationFormatIcon(m))}}else{h.skmap.gmarkers.push(new Object);h.skmap.infowindows.push(new Array)}c=j.features.length;a=e.getBounds();if(n){h.skmap.markers[i.getMap(m)]=[];h.skmap.markerManager[i.getMap(m)].clearMarkers();h.skmap.mapHash[i.getMap(m)].map.fitBounds(a);if(f.spider===true){h.skmap.oms[i.getMap(m)].clearMarkers()}}else{h.skmap.markers.push(new Array);e.map(m);if(f.spider===true){h.skmap.oms[i.getMap(m)]=new OverlappingMarkerSpiderfier(h.skmap.mapHash[i.getMap(m)].map,{markersWontMove:true,markersWontHide:true});for(var l=0;l<c;l++){h.skmap.markers[i.getMap(m)].push(h.skmap.oms[i.getMap(m)].addMarker(e.addMarker(m,j.features[l])))}h.skmap.markerManager.push(new MarkerClusterer(h.skmap.mapHash[i.getMap(m)].map,h.skmap.oms[i.getMap(m)].getMarkers(),b))}else{for(var l=0;l<c;l++){h.skmap.markers[i.getMap(m)].push(e.addMarker(m,j.features[l]))}h.skmap.markerManager.push(new MarkerClusterer(h.skmap.mapHash[i.getMap(m)].map,h.skmap.markers[i.getMap(m)],b))}}if(n){if(f.spider===true){h.skmap.oms[i.getMap(m)]=new OverlappingMarkerSpiderfier(h.skmap.mapHash[i.getMap(m)].map,{markersWontMove:true,markersWontHide:true});for(var l=0;l<c;l++){h.skmap.markers[i.getMap(m)].push(h.skmap.oms[i.getMap(m)].addMarker(e.addMarker(m,j.features[l])))}h.skmap.markerManager.push(new MarkerClusterer(h.skmap.mapHash[i.getMap(m)].map,h.skmap.oms[i.getMap(m)].getMarkers(),b))}else{for(var l=0;l<c;l++){h.skmap.markers[i.getMap(m)].push(e.addMarker(m,j.features[l]))}h.skmap.markerManager[i.getMap(m)]=new MarkerClusterer(h.skmap.mapHash[i.getMap(m)].map,h.skmap.markers[i.getMap(m)],b)}}else{google.maps.event.addListener(h.skmap.markerManager[i.getMap(m)],"loaded",function(){updateClusterer()})}if(f.geolocation.active===true){google.maps.event.addListenerOnce(h.skmap.mapHash[i.getMap(m)].map,"idle",function(){if(navigator.geolocation){navigator.geolocation.getCurrentPosition(function(p){var o,q,r;
h.skmap.rawPosition[i.getMap(m)]=p.coords;o=new google.maps.LatLng(p.coords.latitude,p.coords.longitude);h.skmap.mapHash[i.getMap(m)].map.setCenter(o);h.skmap.mapHash[i.getMap(m)].map.setZoom(10);q=e.makeLatLng([p.coords.longitude,p.coords.latitude]);g=new google.maps.Marker({position:q,icon:f.geolocation.marker,map:k});h.skmap.markers[i.getMap(m)].push(g);h.skmap.markerManager[i.getMap(m)].clearMarkers();h.skmap.markerManager[i.getMap(m)]=new MarkerClusterer(h.skmap.mapHash[i.getMap(m)].map,h.skmap.markers[i.getMap(m)],b);r=new google.maps.Geocoder();r.geocode({latLng:o},function(s,t){if(t==google.maps.GeocoderStatus.OK){f.geolocation.onGeolocation(h.skmap.mapHash[i.getMap(m)].map,h.skmap.rawPosition[i.getMap(m)],s)}})},e.geolocationError)}else{e.geolocationError({code:0})}})}},init:function(m,l,n){b={gridSize:l.clusterer.grid_size,maxZoom:l.clusterer.max_zoom,styles:l.clusterer.style};if(l.data!=""||typeof l.data=="object"){if(typeof l.data=="string"){h.getJSON(l.data,function(o){j=o;e.set(m,n)})}else{j=l.data;e.set(m,n)}}else{console.log("Please, insert a valide geoJSON url or passing a geoJSON Object!")}}},i={getMap:function(m){for(var l=0;l<h.skmap.mapHash.length;l++){if(h.skmap.mapHash[l].mapKey==m){return l}}},setInfobox:function(l){var n,m;m=f.infoboxSettings.offset;n={content:l,disableAutoPan:false,maxWidth:0,pixelOffset:new google.maps.Size(m[0],m[1]),zIndex:null,boxStyle:{background:"url("+f.infoboxSettings.background+") left top no-repeat",opacity:1,width:f.infoboxSettings.width,height:f.infoboxSettings.height},closeBoxMargin:f.infoboxSettings.closeBoxMargin,closeBoxURL:f.infoboxSettings.closeBoxURL,infoBoxClearance:new google.maps.Size(1,1),isHidden:false,pane:"floatPane",enableEventPropagation:false};return n},attachEvent:function(l){h("a.open-infowindow",f.sidebar.target).die("click");h("a.open-infowindow",f.sidebar.target).live("click",function(){var m=parseInt(h(this).data("marker"),10);google.maps.event.trigger(h.skmap.gmarkers[i.getMap(l)][m],"click");h.skmap.mapHash[i.getMap(l)].map.setZoom(15);h.skmap.mapHash[i.getMap(l)].map.setCenter(h.skmap.gmarkers[i.getMap(l)][m].getPosition());return false})}},d={init:function(l){f={data:"",action:"infowindow",markerClick:function(m){},spider:false,sidebar:{active:false,mid:null,target:""},defaultPoint:{lat:0,lng:0},clusterer:{grid_size:50,max_zoom:15,style:[]},categoryIcons:{field_name:"",options:{},size:[32,32],origin:[0,0],anchor:[0,0]},geolocation:{active:false,marker:"",manualCoords:[],onGeolocation:function(o,n,m){},onError:function(m){}},infoboxSettings:{offset:[0,0],width:"",height:"",background:"",closeBoxMargin:"0 0 0 0",closeBoxURL:""},mapOptions:{},mapStyle:[]};return this.each(function(){var m;if(l){if(typeof l[1]=="object"){m=l[0];h.extend(f,l[1])}else{h.extend(f,l)}}e.init(this,f,m)})},destroy:function(){this.each(function(){var m=jQuery(this).empty().removeAttr("style").clone(false);var l=i.getMap(this);h.skmap.mapHash.splice(l,1);h.skmap.markerManager.splice(l,1);h.skmap.markers.splice(l,1);h.skmap.gmarkers.splice(l,1);h.skmap.infowindows.splice(l,1);h.skmap.rawPosition.splice(l,1);h.skmap.oms.splice(l,1);h(this).replaceWith(m)})}};h.fn.shakemap=function(l){switch(l){case"update":return d.init.apply(this,[arguments]);break;case"destroy":return d.destroy.apply(this);break;default:return d.init.apply(this,arguments);break}}})(jQuery);
=======
jQuery.skmap={mapHash:[],markerManager:[],markers:[],gmarkers:[],infowindows:[],rawPosition:[],oms:[]},function(e){var a,o,t,r,s,n,p,i={makeLatLng:function(e){return new google.maps.LatLng(e[1],e[0])},getBounds:function(){var e,a,r;a=i.makeLatLng(t?o.features[0].geometry.coordinates:setting.defaultPoint),e=new google.maps.LatLngBounds(a,a),r=o.features.length;for(var s=1,n=r;n>s;s++)e.extend(i.makeLatLng(o.features[s].geometry.coordinates));return e},addMarker:function(o,t){var r,s,n;switch(n=a.sidebar.mid,r=i.makeLatLng(t.geometry.coordinates),e.isEmptyObject(a.categoryIcons.options)?s=new google.maps.Marker({position:r,map:e.skmap.mapHash[m.getMap(o)].map}):(category=a.categoryIcons.field_name,icon_options=i.markerIcon(a.categoryIcons,t.properties[category]),s=new google.maps.Marker({icon:icon_options,position:r,map:e.skmap.mapHash[m.getMap(o)].map})),t.properties.description&&(s.desc=t.properties.description),a.action){case"infowindow":var p=new google.maps.InfoWindow({content:s.desc});e.isEmptyObject(a.infowindowOptions)||p.setOptions(a.infowindowOptions),e.skmap.infowindows[m.getMap(o)].push(p),google.maps.event.addListener(s,"click",function(){e.each(e.skmap.infowindows[m.getMap(o)],function(e,a){p!=a&&a.close()}),p.open(e.skmap.mapHash[m.getMap(o)].map,s)});break;case"direct":google.maps.event.addListener(s,"click",function(){a.markerClick(this)});break;case"infobox":var g=new InfoBox(m.setInfobox(s.desc));e.skmap.infowindows[m.getMap(o)].push(g),google.maps.event.addListener(s,"click",function(){e.each(e.skmap.infowindows[m.getMap(o)],function(e,a){g!=a&&a.close()}),g.open(e.skmap.mapHash[m.getMap(o)].map,s)});break;case"null":return}return 1==a.sidebar.active&&(e.skmap.gmarkers[m.getMap(o)][parseInt(t.properties[n],10)]=s,m.attachEvent(o)),s},markerIcon:function(e,a){var o,t,r,s,n,p,i;return t=e.options,r=t[a],s=e.size,n=e.origin,p=e.anchor,i=new google.maps.MarkerImage(r,new google.maps.Size(s[0],s[1]),new google.maps.Point(n[0],n[1]),new google.maps.Point(p[0],p[1]))},updateClusterer:function(){markerManager.addMarkers(marker)},geolocationError:function(e){a.geolocation.onError(e)},geolocationFormatIcon:function(o){var t,r,s;return t=a.categoryIcons.field_name,s=[],a.geolocation.manualCoords.length>0?(s[0]=a.geolocation.manualCoords[1],s[1]=a.geolocation.manualCoords[0]):s=[e.skmap.rawPosition[m.getMap(o)].longitude,e.skmap.rawPosition[m.getMap(o)].latitude],r={type:"Feature",geometry:{type:"Point",coordinates:s},properties:{name:"",description:"",nid:""}},r.properties[t]="user",r},map:function(r){var p,i,m,g,c;p={zoomControlOptions:{style:google.maps.ZoomControlStyle.DEFAULT},mapTypeId:google.maps.MapTypeId.ROADMAP,maxZoom:18,zoom:9},e.extend(p,a.mapOptions),google.maps.visualRefresh=!0,a.mapStyle.length>0?(i="custom",p.mapTypeControlOptions={mapTypeIds:[google.maps.MapTypeId.ROADMAP,i]},p.mapTypeId=i,m=a.mapStyle,g={name:"custom"},c=new google.maps.StyledMapType(m,g),n=new google.maps.Map(r,p),n.mapTypes.set(i,c)):n=new google.maps.Map(r,p),t>1?n.fitBounds(s):n.setCenter(new google.maps.LatLng(o.features[0].geometry.coordinates[1],o.features[0].geometry.coordinates[0]));var l={map:"",mapKey:""};l.map=n,l.mapKey=r,e.skmap.mapHash.push(l)},set:function(g,c){if(c?e.skmap.rawPosition[m.getMap(g)]&&o.features.push(i.geolocationFormatIcon(g)):(e.skmap.gmarkers.push(new Object),e.skmap.infowindows.push(new Array)),t=o.features.length,s=i.getBounds(),c)e.skmap.markers[m.getMap(g)]=[],e.skmap.markerManager[m.getMap(g)].clearMarkers(),e.skmap.mapHash[m.getMap(g)].map.fitBounds(s),a.spider===!0&&e.skmap.oms[m.getMap(g)].clearMarkers();else{if(e.skmap.markers.push(new Array),i.map(g),a.spider===!0){e.skmap.oms[m.getMap(g)]=new OverlappingMarkerSpiderfier(e.skmap.mapHash[m.getMap(g)].map,{markersWontMove:!0,markersWontHide:!0});for(var l=0;t>l;l++)e.skmap.markers[m.getMap(g)].push(e.skmap.oms[m.getMap(g)].addMarker(i.addMarker(g,o.features[l])));e.skmap.markerManager.push(new MarkerClusterer(e.skmap.mapHash[m.getMap(g)].map,e.skmap.oms[m.getMap(g)].getMarkers(),r))}else{for(var l=0;t>l;l++)e.skmap.markers[m.getMap(g)].push(i.addMarker(g,o.features[l]));e.skmap.markerManager.push(new MarkerClusterer(e.skmap.mapHash[m.getMap(g)].map,e.skmap.markers[m.getMap(g)],r))}1==e.skmap.markers[m.getMap(g)].length&&a.autoOpen&&google.maps.event.trigger(e.skmap.markers[m.getMap(g)][0],"click")}if(c)if(a.spider===!0){e.skmap.oms[m.getMap(g)]=new OverlappingMarkerSpiderfier(e.skmap.mapHash[m.getMap(g)].map,{markersWontMove:!0,markersWontHide:!0});for(var l=0;t>l;l++)e.skmap.markers[m.getMap(g)].push(e.skmap.oms[m.getMap(g)].addMarker(i.addMarker(g,o.features[l])));e.skmap.markerManager.push(new MarkerClusterer(e.skmap.mapHash[m.getMap(g)].map,e.skmap.oms[m.getMap(g)].getMarkers(),r))}else{for(var l=0;t>l;l++)e.skmap.markers[m.getMap(g)].push(i.addMarker(g,o.features[l]));e.skmap.markerManager[m.getMap(g)]=new MarkerClusterer(e.skmap.mapHash[m.getMap(g)].map,e.skmap.markers[m.getMap(g)],r)}else google.maps.event.addListener(e.skmap.markerManager[m.getMap(g)],"loaded",function(){updateClusterer()});if(1==t&&a.draggable.active===!0){a.action=null;var d=e.skmap.markers[m.getMap(g)][0];d.setDraggable(!0),google.maps.event.addListener(d,"dragstart",function(){a.draggable.dragstart(this.getPosition())}),google.maps.event.addListener(d,"drag",function(){a.draggable.drag(this.getPosition())}),google.maps.event.addListener(d,"dragend",function(){a.draggable.dragend(this.getPosition())})}a.geolocation.active===!0&&google.maps.event.addListenerOnce(e.skmap.mapHash[m.getMap(g)].map,"idle",function(){navigator.geolocation?navigator.geolocation.getCurrentPosition(function(o){var t,s,c;e.skmap.rawPosition[m.getMap(g)]=o.coords,t=new google.maps.LatLng(o.coords.latitude,o.coords.longitude),e.skmap.mapHash[m.getMap(g)].map.setCenter(t),e.skmap.mapHash[m.getMap(g)].map.setZoom(10),s=i.makeLatLng([o.coords.longitude,o.coords.latitude]),p=new google.maps.Marker({position:s,icon:a.geolocation.marker,map:n}),e.skmap.markers[m.getMap(g)].push(p),e.skmap.markerManager[m.getMap(g)].clearMarkers(),e.skmap.markerManager[m.getMap(g)]=new MarkerClusterer(e.skmap.mapHash[m.getMap(g)].map,e.skmap.markers[m.getMap(g)],r),c=new google.maps.Geocoder,c.geocode({latLng:t},function(o,t){t==google.maps.GeocoderStatus.OK&&a.geolocation.onGeolocation(e.skmap.mapHash[m.getMap(g)].map,e.skmap.rawPosition[m.getMap(g)],o)})},i.geolocationError):i.geolocationError({code:0})})},init:function(a,t,s){r={gridSize:t.clusterer.grid_size,maxZoom:t.clusterer.max_zoom,styles:t.clusterer.style},""!=t.data||"object"==typeof t.data?"string"==typeof t.data?e.getJSON(t.data,function(e){o=e,i.set(a,s)}):(o=t.data,i.set(a,s)):console.log("Please, insert a valid geoJSON url or passing a geoJSON Object!")}},m={getMap:function(a){for(var o=0;o<e.skmap.mapHash.length;o++)if(e.skmap.mapHash[o].mapKey==a)return o},setInfobox:function(e){var o,t;return t=a.infoboxSettings.offset,o={content:e,disableAutoPan:!1,maxWidth:0,pixelOffset:new google.maps.Size(t[0],t[1]),zIndex:null,boxStyle:{background:"url("+a.infoboxSettings.background+") left top no-repeat",opacity:1,width:a.infoboxSettings.width,height:a.infoboxSettings.height},closeBoxMargin:a.infoboxSettings.closeBoxMargin,closeBoxURL:a.infoboxSettings.closeBoxURL,infoBoxClearance:new google.maps.Size(1,1),isHidden:!1,pane:"floatPane",enableEventPropagation:!1}},attachEvent:function(o){e("a.open-infowindow",a.sidebar.target).die("click"),e("a.open-infowindow",a.sidebar.target).live("click",function(){var a=parseInt(e(this).data("marker"),10);return google.maps.event.trigger(e.skmap.gmarkers[m.getMap(o)][a],"click"),e.skmap.mapHash[m.getMap(o)].map.setCenter(e.skmap.gmarkers[m.getMap(o)][a].getPosition()),e.skmap.mapHash[m.getMap(o)].map.setZoom(15),!1})}},g={init:function(o){return a={data:"",action:"infowindow",markerClick:function(e){},autoOpen:!1,spider:!1,sidebar:{active:!1,mid:null,target:""},defaultPoint:{lat:0,lng:0},clusterer:{grid_size:50,max_zoom:15,style:[]},categoryIcons:{field_name:"",options:{},size:[32,32],origin:[0,0],anchor:[0,0]},geolocation:{active:!1,marker:"",manualCoords:[],onGeolocation:function(e,a,o){},onError:function(e){}},draggable:{active:!1,dragstart:function(e){},drag:function(e){},dragend:function(e){}},infowindowOptions:{},infoboxSettings:{offset:[0,0],width:"",height:"",background:"",closeBoxMargin:"0 0 0 0",closeBoxURL:""},mapOptions:{},mapStyle:[]},this.each(function(){var t;o&&("object"==typeof o[1]?(t=o[0],e.extend(a,o[1])):e.extend(a,o)),i.init(this,a,t)})},destroy:function(){this.each(function(){var a=jQuery(this).empty().removeAttr("style").clone(!1),o=m.getMap(this);e.skmap.mapHash.splice(o,1),e.skmap.markerManager.splice(o,1),e.skmap.markers.splice(o,1),e.skmap.gmarkers.splice(o,1),e.skmap.infowindows.splice(o,1),e.skmap.rawPosition.splice(o,1),e.skmap.oms.splice(o,1),e(this).replaceWith(a)})}};e.fn.shakemap=function(e){switch(e){case"update":return g.init.apply(this,[arguments]);break;case"destroy":return g.destroy.apply(this);break;default:return g.init.apply(this,arguments)}}}(jQuery);
>>>>>>> 3.0