This repository has been archived by the owner on Sep 12, 2020. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 26
/
Copy pathjquery.auto-geocoder.min.js
4 lines (4 loc) · 2.01 KB
/
jquery.auto-geocoder.min.js
1
2
3
4
(function(e){var k=new google.maps.Geocoder,g=e.fn.autoGeocoder=function(a){a=e.extend(!0,{},g.defaults,a||{});var b=a.setup||g.base,c;for(c in b)for(var d=b[c],f=0,h=d.length;f<h;f++)d[f].call(this,a);return this.trigger("auto-geocoder.initialize")};g.base={initialize:[function(a){a.initial.center=new google.maps.LatLng(a.initial.center[0],a.initial.center[1]);this.on("auto-geocoder.initialize",function(){e(this).trigger("auto-geocoder.createMap").trigger("auto-geocoder.onKeyUp")})}],createMap:[function(a){this.on("auto-geocoder.createMap",
function(){var b=e(this),c=e("<div>",{"class":a.className}),d=a.position;if("before"===d||"after"===d)b[d](c);else e(d).append(c);b.on("keyup.auto-geocoder",function(){b.trigger("auto-geocoder.onKeyUp")});this.map=new google.maps.Map(c[0],a.initial)})}],onKeyUp:[function(a){this.on("auto-geocoder.onKeyUp",function(){var b=e(this),c=e.trim(b.val()).replace(/\s+/g," ").toLowerCase(),d=this.previousAddress;clearTimeout(this.timeout);d&&d===c||(""===c?b.trigger("auto-geocoder.onGeocodeResult",[[],""]):
this.timeout=setTimeout(e.proxy(function(){this.previousAddress=c;k.geocode({address:c},function(a,c){b.trigger("auto-geocoder.onGeocodeResult",[a,c])})},this),a.delay))})}],onGeocodeResult:[function(a){this.on("auto-geocoder.onGeocodeResult",function(b,c,d){b=this.map;var f=this.marker=this.marker||new google.maps.Marker;if(d===google.maps.GeocoderStatus.OK){var h=c[0].geometry,g=h.location;"auto"===a.success.zoom?b.fitBounds(h.viewport):(b.setZoom(a.success.zoom),b.setCenter(g));f.setPosition(g);
f.setMap(b);e(this).trigger("auto-geocoder.onGeocodeSuccess",[c,d])}else h=a.initial,f&&f.setMap(null),b.setZoom(h.zoom),b.setCenter(h.center),e(this).trigger("auto-geocoder.onGeocodeFailure",[c,d])})}],onGeocodeSuccess:[],onGeocodeFailure:[]};g.defaults={className:"jquery-auto-geocoder-map",position:"after",delay:500,success:{zoom:"auto"},initial:{zoom:1,center:[34,0],draggable:!1,mapTypeId:google.maps.MapTypeId.ROADMAP,scrollwheel:!1,disableDefaultUI:!0,disableDoubleClickZoom:!0}}})(jQuery);