diff --git a/.gitignore b/.gitignore
index b512c09..34977ee 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1,2 @@
-node_modules
\ No newline at end of file
+node_modules
+.idea
\ No newline at end of file
diff --git a/Gruntfile.js b/Gruntfile.js
index 3e5b1d5..4c8814d 100644
--- a/Gruntfile.js
+++ b/Gruntfile.js
@@ -38,7 +38,8 @@ module.exports = function (grunt) {
sourceMap: true
},
files: {
- '<%= appConfig.dist %>/locationpicker.jquery.min.js': ['<%= appConfig.app %>/*.js']
+ '<%= appConfig.dist %>/locationpicker.jquery.min.js': ['<%= appConfig.app %>/locationpicker.jquery.js'],
+ '<%= appConfig.dist %>/angularLocationpicker.jquery.min.js': ['<%= appConfig.app %>/angularLocationpicker.jquery.js']
}
},
beautify: {
@@ -52,7 +53,8 @@ module.exports = function (grunt) {
mangle: false
},
files: {
- '<%= appConfig.dist %>/locationpicker.jquery.js': ['<%= appConfig.app %>/*.js']
+ '<%= appConfig.dist %>/locationpicker.jquery.js': ['<%= appConfig.app %>/locationpicker.jquery.js'],
+ '<%= appConfig.dist %>/angularLocationpicker.jquery.js': ['<%= appConfig.app %>/angularLocationpicker.jquery.js']
}
}
}
diff --git a/README.md b/README.md
index faaae36..72a22c6 100644
--- a/README.md
+++ b/README.md
@@ -40,6 +40,7 @@ Documentation along with examples available [here](http://logicify.github.io/jqu
Credits
-------
-Dmitry Berezovsky, Logicify ()
-Emanuele Coppola, Libre sc ()
+* Dmitry Berezovsky, Logicify ()
+* Gennadiy Varava, Logicify ()
+* Emanuele Coppola, Libre sc ()
diff --git a/bower.json b/bower.json
index 619083c..d44b770 100644
--- a/bower.json
+++ b/bower.json
@@ -1,6 +1,6 @@
{
- "name": "jquery-locationpicker",
- "version": "0.1.14",
+ "name": "jquery-locationpicker-plugin",
+ "version": "0.1.15",
"homepage": "https://github.com/Logicify/jquery-locationpicker-plugin",
"authors": [
"Dmitry Berezovsky "
diff --git a/dist/angularLocationpicker.jquery.js b/dist/angularLocationpicker.jquery.js
new file mode 100644
index 0000000..c9d4067
--- /dev/null
+++ b/dist/angularLocationpicker.jquery.js
@@ -0,0 +1,48 @@
+/*! jquery-locationpicker - v0.1.15 - 2016-09-26 */
+"use strict";
+
+angular.module("angular-jquery-locationpicker", []).constant("angularJQueryLocationpickerDefaultValue", {
+ css: {
+ width: "550px",
+ height: "400px",
+ "float": "left"
+ }
+}).service("angularJQueryLocationpickerService", [ "angularJQueryLocationpickerDefaultValue", function(defaultValue) {
+ var service = {};
+ service.callAutosizeOnInit = function(element, initCb) {
+ var cb = initCb;
+ if (!!cb) {
+ initCb = function() {
+ $(element).locationpicker("autosize");
+ cb();
+ };
+ } else {
+ initCb = function() {
+ $(element).locationpicker("autosize");
+ };
+ }
+ };
+ service.checkDefaultStyles = function(element) {
+ var elementStyle = element[0].style;
+ element.css({
+ width: elementStyle.width || defaultValue.css.width,
+ height: elementStyle.height || defaultValue.css.height,
+ "float": elementStyle.float || defaultValue.css.float,
+ overflow: "hidden"
+ });
+ };
+ return service;
+} ]).directive("locationpicker", [ "angularJQueryLocationpickerService", function(service) {
+ return {
+ restrict: "EA",
+ replace: true,
+ scope: {
+ options: "="
+ },
+ link: function(scope, element, attrs) {
+ service.checkDefaultStyles(element);
+ service.callAutosizeOnInit(element, scope.options.oninitialized);
+ $(element).locationpicker(scope.options);
+ }
+ };
+} ]);
\ No newline at end of file
diff --git a/dist/angularLocationpicker.jquery.min.js b/dist/angularLocationpicker.jquery.min.js
new file mode 100644
index 0000000..03c1aca
--- /dev/null
+++ b/dist/angularLocationpicker.jquery.min.js
@@ -0,0 +1,4 @@
+/*! jquery-locationpicker - v0.1.15 - 2016-09-26 */
+
+"use strict";angular.module("angular-jquery-locationpicker",[]).constant("angularJQueryLocationpickerDefaultValue",{css:{width:"550px",height:"400px","float":"left"}}).service("angularJQueryLocationpickerService",["angularJQueryLocationpickerDefaultValue",function(a){var b={};return b.callAutosizeOnInit=function(a,b){var c=b;b=c?function(){$(a).locationpicker("autosize"),c()}:function(){$(a).locationpicker("autosize")}},b.checkDefaultStyles=function(b){var c=b[0].style;b.css({width:c.width||a.css.width,height:c.height||a.css.height,"float":c["float"]||a.css["float"],overflow:"hidden"})},b}]).directive("locationpicker",["angularJQueryLocationpickerService",function(a){return{restrict:"EA",replace:!0,scope:{options:"="},link:function(b,c){a.checkDefaultStyles(c),a.callAutosizeOnInit(c,b.options.oninitialized),$(c).locationpicker(b.options)}}}]);
+//# sourceMappingURL=angularLocationpicker.jquery.min.js.map
\ No newline at end of file
diff --git a/dist/angularLocationpicker.jquery.min.js.map b/dist/angularLocationpicker.jquery.min.js.map
new file mode 100644
index 0000000..7cacec7
--- /dev/null
+++ b/dist/angularLocationpicker.jquery.min.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"angularLocationpicker.jquery.min.js","sources":["../src/angularLocationpicker.jquery.js"],"names":["angular","module","constant","css","width","height","float","service","defaultValue","callAutosizeOnInit","element","initCb","cb","$","locationpicker","checkDefaultStyles","elementStyle","style","overflow","directive","restrict","replace","scope","options","link","oninitialized"],"mappings":";;AAGA,YACAA,SAAQC,OAAO,oCACVC,SAAS,2CACNC,KACIC,MAAO,QACPC,OAAQ,QACRC,QAAO,UAGdC,QAAQ,sCACL,0CACA,SAAUC,GACN,GAAID,KAoCJ,OA7BAA,GAAQE,mBAAqB,SAAUC,EAASC,GAC5C,GAAIC,GAAKD,CAELA,GADEC,EACO,WACLC,EAAEH,GAASI,eAAe,YAC1BF,KAGK,WACLC,EAAEH,GAASI,eAAe,cAUtCP,EAAQQ,mBAAqB,SAAUL,GACnC,GAAIM,GAAeN,EAAQ,GAAGO,KAC9BP,GAAQP,KACJC,MAAOY,EAAaZ,OAASI,EAAaL,IAAIC,MAC9CC,OAAQW,EAAaX,QAAUG,EAAaL,IAAIE,OAChDC,QAAOU,EAAAA,UAAsBR,EAAaL,IAAbK,SAC7BU,SAAU,YAIXX,KAGdY,UAAU,kBACP,qCACA,SAAUZ,GACN,OACIa,SAAU,KACVC,SAAS,EACTC,OACIC,QAAS,KAEbC,KAAM,SAAUF,EAAOZ,GACnBH,EAAQQ,mBAAmBL,GAC3BH,EAAQE,mBAAmBC,EAASY,EAAMC,QAAQE,eAClDZ,EAAEH,GAASI,eAAeQ,EAAMC"}
\ No newline at end of file
diff --git a/dist/locationpicker.jquery.js b/dist/locationpicker.jquery.js
index bbe5301..58a151d 100644
--- a/dist/locationpicker.jquery.js
+++ b/dist/locationpicker.jquery.js
@@ -1,4 +1,4 @@
-/*! jquery-locationpicker - v0.1.14 - 2016-09-20 */
+/*! jquery-locationpicker - v0.1.15 - 2016-09-26 */
(function($) {
function GMapContext(domElement, options) {
var _map = new google.maps.Map(domElement, options);
@@ -91,6 +91,10 @@
var address = GmUtility.addressByFormat(results, gmapContext.settings.addressFormat);
gmapContext.locationName = address.formatted_address;
gmapContext.addressComponents = GmUtility.address_component_from_google_geocode(address.address_components);
+ } else if (status == google.maps.GeocoderStatus.OVER_QUERY_LIMIT) {
+ return setTimeout(function() {
+ GmUtility.updateLocationName(gmapContext, callback);
+ }, 1e3);
}
if (callback) {
callback.call(this, gmapContext);
@@ -148,10 +152,11 @@
if (inputBinding) {
if (inputBinding.radiusInput) {
inputBinding.radiusInput.on("change", function(e) {
- if (!e.originalEvent) {
+ var radiusInputValue = $(this).val();
+ if (!e.originalEvent || isNaN(radiusInputValue)) {
return;
}
- gmapContext.radius = $(this).val();
+ gmapContext.radius = radiusInputValue;
GmUtility.setPosition(gmapContext, gmapContext.location, function(context) {
context.settings.onchanged.apply(gmapContext.domContainer, [ GmUtility.locationFromLatLng(context.location), context.radius, false ]);
});
@@ -204,10 +209,11 @@
}
if (inputBinding.latitudeInput) {
inputBinding.latitudeInput.on("change", function(e) {
- if (!e.originalEvent) {
+ var latitudeInputValue = $(this).val();
+ if (!e.originalEvent || isNaN(latitudeInputValue)) {
return;
}
- GmUtility.setPosition(gmapContext, new google.maps.LatLng($(this).val(), gmapContext.location.lng()), function(context) {
+ GmUtility.setPosition(gmapContext, new google.maps.LatLng(latitudeInputValue, gmapContext.location.lng()), function(context) {
context.settings.onchanged.apply(gmapContext.domContainer, [ GmUtility.locationFromLatLng(context.location), context.radius, false ]);
updateInputValues(gmapContext.settings.inputBinding, gmapContext);
});
@@ -215,10 +221,11 @@
}
if (inputBinding.longitudeInput) {
inputBinding.longitudeInput.on("change", function(e) {
- if (!e.originalEvent) {
+ var longitudeInputValue = $(this).val();
+ if (!e.originalEvent || isNaN(longitudeInputValue)) {
return;
}
- GmUtility.setPosition(gmapContext, new google.maps.LatLng(gmapContext.location.lat(), $(this).val()), function(context) {
+ GmUtility.setPosition(gmapContext, new google.maps.LatLng(gmapContext.location.lat(), longitudeInputValue), function(context) {
context.settings.onchanged.apply(gmapContext.domContainer, [ GmUtility.locationFromLatLng(context.location), context.radius, false ]);
updateInputValues(gmapContext.settings.inputBinding, gmapContext);
});
@@ -306,7 +313,7 @@
return;
}
var settings = $.extend({}, $.fn.locationpicker.defaults, options);
- var gmapContext = new GMapContext(this, {
+ var gmapContext = new GMapContext(this, $.extend({}, settings.mapOptions, {
zoom: settings.zoom,
center: new google.maps.LatLng(settings.location.latitude, settings.location.longitude),
mapTypeId: settings.mapTypeId,
@@ -324,7 +331,7 @@
markerIcon: settings.markerIcon,
markerDraggable: settings.markerDraggable,
markerVisible: settings.markerVisible
- });
+ }));
$target.data("locationpicker", gmapContext);
function displayMarkerWithSelectedArea() {
GmUtility.setPosition(gmapContext, gmapContext.marker.position, function(context) {
@@ -369,6 +376,7 @@
zoom: 15,
mapTypeId: google.maps.MapTypeId.ROADMAP,
styles: [],
+ mapOptions: {},
scrollwheel: true,
inputBinding: {
latitudeInput: null,
diff --git a/dist/locationpicker.jquery.min.js b/dist/locationpicker.jquery.min.js
index fb2c16d..23754eb 100644
--- a/dist/locationpicker.jquery.min.js
+++ b/dist/locationpicker.jquery.min.js
@@ -1,4 +1,4 @@
-/*! jquery-locationpicker - v0.1.14 - 2016-09-20 */
+/*! jquery-locationpicker - v0.1.15 - 2016-09-26 */
-!function(a){function b(a,b){var c=new google.maps.Map(a,b),d=new google.maps.Marker({position:new google.maps.LatLng(54.19335,-3.92695),map:c,title:"Drag Me",visible:b.markerVisible,draggable:b.markerDraggable,icon:void 0!==b.markerIcon?b.markerIcon:void 0});return{map:c,marker:d,circle:null,location:d.position,radius:b.radius,locationName:b.locationName,addressComponents:{formatted_address:null,addressLine1:null,addressLine2:null,streetName:null,streetNumber:null,city:null,district:null,state:null,stateOrProvince:null},settings:b.settings,domContainer:a,geodecoder:new google.maps.Geocoder}}function c(a){return void 0!=d(a)}function d(b){return a(b).data("locationpicker")}function e(a,b){if(a){var c=i.locationFromLatLng(b.marker.position);a.latitudeInput&&a.latitudeInput.val(c.latitude).change(),a.longitudeInput&&a.longitudeInput.val(c.longitude).change(),a.radiusInput&&a.radiusInput.val(b.radius).change(),a.locationNameInput&&a.locationNameInput.val(b.locationName).change()}}function f(b,c){if(b){if(b.radiusInput&&b.radiusInput.on("change",function(b){b.originalEvent&&(c.radius=a(this).val(),i.setPosition(c,c.location,function(a){a.settings.onchanged.apply(c.domContainer,[i.locationFromLatLng(a.location),a.radius,!1])}))}),b.locationNameInput&&c.settings.enableAutocomplete){var d=!1;c.autocomplete=new google.maps.places.Autocomplete(b.locationNameInput.get(0),c.settings.autocompleteOptions),google.maps.event.addListener(c.autocomplete,"place_changed",function(){d=!1;var a=c.autocomplete.getPlace();return a.geometry?void i.setPosition(c,a.geometry.location,function(a){e(b,a),a.settings.onchanged.apply(c.domContainer,[i.locationFromLatLng(a.location),a.radius,!1])}):void c.settings.onlocationnotfound(a.name)}),c.settings.enableAutocompleteBlur&&(b.locationNameInput.on("change",function(a){a.originalEvent&&(d=!0)}),b.locationNameInput.on("blur",function(f){f.originalEvent&&setTimeout(function(){var f=a(b.locationNameInput).val();f.length>5&&d&&(d=!1,c.geodecoder.geocode({address:f},function(a,d){d==google.maps.GeocoderStatus.OK&&a&&a.length&&i.setPosition(c,a[0].geometry.location,function(a){e(b,a),a.settings.onchanged.apply(c.domContainer,[i.locationFromLatLng(a.location),a.radius,!1])})}))},1e3)}))}b.latitudeInput&&b.latitudeInput.on("change",function(b){b.originalEvent&&i.setPosition(c,new google.maps.LatLng(a(this).val(),c.location.lng()),function(a){a.settings.onchanged.apply(c.domContainer,[i.locationFromLatLng(a.location),a.radius,!1]),e(c.settings.inputBinding,c)})}),b.longitudeInput&&b.longitudeInput.on("change",function(b){b.originalEvent&&i.setPosition(c,new google.maps.LatLng(c.location.lat(),a(this).val()),function(a){a.settings.onchanged.apply(c.domContainer,[i.locationFromLatLng(a.location),a.radius,!1]),e(c.settings.inputBinding,c)})})}}function g(a){google.maps.event.trigger(a.map,"resize"),setTimeout(function(){a.map.setCenter(a.marker.position)},300)}function h(b,c,d){var e=a.extend({},a.fn.locationpicker.defaults,d),g=e.location.latitude,h=e.location.longitude,j=e.radius,k=b.settings.location.latitude,l=b.settings.location.longitude,m=b.settings.radius;(g!=k||h!=l||j!=m)&&(b.settings.location.latitude=g,b.settings.location.longitude=h,b.radius=j,i.setPosition(b,new google.maps.LatLng(b.settings.location.latitude,b.settings.location.longitude),function(a){f(b.settings.inputBinding,b),a.settings.oninitialized(c)}))}var i={drawCircle:function(b,c,d,e){return null!=b.circle&&b.circle.setMap(null),d>0?(d*=1,e=a.extend({strokeColor:"#0000FF",strokeOpacity:.35,strokeWeight:2,fillColor:"#0000FF",fillOpacity:.2},e),e.map=b.map,e.radius=d,e.center=c,b.circle=new google.maps.Circle(e),b.circle):null},setPosition:function(a,b,c){a.location=b,a.marker.setPosition(b),a.map.panTo(b),this.drawCircle(a,b,a.radius,{}),a.settings.enableReverseGeocode?this.updateLocationName(a,c):c&&c.call(this,a)},locationFromLatLng:function(a){return{latitude:a.lat(),longitude:a.lng()}},addressByFormat:function(a,b){for(var c=null,d=a.length-1;d>=0;d--)a[d].types.indexOf(b)>=0&&(c=a[d]);return c||a[0]},updateLocationName:function(a,b){a.geodecoder.geocode({latLng:a.marker.position},function(c,d){if(d==google.maps.GeocoderStatus.OK&&c.length>0){var e=i.addressByFormat(c,a.settings.addressFormat);a.locationName=e.formatted_address,a.addressComponents=i.address_component_from_google_geocode(e.address_components)}b&&b.call(this,a)})},address_component_from_google_geocode:function(a){for(var b={},c=a.length-1;c>=0;c--){var d=a[c];d.types.indexOf("postal_code")>=0?b.postalCode=d.short_name:d.types.indexOf("street_number")>=0?b.streetNumber=d.short_name:d.types.indexOf("route")>=0?b.streetName=d.short_name:d.types.indexOf("locality")>=0?b.city=d.short_name:d.types.indexOf("sublocality")>=0?b.district=d.short_name:d.types.indexOf("administrative_area_level_1")>=0?b.stateOrProvince=d.short_name:d.types.indexOf("country")>=0&&(b.country=d.short_name)}return b.addressLine1=[b.streetNumber,b.streetName].join(" ").trim(),b.addressLine2="",b}};a.fn.locationpicker=function(j,k){if("string"==typeof j){var l=this.get(0);if(!c(l))return;var m=d(l);switch(j){case"location":if(void 0==k){var n=i.locationFromLatLng(m.location);return n.radius=m.radius,n.name=m.locationName,n}k.radius&&(m.radius=k.radius),i.setPosition(m,new google.maps.LatLng(k.latitude,k.longitude),function(a){e(a.settings.inputBinding,a)});break;case"subscribe":if(void 0==k)return null;var o=k.event,p=k.callback;if(!o||!p)return console.error('LocationPicker: Invalid arguments for method "subscribe"'),null;google.maps.event.addListener(m.map,o,p);break;case"map":if(void 0==k){var q=i.locationFromLatLng(m.location);return q.formattedAddress=m.locationName,q.addressComponents=m.addressComponents,{map:m.map,marker:m.marker,location:q}}return null;case"autosize":return g(m),this}return null}return this.each(function(){function g(){i.setPosition(m,m.marker.position,function(a){var b=i.locationFromLatLng(m.location);e(m.settings.inputBinding,m),a.settings.onchanged.apply(m.domContainer,[b,a.radius,!0])})}var k=a(this);if(c(this))return void h(d(this),a(this),j);var l=a.extend({},a.fn.locationpicker.defaults,j),m=new b(this,{zoom:l.zoom,center:new google.maps.LatLng(l.location.latitude,l.location.longitude),mapTypeId:l.mapTypeId,mapTypeControl:!1,styles:l.styles,disableDoubleClickZoom:!1,scrollwheel:l.scrollwheel,streetViewControl:!1,radius:l.radius,locationName:l.locationName,settings:l,autocompleteOptions:l.autocompleteOptions,addressFormat:l.addressFormat,draggable:l.draggable,markerIcon:l.markerIcon,markerDraggable:l.markerDraggable,markerVisible:l.markerVisible});k.data("locationpicker",m),l.markerInCenter&&(m.map.addListener("bounds_changed",function(){m.marker.dragging||(m.marker.setPosition(m.map.center),e(m.settings.inputBinding,m))}),m.map.addListener("idle",function(){m.marker.dragging||g()})),google.maps.event.addListener(m.marker,"drag",function(){e(m.settings.inputBinding,m)}),google.maps.event.addListener(m.marker,"dragend",function(){g()}),i.setPosition(m,new google.maps.LatLng(l.location.latitude,l.location.longitude),function(a){e(l.inputBinding,m),f(l.inputBinding,m),a.settings.oninitialized(k)})})},a.fn.locationpicker.defaults={location:{latitude:40.7324319,longitude:-73.82480777777776},locationName:"",radius:500,zoom:15,mapTypeId:google.maps.MapTypeId.ROADMAP,styles:[],scrollwheel:!0,inputBinding:{latitudeInput:null,longitudeInput:null,radiusInput:null,locationNameInput:null},enableAutocomplete:!1,enableAutocompleteBlur:!1,autocompleteOptions:null,addressFormat:"postal_code",enableReverseGeocode:!0,draggable:!0,onchanged:function(){},onlocationnotfound:function(){},oninitialized:function(){},markerIcon:void 0,markerDraggable:!0,markerVisible:!0}}(jQuery);
+!function(a){function b(a,b){var c=new google.maps.Map(a,b),d=new google.maps.Marker({position:new google.maps.LatLng(54.19335,-3.92695),map:c,title:"Drag Me",visible:b.markerVisible,draggable:b.markerDraggable,icon:void 0!==b.markerIcon?b.markerIcon:void 0});return{map:c,marker:d,circle:null,location:d.position,radius:b.radius,locationName:b.locationName,addressComponents:{formatted_address:null,addressLine1:null,addressLine2:null,streetName:null,streetNumber:null,city:null,district:null,state:null,stateOrProvince:null},settings:b.settings,domContainer:a,geodecoder:new google.maps.Geocoder}}function c(a){return void 0!=d(a)}function d(b){return a(b).data("locationpicker")}function e(a,b){if(a){var c=i.locationFromLatLng(b.marker.position);a.latitudeInput&&a.latitudeInput.val(c.latitude).change(),a.longitudeInput&&a.longitudeInput.val(c.longitude).change(),a.radiusInput&&a.radiusInput.val(b.radius).change(),a.locationNameInput&&a.locationNameInput.val(b.locationName).change()}}function f(b,c){if(b){if(b.radiusInput&&b.radiusInput.on("change",function(b){var d=a(this).val();b.originalEvent&&!isNaN(d)&&(c.radius=d,i.setPosition(c,c.location,function(a){a.settings.onchanged.apply(c.domContainer,[i.locationFromLatLng(a.location),a.radius,!1])}))}),b.locationNameInput&&c.settings.enableAutocomplete){var d=!1;c.autocomplete=new google.maps.places.Autocomplete(b.locationNameInput.get(0),c.settings.autocompleteOptions),google.maps.event.addListener(c.autocomplete,"place_changed",function(){d=!1;var a=c.autocomplete.getPlace();return a.geometry?void i.setPosition(c,a.geometry.location,function(a){e(b,a),a.settings.onchanged.apply(c.domContainer,[i.locationFromLatLng(a.location),a.radius,!1])}):void c.settings.onlocationnotfound(a.name)}),c.settings.enableAutocompleteBlur&&(b.locationNameInput.on("change",function(a){a.originalEvent&&(d=!0)}),b.locationNameInput.on("blur",function(f){f.originalEvent&&setTimeout(function(){var f=a(b.locationNameInput).val();f.length>5&&d&&(d=!1,c.geodecoder.geocode({address:f},function(a,d){d==google.maps.GeocoderStatus.OK&&a&&a.length&&i.setPosition(c,a[0].geometry.location,function(a){e(b,a),a.settings.onchanged.apply(c.domContainer,[i.locationFromLatLng(a.location),a.radius,!1])})}))},1e3)}))}b.latitudeInput&&b.latitudeInput.on("change",function(b){var d=a(this).val();b.originalEvent&&!isNaN(d)&&i.setPosition(c,new google.maps.LatLng(d,c.location.lng()),function(a){a.settings.onchanged.apply(c.domContainer,[i.locationFromLatLng(a.location),a.radius,!1]),e(c.settings.inputBinding,c)})}),b.longitudeInput&&b.longitudeInput.on("change",function(b){var d=a(this).val();b.originalEvent&&!isNaN(d)&&i.setPosition(c,new google.maps.LatLng(c.location.lat(),d),function(a){a.settings.onchanged.apply(c.domContainer,[i.locationFromLatLng(a.location),a.radius,!1]),e(c.settings.inputBinding,c)})})}}function g(a){google.maps.event.trigger(a.map,"resize"),setTimeout(function(){a.map.setCenter(a.marker.position)},300)}function h(b,c,d){var e=a.extend({},a.fn.locationpicker.defaults,d),g=e.location.latitude,h=e.location.longitude,j=e.radius,k=b.settings.location.latitude,l=b.settings.location.longitude,m=b.settings.radius;(g!=k||h!=l||j!=m)&&(b.settings.location.latitude=g,b.settings.location.longitude=h,b.radius=j,i.setPosition(b,new google.maps.LatLng(b.settings.location.latitude,b.settings.location.longitude),function(a){f(b.settings.inputBinding,b),a.settings.oninitialized(c)}))}var i={drawCircle:function(b,c,d,e){return null!=b.circle&&b.circle.setMap(null),d>0?(d*=1,e=a.extend({strokeColor:"#0000FF",strokeOpacity:.35,strokeWeight:2,fillColor:"#0000FF",fillOpacity:.2},e),e.map=b.map,e.radius=d,e.center=c,b.circle=new google.maps.Circle(e),b.circle):null},setPosition:function(a,b,c){a.location=b,a.marker.setPosition(b),a.map.panTo(b),this.drawCircle(a,b,a.radius,{}),a.settings.enableReverseGeocode?this.updateLocationName(a,c):c&&c.call(this,a)},locationFromLatLng:function(a){return{latitude:a.lat(),longitude:a.lng()}},addressByFormat:function(a,b){for(var c=null,d=a.length-1;d>=0;d--)a[d].types.indexOf(b)>=0&&(c=a[d]);return c||a[0]},updateLocationName:function(a,b){a.geodecoder.geocode({latLng:a.marker.position},function(c,d){if(d==google.maps.GeocoderStatus.OK&&c.length>0){var e=i.addressByFormat(c,a.settings.addressFormat);a.locationName=e.formatted_address,a.addressComponents=i.address_component_from_google_geocode(e.address_components)}else if(d==google.maps.GeocoderStatus.OVER_QUERY_LIMIT)return setTimeout(function(){i.updateLocationName(a,b)},1e3);b&&b.call(this,a)})},address_component_from_google_geocode:function(a){for(var b={},c=a.length-1;c>=0;c--){var d=a[c];d.types.indexOf("postal_code")>=0?b.postalCode=d.short_name:d.types.indexOf("street_number")>=0?b.streetNumber=d.short_name:d.types.indexOf("route")>=0?b.streetName=d.short_name:d.types.indexOf("locality")>=0?b.city=d.short_name:d.types.indexOf("sublocality")>=0?b.district=d.short_name:d.types.indexOf("administrative_area_level_1")>=0?b.stateOrProvince=d.short_name:d.types.indexOf("country")>=0&&(b.country=d.short_name)}return b.addressLine1=[b.streetNumber,b.streetName].join(" ").trim(),b.addressLine2="",b}};a.fn.locationpicker=function(j,k){if("string"==typeof j){var l=this.get(0);if(!c(l))return;var m=d(l);switch(j){case"location":if(void 0==k){var n=i.locationFromLatLng(m.location);return n.radius=m.radius,n.name=m.locationName,n}k.radius&&(m.radius=k.radius),i.setPosition(m,new google.maps.LatLng(k.latitude,k.longitude),function(a){e(a.settings.inputBinding,a)});break;case"subscribe":if(void 0==k)return null;var o=k.event,p=k.callback;if(!o||!p)return console.error('LocationPicker: Invalid arguments for method "subscribe"'),null;google.maps.event.addListener(m.map,o,p);break;case"map":if(void 0==k){var q=i.locationFromLatLng(m.location);return q.formattedAddress=m.locationName,q.addressComponents=m.addressComponents,{map:m.map,marker:m.marker,location:q}}return null;case"autosize":return g(m),this}return null}return this.each(function(){function g(){i.setPosition(m,m.marker.position,function(a){var b=i.locationFromLatLng(m.location);e(m.settings.inputBinding,m),a.settings.onchanged.apply(m.domContainer,[b,a.radius,!0])})}var k=a(this);if(c(this))return void h(d(this),a(this),j);var l=a.extend({},a.fn.locationpicker.defaults,j),m=new b(this,a.extend({},l.mapOptions,{zoom:l.zoom,center:new google.maps.LatLng(l.location.latitude,l.location.longitude),mapTypeId:l.mapTypeId,mapTypeControl:!1,styles:l.styles,disableDoubleClickZoom:!1,scrollwheel:l.scrollwheel,streetViewControl:!1,radius:l.radius,locationName:l.locationName,settings:l,autocompleteOptions:l.autocompleteOptions,addressFormat:l.addressFormat,draggable:l.draggable,markerIcon:l.markerIcon,markerDraggable:l.markerDraggable,markerVisible:l.markerVisible}));k.data("locationpicker",m),l.markerInCenter&&(m.map.addListener("bounds_changed",function(){m.marker.dragging||(m.marker.setPosition(m.map.center),e(m.settings.inputBinding,m))}),m.map.addListener("idle",function(){m.marker.dragging||g()})),google.maps.event.addListener(m.marker,"drag",function(){e(m.settings.inputBinding,m)}),google.maps.event.addListener(m.marker,"dragend",function(){g()}),i.setPosition(m,new google.maps.LatLng(l.location.latitude,l.location.longitude),function(a){e(l.inputBinding,m),f(l.inputBinding,m),a.settings.oninitialized(k)})})},a.fn.locationpicker.defaults={location:{latitude:40.7324319,longitude:-73.82480777777776},locationName:"",radius:500,zoom:15,mapTypeId:google.maps.MapTypeId.ROADMAP,styles:[],mapOptions:{},scrollwheel:!0,inputBinding:{latitudeInput:null,longitudeInput:null,radiusInput:null,locationNameInput:null},enableAutocomplete:!1,enableAutocompleteBlur:!1,autocompleteOptions:null,addressFormat:"postal_code",enableReverseGeocode:!0,draggable:!0,onchanged:function(){},onlocationnotfound:function(){},oninitialized:function(){},markerIcon:void 0,markerDraggable:!0,markerVisible:!0}}(jQuery);
//# sourceMappingURL=locationpicker.jquery.min.js.map
\ No newline at end of file
diff --git a/dist/locationpicker.jquery.min.js.map b/dist/locationpicker.jquery.min.js.map
index 9be2b8a..bec6187 100644
--- a/dist/locationpicker.jquery.min.js.map
+++ b/dist/locationpicker.jquery.min.js.map
@@ -1 +1 @@
-{"version":3,"file":"locationpicker.jquery.min.js","sources":["../src/locationpicker.jquery.js"],"names":["$","GMapContext","domElement","options","_map","google","maps","Map","_marker","Marker","position","LatLng","map","title","visible","markerVisible","draggable","markerDraggable","icon","undefined","markerIcon","marker","circle","location","radius","locationName","addressComponents","formatted_address","addressLine1","addressLine2","streetName","streetNumber","city","district","state","stateOrProvince","settings","domContainer","geodecoder","Geocoder","isPluginApplied","domObj","getContextForElement","data","updateInputValues","inputBinding","gmapContext","currentLocation","GmUtility","locationFromLatLng","latitudeInput","val","latitude","change","longitudeInput","longitude","radiusInput","locationNameInput","setupInputListenersInput","on","e","originalEvent","this","setPosition","context","onchanged","apply","enableAutocomplete","blur","autocomplete","places","Autocomplete","get","autocompleteOptions","event","addListener","place","getPlace","geometry","onlocationnotfound","name","enableAutocompleteBlur","setTimeout","address","length","geocode","results","status","GeocoderStatus","OK","lng","lat","autosize","trigger","setCenter","updateMap","$target","extend","fn","locationpicker","defaults","latNew","lngNew","radiusNew","latOld","lngOld","radiusOld","oninitialized","drawCircle","center","setMap","strokeColor","strokeOpacity","strokeWeight","fillColor","fillOpacity","Circle","gMapContext","callback","panTo","enableReverseGeocode","updateLocationName","call","lnlg","addressByFormat","addresses","format","result","i","types","indexOf","latLng","addressFormat","address_component_from_google_geocode","address_components","component","postalCode","short_name","country","join","trim","params","_targetDomElement","console","error","locationObj","formattedAddress","each","displayMarkerWithSelectedArea","zoom","mapTypeId","mapTypeControl","styles","disableDoubleClickZoom","scrollwheel","streetViewControl","markerInCenter","dragging","MapTypeId","ROADMAP","jQuery"],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"locationpicker.jquery.min.js","sources":["../src/locationpicker.jquery.js"],"names":["$","GMapContext","domElement","options","_map","google","maps","Map","_marker","Marker","position","LatLng","map","title","visible","markerVisible","draggable","markerDraggable","icon","undefined","markerIcon","marker","circle","location","radius","locationName","addressComponents","formatted_address","addressLine1","addressLine2","streetName","streetNumber","city","district","state","stateOrProvince","settings","domContainer","geodecoder","Geocoder","isPluginApplied","domObj","getContextForElement","data","updateInputValues","inputBinding","gmapContext","currentLocation","GmUtility","locationFromLatLng","latitudeInput","val","latitude","change","longitudeInput","longitude","radiusInput","locationNameInput","setupInputListenersInput","on","e","radiusInputValue","this","originalEvent","isNaN","setPosition","context","onchanged","apply","enableAutocomplete","blur","autocomplete","places","Autocomplete","get","autocompleteOptions","event","addListener","place","getPlace","geometry","onlocationnotfound","name","enableAutocompleteBlur","setTimeout","address","length","geocode","results","status","GeocoderStatus","OK","latitudeInputValue","lng","longitudeInputValue","lat","autosize","trigger","setCenter","updateMap","$target","extend","fn","locationpicker","defaults","latNew","lngNew","radiusNew","latOld","lngOld","radiusOld","oninitialized","drawCircle","center","setMap","strokeColor","strokeOpacity","strokeWeight","fillColor","fillOpacity","Circle","gMapContext","callback","panTo","enableReverseGeocode","updateLocationName","call","lnlg","addressByFormat","addresses","format","result","i","types","indexOf","latLng","addressFormat","address_component_from_google_geocode","address_components","OVER_QUERY_LIMIT","component","postalCode","short_name","country","join","trim","params","_targetDomElement","console","error","locationObj","formattedAddress","each","displayMarkerWithSelectedArea","mapOptions","zoom","mapTypeId","mapTypeControl","styles","disableDoubleClickZoom","scrollwheel","streetViewControl","markerInCenter","dragging","MapTypeId","ROADMAP","jQuery"],"mappings":"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"}
\ No newline at end of file
diff --git a/examples/angularExample.html b/examples/angularExample.html
new file mode 100644
index 0000000..09d51a8
--- /dev/null
+++ b/examples/angularExample.html
@@ -0,0 +1,81 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Angular example
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/locationpicker.jquery.json b/locationpicker.jquery.json
index 80feb3e..30f6534 100644
--- a/locationpicker.jquery.json
+++ b/locationpicker.jquery.json
@@ -9,7 +9,7 @@
"map",
"radius"
],
- "version": "0.1.14",
+ "version": "0.1.15",
"author": {
"name": "Dmitry Berezovsky",
"url": "http://logicify.com/"
diff --git a/package.json b/package.json
index 6a9fdf1..7b08c44 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "jquery-locationpicker",
- "version": "0.1.14",
+ "version": "0.1.15",
"keywords": [
"jquery-plugin",
"googlemap",
diff --git a/src/angularLocationpicker.jquery.js b/src/angularLocationpicker.jquery.js
new file mode 100644
index 0000000..f1ebfa4
--- /dev/null
+++ b/src/angularLocationpicker.jquery.js
@@ -0,0 +1,70 @@
+/**
+ * Created by sumragen on 21.09.16.
+ */
+'use strict';
+angular.module('angular-jquery-locationpicker', [])
+ .constant('angularJQueryLocationpickerDefaultValue', {
+ css: {
+ width: '550px',
+ height: '400px',
+ float: 'left'
+ }
+ })
+ .service('angularJQueryLocationpickerService', [
+ 'angularJQueryLocationpickerDefaultValue',
+ function (defaultValue) {
+ var service = {};
+
+ /**
+ * Without 'autosize' method map will be consist of grey box
+ * @param element
+ * @param initCb - defined method 'oninitialized' by user
+ */
+ service.callAutosizeOnInit = function (element, initCb) {
+ var cb = initCb;
+ if (!!cb) {
+ initCb = function () {
+ $(element).locationpicker('autosize');
+ cb();
+ }
+ } else {
+ initCb = function () {
+ $(element).locationpicker('autosize');
+ }
+ }
+ };
+
+ /**
+ * If user forgot add some style parameters then assign default value
+ * When user assign styles by css classes that method override values. Need use !important
+ * @param element
+ */
+ service.checkDefaultStyles = function (element) {
+ var elementStyle = element[0].style;
+ element.css({
+ width: elementStyle.width || defaultValue.css.width,
+ height: elementStyle.height || defaultValue.css.height,
+ float: elementStyle.float || defaultValue.css.float,
+ overflow: 'hidden'
+ });
+ };
+
+ return service;
+ }
+ ])
+ .directive('locationpicker', [
+ 'angularJQueryLocationpickerService',
+ function (service) {
+ return {
+ restrict: 'EA',
+ replace: true,
+ scope: {
+ options: '='
+ },
+ link: function (scope, element, attrs) {
+ service.checkDefaultStyles(element);
+ service.callAutosizeOnInit(element, scope.options.oninitialized);
+ $(element).locationpicker(scope.options);
+ }
+ };
+ }]);
\ No newline at end of file
diff --git a/src/locationpicker.jquery.js b/src/locationpicker.jquery.js
index cdc793d..6165a77 100644
--- a/src/locationpicker.jquery.js
+++ b/src/locationpicker.jquery.js
@@ -110,6 +110,10 @@
var address = GmUtility.addressByFormat(results, gmapContext.settings.addressFormat);
gmapContext.locationName = address.formatted_address;
gmapContext.addressComponents = GmUtility.address_component_from_google_geocode(address.address_components);
+ }else if (status == google.maps.GeocoderStatus.OVER_QUERY_LIMIT) {
+ return setTimeout(function () {
+ GmUtility.updateLocationName(gmapContext, callback);
+ }, 1000);
}
if (callback) {
callback.call(this, gmapContext);
@@ -184,8 +188,9 @@
if (inputBinding) {
if (inputBinding.radiusInput){
inputBinding.radiusInput.on("change", function(e) {
- if (!e.originalEvent) { return }
- gmapContext.radius = $(this).val();
+ var radiusInputValue = $(this).val();
+ if (!e.originalEvent || isNaN(radiusInputValue)) { return }
+ gmapContext.radius = radiusInputValue;
GmUtility.setPosition(gmapContext, gmapContext.location, function(context){
context.settings.onchanged.apply(gmapContext.domContainer,
[GmUtility.locationFromLatLng(context.location), context.radius, false]);
@@ -235,9 +240,9 @@
}
if (inputBinding.latitudeInput) {
inputBinding.latitudeInput.on("change", function(e) {
- if (!e.originalEvent) { return }
- GmUtility.setPosition(gmapContext, new google.maps.LatLng($(this).val(), gmapContext.location.lng()), function(context){
- context.settings.onchanged.apply(gmapContext.domContainer,
+ var latitudeInputValue = $(this).val();
+ if (!e.originalEvent || isNaN(latitudeInputValue) ) { return }
+ GmUtility.setPosition(gmapContext, new google.maps.LatLng(latitudeInputValue, gmapContext.location.lng()), function(context){ context.settings.onchanged.apply(gmapContext.domContainer,
[GmUtility.locationFromLatLng(context.location), context.radius, false]);
updateInputValues(gmapContext.settings.inputBinding, gmapContext);
});
@@ -245,8 +250,9 @@
}
if (inputBinding.longitudeInput) {
inputBinding.longitudeInput.on("change", function(e) {
- if (!e.originalEvent) { return }
- GmUtility.setPosition(gmapContext, new google.maps.LatLng(gmapContext.location.lat(), $(this).val()), function(context){
+ var longitudeInputValue = $(this).val();
+ if (!e.originalEvent || isNaN(longitudeInputValue) ) { return }
+ GmUtility.setPosition(gmapContext, new google.maps.LatLng(gmapContext.location.lat(), longitudeInputValue), function(context){
context.settings.onchanged.apply(gmapContext.domContainer,
[GmUtility.locationFromLatLng(context.location), context.radius, false]);
updateInputValues(gmapContext.settings.inputBinding, gmapContext);
@@ -370,7 +376,7 @@
// Defaults
var settings = $.extend({}, $.fn.locationpicker.defaults, options );
// Initialize
- var gmapContext = new GMapContext(this, {
+ var gmapContext = new GMapContext(this, $.extend({}, settings.mapOptions, {
zoom: settings.zoom,
center: new google.maps.LatLng(settings.location.latitude, settings.location.longitude),
mapTypeId: settings.mapTypeId,
@@ -388,7 +394,7 @@
markerIcon: settings.markerIcon,
markerDraggable: settings.markerDraggable,
markerVisible: settings.markerVisible
- });
+ }));
$target.data("locationpicker", gmapContext);
// Subscribe GMap events
function displayMarkerWithSelectedArea() {
@@ -432,6 +438,7 @@
zoom: 15,
mapTypeId: google.maps.MapTypeId.ROADMAP,
styles: [],
+ mapOptions: {},
scrollwheel: true,
inputBinding: {
latitudeInput: null,