-
Notifications
You must be signed in to change notification settings - Fork 0
/
jquery.gmapsFineTuner.min.js
1 lines (1 loc) · 5.04 KB
/
jquery.gmapsFineTuner.min.js
1
(function(a){var b={init:function(b){var c=0;var d={startLatLng:{lat:-34.397,lng:150.644},startZoom:6,country:"Ireland",countyPrefix:"",counties:"",fineTune:true};var e={clickable:false,radius:1400};var f={draggable:true,visible:false};var b=a.extend(d,b);b.radar=a.extend(e,b.radar);b.marker=a.extend(f,b.marker);return this.each(function(){c++;var d=a(this);var e,f,g,h,i;if(!j){d.data("gmapsFineTuner",{formDiv:a('<div class="gmapsFineTuner-formDiv"></div>'),gmapDiv:a('<div id="gmapsFineTuner-map'+c+'" class="gmapsFineTuner-gmapDiv"></div>'),coordsBox:a('<input type="hidden" name="gmapsFineTunerPosition'+c+'">'),fullAddress:"ss",chosenCounty:"",chosenTown:"",chosenStreet:"",options:b,countiesBox:"",townsBox:"",streetBox:"",gmapsFineTunerGeocoder:"",gmapsFineTunerMap:"",gmapsFineTunerLastPositon:"",gmapsFineTunerMarker:"",gmapsFineTunerRadar:""})}var j=d.data("gmapsFineTuner");if(j.options.counties.length>0){j.countiesBox=a('<select><option value="-" selected>Please choose the county</option></select');a.each(j.options.counties,function(b,c){j.countiesBox.append(a("<option></option>").val(c).html(c))})}else{j.countiesBox=a('<input type="text" value="County">')}j.countiesBox.change(function(){if(a(this).find(":selected").val()!="-"){d.gmapsFineTuner("setCounty",typeof a(this).find(":selected").val()=="undefined"?a(this).val():a(this).find(":selected").val());j.chosenStreet="";j.chosenTown="";j.gmapsFineTunerMarker.setVisible(false);j.townsBox.val("Town").show().focus();j.streetBox.hide();d.gmapsFineTuner("moveMap",9)}});j.townsBox=a('<input type="text" value="Town">').hide();j.townsBox.change(function(){d.gmapsFineTuner("setTown",a(this).val());j.chosenStreet="";j.gmapsFineTunerMarker.setVisible(false);j.streetBox.val("Address").show().focus();d.gmapsFineTuner("moveMap",14)});j.townsBox.keypress(function(a){var b=null;b=a.keyCode?a.keyCode:a.which;if(b==13){j.townsBox.change()}return b==13?false:true});j.streetBox=a('<input type="text" value="Address">').hide();j.streetBox.change(function(){d.gmapsFineTuner("setStreet",a(this).val());d.gmapsFineTuner("moveMap",17)});j.streetBox.keypress(function(a){var b=null;b=a.keyCode?a.keyCode:a.which;if(b==13){j.streetBox.change()}return b==13?false:true});j.formDiv.append(j.countiesBox);j.formDiv.append(j.townsBox);j.formDiv.append(j.streetBox);d.append(j.formDiv);d.append(j.gmapDiv);d.append(j.coordsBox);d.gmapsFineTuner("createMap")})},setLocation:function(b,c,d){var e=a(this).data("gmapsFineTuner");a(this).gmapsFineTuner("setCounty",d);a(this).gmapsFineTuner("setTown",c);a(this).gmapsFineTuner("setStreet",b);var f;if(b!=""&&c!=""&&d!="")f=17;else if(c!=""&&d!="")f=14;else if(d!="")f=9;else f=e.options.startZoom;a(this).gmapsFineTuner("moveMap",f)},setCounty:function(b){b=typeof b=="undefined"?"":b;var c=a(this).data("gmapsFineTuner");c.chosenCounty=b!=""?c.options.countyPrefix+b:""},setTown:function(b){b=typeof b=="undefined"?"":b;var c=a(this).data("gmapsFineTuner");c.chosenTown=b!=""?b+", ":""},setStreet:function(b){b=typeof b=="undefined"?"":b;var c=a(this).data("gmapsFineTuner");c.chosenStreet=b!=""?b+", ":""},createMap:function(){var b=a(this).data("gmapsFineTuner");b.gmapsFineTunerGeocoder=new google.maps.Geocoder;var c=new google.maps.LatLng(b.options.startLatLng.lat,b.options.startLatLng.lng);var d={zoom:b.options.startZoom,center:c,mapTypeId:google.maps.MapTypeId.ROADMAP};b.gmapsFineTunerMap=new google.maps.Map(document.getElementById(b.gmapDiv.attr("id")),d);b.gmapsFineTunerRadar=new google.maps.Circle(b.options.radar);b.gmapsFineTunerMarker=new google.maps.Marker(b.options.marker);b.gmapsFineTunerMarker.setMap(b.gmapsFineTunerMap);google.maps.event.addListener(b.gmapsFineTunerMarker,"dragend",function(a){b.coordsBox.val(a.latLng.toUrlValue())});google.maps.event.addListener(b.gmapsFineTunerMap,"click",function(a){b.coordsBox.val(a.latLng.toUrlValue());b.gmapsFineTunerMarker.setPosition(a.latLng);b.gmapsFineTunerMap.setCenter(a.latLng);b.gmapsFineTunerMap.setZoom(17);b.gmapsFineTunerMarker.setVisible();b.gmapsFineTunerRadar.setMap(null)})},moveMap:function(b){var c=a(this).data("gmapsFineTuner");b=typeof b=="undefined"?c.options.startZoom:b;c.fullAddress=c.chosenStreet+c.chosenTown+c.chosenCounty+", "+c.options.country;c.gmapsFineTunerGeocoder.geocode({address:c.fullAddress},function(a,d){if(d==google.maps.GeocoderStatus.OK){c.gmapsFineTunerLastPositon=a[0].geometry.location}c.gmapsFineTunerMap.setCenter(c.gmapsFineTunerLastPositon);c.gmapsFineTunerMarker.setPosition(c.gmapsFineTunerLastPositon);c.coordsBox.val(c.gmapsFineTunerLastPositon.toUrlValue());if(a[0].geometry.location_type=="APPROXIMATE"){c.gmapsFineTunerRadar.setCenter(c.gmapsFineTunerLastPositon);c.gmapsFineTunerRadar.setMap(c.gmapsFineTunerMap);c.gmapsFineTunerRadar.setOptions({radius:b==9?35e3:1100})}else{c.gmapsFineTunerMarker.setVisible();c.gmapsFineTunerRadar.setMap(null)}c.gmapsFineTunerMap.setZoom(b)})}};a.fn.gmapsFineTuner=function(c){if(b[c]){return b[c].apply(this,Array.prototype.slice.call(arguments,1))}else if(typeof c==="object"||!c){return b.init.apply(this,arguments)}else{a.error("Method "+c+" does not exist on jQuery.tooltip")}}})(jQuery)