diff --git a/README.md b/README.md index 5be6fe8..77b7590 100644 --- a/README.md +++ b/README.md @@ -87,7 +87,7 @@ The reference is saved using jQuery `data` on every element the plugin affects, ## Aditional Methods -This methods should be called on elements with initialized maps. +These methods should be called on elements with initialized maps. * `centerAt`, usage: @@ -100,6 +100,12 @@ $('#map').gMap('centerAt', { latitude: 0, longitude: 0, zoom: 10 }); $('#map').gMap('addMarker', { latitude: 0, longitude: 0, content: 'Some HTML content' }); ``` +* `zoomToFitMarkers`, zooms the map to fit all of the markers on it. Usage: + +```javascript +$('#map').gMap('zoomToFitMarkers'); +``` + ## Original License gMap is licensed under [Creative Commons BY-SA 3.0](http://creativecommons.org/licenses/by-sa/3.0/) license. In short: You're allowed to copy, distribute, transmit and to adapt – as long as you attribute the work. If you alter, modify or build upon this sourcecode, you may distribute the resulting work only under the same, similar or compatible license. @@ -108,4 +114,4 @@ gMap is licensed under [Creative Commons BY-SA 3.0](http://creativecommons.org/l This plugin was originally developed by [Cedric Kastner](http://gmap.nurtext.de/). -Refactoring to use the Google Maps API V3 was done by [Mario Estrada](http://mario.ec). \ No newline at end of file +Refactoring to use the Google Maps API V3 was done by [Mario Estrada](http://mario.ec). diff --git a/jquery.gmap.js b/jquery.gmap.js index 96ceca4..ec8403f 100644 --- a/jquery.gmap.js +++ b/jquery.gmap.js @@ -6,248 +6,239 @@ * @author Mario Estrada based on original plugin by Cedric Kastner * @version 2.1.4 */ -(function($) -{ - // Main plugin function - $.fn.gMap = function(options, methods_options) - { - // Optional methods - switch(options) - { - case 'addMarker': - return $(this).trigger('gMap.addMarker', [methods_options.latitude, methods_options.longitude, methods_options.content, methods_options.icon, methods_options.popup]); - case 'centerAt': - return $(this).trigger('gMap.centerAt', [methods_options.latitude, methods_options.longitude, methods_options.zoom]); - case 'clearMarkers': - return $(this).trigger('gMap.clearMarkers'); - } - - // Build main options before element iteration - var opts = $.extend({}, $.fn.gMap.defaults, options); - - // Iterate through each element - return this.each(function() - { - // Create map and set initial options - var $gmap = new google.maps.Map(this); - - $(this).data('gMap.reference', $gmap); - - // Create new object to geocode addresses - var $geocoder = new google.maps.Geocoder(); - - // Check for address to center on - if (opts.address) - { - // Get coordinates for given address and center the map - $geocoder.geocode( +(function ($) { + // Main plugin function + $.fn.gMap = function (options, methods_options) { + // Optional methods + switch (options) { + case 'addMarker': + return $(this).trigger('gMap.addMarker', [methods_options.latitude, methods_options.longitude, methods_options.content, methods_options.icon, methods_options.popup]); + case 'centerAt': + return $(this).trigger('gMap.centerAt', [methods_options.latitude, methods_options.longitude, methods_options.zoom]); + case 'clearMarkers': + return $(this).trigger('gMap.clearMarkers'); + case 'zoomToFitMarkers': + return $(this).trigger('gMap.zoomToFitMarkers'); + + } + + // Build main options before element iteration + var opts = $.extend({}, $.fn.gMap.defaults, options); + + // Iterate through each element + return this.each(function () { + // Create map and set initial options + var $gmap = new google.maps.Map(this); + + $(this).data('gMap.reference', $gmap); + + // Create new object to geocode addresses + var $geocoder = new google.maps.Geocoder(); + + // Check for address to center on + if (opts.address) { + // Get coordinates for given address and center the map + $geocoder.geocode( { - address: opts.address - }, function(gresult, status) - { - if(gresult && gresult.length) - $gmap.setCenter(gresult[0].geometry.location); + address: opts.address + }, function (gresult, status) { + if (gresult && gresult.length) + $gmap.setCenter(gresult[0].geometry.location); } ); - }else{ - // Check for coordinates to center on - if (opts.latitude && opts.longitude) - { - // Center map to coordinates given by option - $gmap.setCenter(new google.maps.LatLng(opts.latitude, opts.longitude)); - } - else - { - // Check for a marker to center on (if no coordinates given) - if ($.isArray(opts.markers) && opts.markers.length > 0) - { - // Check if the marker has an address - if (opts.markers[0].address) - { - // Get the coordinates for given marker address and center - $geocoder.geocode( + } else { + // Check for coordinates to center on + if (opts.latitude && opts.longitude) { + // Center map to coordinates given by option + $gmap.setCenter(new google.maps.LatLng(opts.latitude, opts.longitude)); + } + else { + // Check for a marker to center on (if no coordinates given) + if ($.isArray(opts.markers) && opts.markers.length > 0) { + // Check if the marker has an address + if (opts.markers[0].address) { + // Get the coordinates for given marker address and center + $geocoder.geocode( { - address: opts.markers[0].address - }, function(gresult, status) - { - if(gresult && gresult.length > 0) - $gmap.setCenter(gresult[0].geometry.location); + address: opts.markers[0].address + }, function (gresult, status) { + if (gresult && gresult.length > 0) + $gmap.setCenter(gresult[0].geometry.location); } ); - }else{ - // Center the map to coordinates given by marker - $gmap.setCenter(new google.maps.LatLng(opts.markers[0].latitude, opts.markers[0].longitude)); - } - }else{ - // Revert back to world view - $gmap.setCenter(new google.maps.LatLng(34.885931, 9.84375)); - } - } - } - $gmap.setZoom(opts.zoom); - - // Set the preferred map type - $gmap.setMapTypeId(google.maps.MapTypeId[opts.maptype]); - - // Set scrollwheel option - var map_options = { scrollwheel: opts.scrollwheel, disableDoubleClickZoom: !opts.doubleclickzoom }; - // Check for map controls - if(opts.controls === false){ - $.extend(map_options, { disableDefaultUI: true }); - }else if (opts.controls.length != 0){ - $.extend(map_options, opts.controls, { disableDefaultUI: true }); - } - - $gmap.setOptions(map_options); - - // Create new icon - var gicon = new google.maps.Marker(); - - // Set icon properties from global options - marker_icon = new google.maps.MarkerImage(opts.icon.image); - marker_icon.size = new google.maps.Size(opts.icon.iconsize[0], opts.icon.iconsize[1]); - marker_icon.anchor = new google.maps.Point(opts.icon.iconanchor[0], opts.icon.iconanchor[1]); - gicon.setIcon(marker_icon); - - if(opts.icon.shadow) - { - marker_shadow = new google.maps.MarkerImage(opts.icon.shadow); - marker_shadow.size = new google.maps.Size(opts.icon.shadowsize[0], opts.icon.shadowsize[1]); - marker_shadow.anchor = new google.maps.Point(opts.icon.shadowanchor[0], opts.icon.shadowanchor[1]); - gicon.setShadow(marker_shadow); - } - - // Bind actions - $(this).bind('gMap.centerAt', function(e, latitude, longitude, zoom) - { - if(zoom) - $gmap.setZoom(zoom); - - $gmap.panTo(new google.maps.LatLng(parseFloat(latitude), parseFloat(longitude))); - }); - - // Clear Markers - var overlays = []; - $(this).bind('gMap.clearMarkers', function() - { - while(overlays[0]){ - overlays.pop().setMap(null); - } - }); - - var last_infowindow; - $(this).bind('gMap.addMarker', function(e, latitude, longitude, content, icon, popup) - { - var glatlng = new google.maps.LatLng(parseFloat(latitude), parseFloat(longitude)); - - var gmarker = new google.maps.Marker({ - position: glatlng - }); - - if(icon) - { - marker_icon = new google.maps.MarkerImage(icon.image); - marker_icon.size = new google.maps.Size(icon.iconsize[0], icon.iconsize[1]); - marker_icon.anchor = new google.maps.Point(icon.iconanchor[0], icon.iconanchor[1]); - gmarker.setIcon(marker_icon); - - if(icon.shadow) - { - marker_shadow = new google.maps.MarkerImage(icon.shadow); - marker_shadow.size = new google.maps.Size(icon.shadowsize[0], icon.shadowsize[1]); - marker_shadow.anchor = new google.maps.Point(icon.shadowanchor[0], icon.shadowanchor[1]); - gicon.setShadow(marker_shadow); - } - }else{ - gmarker.setIcon(gicon.getIcon()); - gmarker.setShadow(gicon.getShadow()); - } - - if(content) - { - if(content == '_latlng') - content = latitude + ', ' + longitude; - - var infowindow = new google.maps.InfoWindow({ - content: opts.html_prepend + content + opts.html_append - }); - - google.maps.event.addListener(gmarker, 'click', function() - { - last_infowindow && last_infowindow.close(); - infowindow.open($gmap, gmarker); - last_infowindow = infowindow; - }); - - if(popup) - { - google.maps.event.addListenerOnce($gmap, 'tilesloaded', function() - { - infowindow.open($gmap, gmarker); - }); - } - } - gmarker.setMap($gmap); - overlays.push(gmarker); - }); - - // Loop through marker array - for (var j = 0; j < opts.markers.length; j++) - { - // Get the options from current marker - marker = opts.markers[j]; - - // Check if address is available - if (marker.address) - { - // Check for reference to the marker's address - if (marker.html == '_address') - marker.html = marker.address; - - // Get the point for given address - var $this = this; - $geocoder.geocode({ - address: marker.address - }, (function(marker, $this){ - return function(gresult, status) - { - // Create marker - if(gresult && gresult.length > 0) - { - $($this).trigger('gMap.addMarker', [gresult[0].geometry.location.lat(), gresult[0].geometry.location.lng(), marker.html, marker.icon, marker.popup]); - } - }; - })(marker, $this) + } else { + // Center the map to coordinates given by marker + $gmap.setCenter(new google.maps.LatLng(opts.markers[0].latitude, opts.markers[0].longitude)); + } + } else { + // Revert back to world view + $gmap.setCenter(new google.maps.LatLng(34.885931, 9.84375)); + } + } + } + $gmap.setZoom(opts.zoom); + + // Set the preferred map type + $gmap.setMapTypeId(google.maps.MapTypeId[opts.maptype]); + + // Set scrollwheel option + var map_options = { scrollwheel: opts.scrollwheel, disableDoubleClickZoom: !opts.doubleclickzoom }; + // Check for map controls + if (opts.controls === false) { + $.extend(map_options, { disableDefaultUI: true }); + } else if (opts.controls.length != 0) { + $.extend(map_options, opts.controls, { disableDefaultUI: true }); + } + + $gmap.setOptions(map_options); + + // Create new icon + var gicon = new google.maps.Marker(); + + // Set icon properties from global options + marker_icon = new google.maps.MarkerImage(opts.icon.image); + marker_icon.size = new google.maps.Size(opts.icon.iconsize[0], opts.icon.iconsize[1]); + marker_icon.anchor = new google.maps.Point(opts.icon.iconanchor[0], opts.icon.iconanchor[1]); + gicon.setIcon(marker_icon); + + if (opts.icon.shadow) { + marker_shadow = new google.maps.MarkerImage(opts.icon.shadow); + marker_shadow.size = new google.maps.Size(opts.icon.shadowsize[0], opts.icon.shadowsize[1]); + marker_shadow.anchor = new google.maps.Point(opts.icon.shadowanchor[0], opts.icon.shadowanchor[1]); + gicon.setShadow(marker_shadow); + } + + // Bind actions + $(this).bind('gMap.centerAt', function (e, latitude, longitude, zoom) { + if (zoom) + $gmap.setZoom(zoom); + + $gmap.panTo(new google.maps.LatLng(parseFloat(latitude), parseFloat(longitude))); + }); + + // Clear Markers + var overlays = []; + $(this).bind('gMap.clearMarkers', function () { + while (overlays[0]) { + overlays.pop().setMap(null); + } + }); + + // Zoom it fit markers + $(this).bind('gMap.zoomToFitMarkers', function () { + if (overlays && overlays.length > 0) { + var bounds = new google.maps.LatLngBounds(); + + for (var i = 0; i < overlays.length; i++) { + bounds.extend(overlays[i].getPosition()); + } + + $gmap.fitBounds(bounds); + } + }); + + var last_infowindow; + $(this).bind('gMap.addMarker', function (e, latitude, longitude, content, icon, popup) { + var glatlng = new google.maps.LatLng(parseFloat(latitude), parseFloat(longitude)); + + var gmarker = new google.maps.Marker({ + position: glatlng + }); + + if (icon) { + marker_icon = new google.maps.MarkerImage(icon.image); + marker_icon.size = new google.maps.Size(icon.iconsize[0], icon.iconsize[1]); + marker_icon.anchor = new google.maps.Point(icon.iconanchor[0], icon.iconanchor[1]); + gmarker.setIcon(marker_icon); + + if (icon.shadow) { + marker_shadow = new google.maps.MarkerImage(icon.shadow); + marker_shadow.size = new google.maps.Size(icon.shadowsize[0], icon.shadowsize[1]); + marker_shadow.anchor = new google.maps.Point(icon.shadowanchor[0], icon.shadowanchor[1]); + gicon.setShadow(marker_shadow); + } + } else { + gmarker.setIcon(gicon.getIcon()); + gmarker.setShadow(gicon.getShadow()); + } + + if (content) { + if (content == '_latlng') + content = latitude + ', ' + longitude; + + var infowindow = new google.maps.InfoWindow({ + content: opts.html_prepend + content + opts.html_append + }); + + google.maps.event.addListener(gmarker, 'click', function () { + last_infowindow && last_infowindow.close(); + infowindow.open($gmap, gmarker); + last_infowindow = infowindow; + }); + + if (popup) { + google.maps.event.addListenerOnce($gmap, 'tilesloaded', function () { + infowindow.open($gmap, gmarker); + }); + } + } + gmarker.setMap($gmap); + overlays.push(gmarker); + }); + + // Loop through marker array + for (var j = 0; j < opts.markers.length; j++) { + // Get the options from current marker + marker = opts.markers[j]; + + // Check if address is available + if (marker.address) { + // Check for reference to the marker's address + if (marker.html == '_address') + marker.html = marker.address; + + // Get the point for given address + var $this = this; + $geocoder.geocode({ + address: marker.address + }, (function (marker, $this) { + return function (gresult, status) { + // Create marker + if (gresult && gresult.length > 0) { + $($this).trigger('gMap.addMarker', [gresult[0].geometry.location.lat(), gresult[0].geometry.location.lng(), marker.html, marker.icon, marker.popup]); + } + }; + })(marker, $this) ); - }else{ - $(this).trigger('gMap.addMarker', [marker.latitude, marker.longitude, marker.html, marker.icon, marker.popup]); - } - } - }); - - } - - // Default settings - $.fn.gMap.defaults = { - address: '', - latitude: 0, - longitude: 0, - zoom: 1, - markers: [], - controls: [], - scrollwheel: false, - doubleclickzoom: true, - maptype: 'ROADMAP', - html_prepend: '
', - html_append: '
', - icon: { - image: "http://www.google.com/mapfiles/marker.png", - shadow: "http://www.google.com/mapfiles/shadow50.png", - iconsize: [20, 34], - shadowsize: [37, 34], - iconanchor: [9, 34], - shadowanchor: [6, 34] - } - } - -})(jQuery); \ No newline at end of file + } else { + $(this).trigger('gMap.addMarker', [marker.latitude, marker.longitude, marker.html, marker.icon, marker.popup]); + } + } + }); + + } + + // Default settings + $.fn.gMap.defaults = { + address: '', + latitude: 0, + longitude: 0, + zoom: 1, + markers: [], + controls: [], + scrollwheel: false, + doubleclickzoom: true, + maptype: 'ROADMAP', + html_prepend: '
', + html_append: '
', + icon: { + image: "http://www.google.com/mapfiles/marker.png", + shadow: "http://www.google.com/mapfiles/shadow50.png", + iconsize: [20, 34], + shadowsize: [37, 34], + iconanchor: [9, 34], + shadowanchor: [6, 34] + } + } + +})(jQuery); diff --git a/jquery.gmap.min.js b/jquery.gmap.min.js index 8ef8353..d7aaadd 100644 --- a/jquery.gmap.min.js +++ b/jquery.gmap.min.js @@ -6,4 +6,4 @@ * @author Mario Estrada based on original plugin by Cedric Kastner * @version 2.1.4 */ -(function($){$.fn.gMap=function(options,methods_options){switch(options){case"addMarker":return $(this).trigger("gMap.addMarker",[methods_options.latitude,methods_options.longitude,methods_options.content,methods_options.icon,methods_options.popup]);case"centerAt":return $(this).trigger("gMap.centerAt",[methods_options.latitude,methods_options.longitude,methods_options.zoom]);case"clearMarkers":return $(this).trigger("gMap.clearMarkers")}var opts=$.extend({},$.fn.gMap.defaults,options);return this.each(function(){var $gmap=new google.maps.Map(this);$(this).data("gMap.reference",$gmap);var $geocoder=new google.maps.Geocoder;if(opts.address){$geocoder.geocode({address:opts.address},function(gresult,status){if(gresult&&gresult.length)$gmap.setCenter(gresult[0].geometry.location)})}else{if(opts.latitude&&opts.longitude){$gmap.setCenter(new google.maps.LatLng(opts.latitude,opts.longitude))}else{if($.isArray(opts.markers)&&opts.markers.length>0){if(opts.markers[0].address){$geocoder.geocode({address:opts.markers[0].address},function(gresult,status){if(gresult&&gresult.length>0)$gmap.setCenter(gresult[0].geometry.location)})}else{$gmap.setCenter(new google.maps.LatLng(opts.markers[0].latitude,opts.markers[0].longitude))}}else{$gmap.setCenter(new google.maps.LatLng(34.885931,9.84375))}}}$gmap.setZoom(opts.zoom);$gmap.setMapTypeId(google.maps.MapTypeId[opts.maptype]);var map_options={scrollwheel:opts.scrollwheel,disableDoubleClickZoom:!opts.doubleclickzoom};if(opts.controls===false){$.extend(map_options,{disableDefaultUI:true})}else if(opts.controls.length!=0){$.extend(map_options,opts.controls,{disableDefaultUI:true})}$gmap.setOptions(map_options);var gicon=new google.maps.Marker;marker_icon=new google.maps.MarkerImage(opts.icon.image);marker_icon.size=new google.maps.Size(opts.icon.iconsize[0],opts.icon.iconsize[1]);marker_icon.anchor=new google.maps.Point(opts.icon.iconanchor[0],opts.icon.iconanchor[1]);gicon.setIcon(marker_icon);if(opts.icon.shadow){marker_shadow=new google.maps.MarkerImage(opts.icon.shadow);marker_shadow.size=new google.maps.Size(opts.icon.shadowsize[0],opts.icon.shadowsize[1]);marker_shadow.anchor=new google.maps.Point(opts.icon.shadowanchor[0],opts.icon.shadowanchor[1]);gicon.setShadow(marker_shadow)}$(this).bind("gMap.centerAt",function(e,latitude,longitude,zoom){if(zoom)$gmap.setZoom(zoom);$gmap.panTo(new google.maps.LatLng(parseFloat(latitude),parseFloat(longitude)))});var overlays=[];$(this).bind("gMap.clearMarkers",function(){while(overlays[0]){overlays.pop().setMap(null)}});var last_infowindow;$(this).bind("gMap.addMarker",function(e,latitude,longitude,content,icon,popup){var glatlng=new google.maps.LatLng(parseFloat(latitude),parseFloat(longitude));var gmarker=new google.maps.Marker({position:glatlng});if(icon){marker_icon=new google.maps.MarkerImage(icon.image);marker_icon.size=new google.maps.Size(icon.iconsize[0],icon.iconsize[1]);marker_icon.anchor=new google.maps.Point(icon.iconanchor[0],icon.iconanchor[1]);gmarker.setIcon(marker_icon);if(icon.shadow){marker_shadow=new google.maps.MarkerImage(icon.shadow);marker_shadow.size=new google.maps.Size(icon.shadowsize[0],icon.shadowsize[1]);marker_shadow.anchor=new google.maps.Point(icon.shadowanchor[0],icon.shadowanchor[1]);gicon.setShadow(marker_shadow)}}else{gmarker.setIcon(gicon.getIcon());gmarker.setShadow(gicon.getShadow())}if(content){if(content=="_latlng")content=latitude+", "+longitude;var infowindow=new google.maps.InfoWindow({content:opts.html_prepend+content+opts.html_append});google.maps.event.addListener(gmarker,"click",function(){last_infowindow&&last_infowindow.close();infowindow.open($gmap,gmarker);last_infowindow=infowindow});if(popup){google.maps.event.addListenerOnce($gmap,"tilesloaded",function(){infowindow.open($gmap,gmarker)})}}gmarker.setMap($gmap);overlays.push(gmarker)});for(var j=0;j0){$($this).trigger("gMap.addMarker",[gresult[0].geometry.location.lat(),gresult[0].geometry.location.lng(),marker.html,marker.icon,marker.popup])}}}(marker,$this))}else{$(this).trigger("gMap.addMarker",[marker.latitude,marker.longitude,marker.html,marker.icon,marker.popup])}}})};$.fn.gMap.defaults={address:"",latitude:0,longitude:0,zoom:1,markers:[],controls:[],scrollwheel:false,doubleclickzoom:true,maptype:"ROADMAP",html_prepend:'
',html_append:"
",icon:{image:"http://www.google.com/mapfiles/marker.png",shadow:"http://www.google.com/mapfiles/shadow50.png",iconsize:[20,34],shadowsize:[37,34],iconanchor:[9,34],shadowanchor:[6,34]}}})(jQuery); \ No newline at end of file +(function(e){e.fn.gMap=function(t,n){switch(t){case"addMarker":return e(this).trigger("gMap.addMarker",[n.latitude,n.longitude,n.content,n.icon,n.popup]);case"centerAt":return e(this).trigger("gMap.centerAt",[n.latitude,n.longitude,n.zoom]);case"clearMarkers":return e(this).trigger("gMap.clearMarkers");case"zoomToFitMarkers":return e(this).trigger("gMap.zoomToFitMarkers")}var r=e.extend({},e.fn.gMap.defaults,t);return this.each(function(){var t=new google.maps.Map(this);e(this).data("gMap.reference",t);var n=new google.maps.Geocoder;if(r.address){n.geocode({address:r.address},function(e,n){if(e&&e.length)t.setCenter(e[0].geometry.location)})}else{if(r.latitude&&r.longitude){t.setCenter(new google.maps.LatLng(r.latitude,r.longitude))}else{if(e.isArray(r.markers)&&r.markers.length>0){if(r.markers[0].address){n.geocode({address:r.markers[0].address},function(e,n){if(e&&e.length>0)t.setCenter(e[0].geometry.location)})}else{t.setCenter(new google.maps.LatLng(r.markers[0].latitude,r.markers[0].longitude))}}else{t.setCenter(new google.maps.LatLng(34.885931,9.84375))}}}t.setZoom(r.zoom);t.setMapTypeId(google.maps.MapTypeId[r.maptype]);var i={scrollwheel:r.scrollwheel,disableDoubleClickZoom:!r.doubleclickzoom};if(r.controls===false){e.extend(i,{disableDefaultUI:true})}else if(r.controls.length!=0){e.extend(i,r.controls,{disableDefaultUI:true})}t.setOptions(i);var s=new google.maps.Marker;marker_icon=new google.maps.MarkerImage(r.icon.image);marker_icon.size=new google.maps.Size(r.icon.iconsize[0],r.icon.iconsize[1]);marker_icon.anchor=new google.maps.Point(r.icon.iconanchor[0],r.icon.iconanchor[1]);s.setIcon(marker_icon);if(r.icon.shadow){marker_shadow=new google.maps.MarkerImage(r.icon.shadow);marker_shadow.size=new google.maps.Size(r.icon.shadowsize[0],r.icon.shadowsize[1]);marker_shadow.anchor=new google.maps.Point(r.icon.shadowanchor[0],r.icon.shadowanchor[1]);s.setShadow(marker_shadow)}e(this).bind("gMap.centerAt",function(e,n,r,i){if(i)t.setZoom(i);t.panTo(new google.maps.LatLng(parseFloat(n),parseFloat(r)))});var o=[];e(this).bind("gMap.clearMarkers",function(){while(o[0]){o.pop().setMap(null)}});e(this).bind("gMap.zoomToFitMarkers",function(){if(o&&o.length>0){var e=new google.maps.LatLngBounds;for(var n=0;n0){e(n).trigger("gMap.addMarker",[r[0].geometry.location.lat(),r[0].geometry.location.lng(),t.html,t.icon,t.popup])}}}(marker,f))}else{e(this).trigger("gMap.addMarker",[marker.latitude,marker.longitude,marker.html,marker.icon,marker.popup])}}})};e.fn.gMap.defaults={address:"",latitude:0,longitude:0,zoom:1,markers:[],controls:[],scrollwheel:false,doubleclickzoom:true,maptype:"ROADMAP",html_prepend:'
',html_append:"
",icon:{image:"http://www.google.com/mapfiles/marker.png",shadow:"http://www.google.com/mapfiles/shadow50.png",iconsize:[20,34],shadowsize:[37,34],iconanchor:[9,34],shadowanchor:[6,34]}}})(jQuery)