diff --git a/assets/control-geocoder/Control.Geocoder.css b/assets/control-geocoder/Control.Geocoder.css
index 407f8f0..47bb0bd 100644
--- a/assets/control-geocoder/Control.Geocoder.css
+++ b/assets/control-geocoder/Control.Geocoder.css
@@ -37,7 +37,7 @@
.leaflet-control-geocoder-icon {
width: 26px;
height: 26px;
- background-image: url('images/geocoder.png');
+ background-image: url(images/geocoder.png);
background-repeat: no-repeat;
background-position: center;
float: right;
@@ -50,7 +50,7 @@
}
.leaflet-control-geocoder-throbber .leaflet-control-geocoder-icon {
- background-image: url('images/throbber.gif');
+ background-image: url(images/throbber.gif);
}
.leaflet-control-geocoder-expanded input, .leaflet-control-geocoder-error {
@@ -137,4 +137,4 @@ ul.leaflet-control-geocoder-alternatives {
color: #666;
font-size: 12px;
font-weight: lighter;
-}
+}
\ No newline at end of file
diff --git a/assets/control-geocoder/Control.Geocoder.js b/assets/control-geocoder/Control.Geocoder.js
index 58b8e83..e419ce2 100644
--- a/assets/control-geocoder/Control.Geocoder.js
+++ b/assets/control-geocoder/Control.Geocoder.js
@@ -323,7 +323,7 @@
if (a.city || a.town || a.village) {
parts.push('{postcode} {city}{town}{village}');
+ '">{postcode} {city} {town} {village}');
}
if (a.state || a.country) {
@@ -620,6 +620,10 @@
});
},
+ suggest: function(query, cb, context) {
+ return this.geocode(query, cb, context);
+ },
+
reverse: function(location, scale, cb, context) {
L.Control.Geocoder.getJSON(this.options.service_url + encodeURIComponent(location.lng) + ',' + encodeURIComponent(location.lat) + '.json', {
access_token: this._access_token,
diff --git a/assets/control-geocoder/Control.Geocoder.min.js b/assets/control-geocoder/Control.Geocoder.min.js
index bc70cfe..47a7e0e 100644
--- a/assets/control-geocoder/Control.Geocoder.min.js
+++ b/assets/control-geocoder/Control.Geocoder.min.js
@@ -1 +1 @@
-!function(e){var t;if("function"==typeof define&&define.amd)define(["leaflet"],e);else if("undefined"!=typeof module)t=require("leaflet"),module.exports=e(t);else{if("undefined"==typeof window.L)throw"Leaflet must be loaded first";e(window.L)}}(function(e){"use strict";return e.Control.Geocoder=e.Control.extend({options:{showResultIcons:!1,collapsed:!0,expand:"click",position:"topright",placeholder:"Search...",errorMessage:"Nothing found."},_callbackId:0,initialize:function(t){e.Util.setOptions(this,t),this.options.geocoder||(this.options.geocoder=new e.Control.Geocoder.Nominatim)},onAdd:function(t){var o,n="leaflet-control-geocoder",r=e.DomUtil.create("div",n),s=e.DomUtil.create("div","leaflet-control-geocoder-icon",r),i=this._form=e.DomUtil.create("form",n+"-form",r);return this._map=t,this._container=r,o=this._input=e.DomUtil.create("input"),o.type="text",o.placeholder=this.options.placeholder,e.DomEvent.addListener(o,"keydown",this._keydown,this),this._errorElement=document.createElement("div"),this._errorElement.className=n+"-form-no-error",this._errorElement.innerHTML=this.options.errorMessage,this._alts=e.DomUtil.create("ul",n+"-alternatives leaflet-control-geocoder-alternatives-minimized"),i.appendChild(o),i.appendChild(this._errorElement),r.appendChild(this._alts),e.DomEvent.addListener(i,"submit",this._geocode,this),this.options.collapsed?"click"===this.options.expand?e.DomEvent.addListener(s,"click",function(e){0===e.button&&2!==e.detail&&this._toggle()},this):(e.DomEvent.addListener(s,"mouseover",this._expand,this),e.DomEvent.addListener(s,"mouseout",this._collapse,this),this._map.on("movestart",this._collapse,this)):this._expand(),e.DomEvent.disableClickPropagation(r),r},_geocodeResult:function(t){if(e.DomUtil.removeClass(this._container,"leaflet-control-geocoder-throbber"),1===t.length)this._geocodeResultSelected(t[0]);else if(t.length>0){this._alts.innerHTML="",this._results=t,e.DomUtil.removeClass(this._alts,"leaflet-control-geocoder-alternatives-minimized");for(var o=0;o=0?this._collapse():this._expand()},_expand:function(){e.DomUtil.addClass(this._container,"leaflet-control-geocoder-expanded"),this._input.select()},_collapse:function(){this._container.className=this._container.className.replace(" leaflet-control-geocoder-expanded",""),e.DomUtil.addClass(this._alts,"leaflet-control-geocoder-alternatives-minimized"),e.DomUtil.removeClass(this._errorElement,"leaflet-control-geocoder-error")},_clearResults:function(){e.DomUtil.addClass(this._alts,"leaflet-control-geocoder-alternatives-minimized"),this._selection=null,e.DomUtil.removeClass(this._errorElement,"leaflet-control-geocoder-error")},_createAlt:function(t,o){var n=document.createElement("li"),r=e.DomUtil.create("a","",n),s=this.options.showResultIcons&&t.icon?e.DomUtil.create("img","",r):null,i=t.html?void 0:document.createTextNode(t.name);return s&&(s.src=t.icon),r.href="#",r.setAttribute("data-result-index",o),t.html?r.innerHTML=t.html:r.appendChild(i),e.DomEvent.addListener(n,"click",function(o){e.DomEvent.preventDefault(o),this._geocodeResultSelected(t)},this),n},_keydown:function(t){var o=this,n=function(t){o._selection&&(e.DomUtil.removeClass(o._selection.firstChild,"leaflet-control-geocoder-selected"),o._selection=o._selection[t>0?"nextSibling":"previousSibling"]),o._selection||(o._selection=o._alts[t>0?"firstChild":"lastChild"]),o._selection&&e.DomUtil.addClass(o._selection.firstChild,"leaflet-control-geocoder-selected")};switch(t.keyCode){case 27:this.options.collapsed&&this._collapse();break;case 38:n(-1),e.DomEvent.preventDefault(t);break;case 40:n(1),e.DomEvent.preventDefault(t);break;case 13:if(this._selection){var r=parseInt(this._selection.firstChild.getAttribute("data-result-index"),10);this._geocodeResultSelected(this._results[r]),this._clearResults(),e.DomEvent.preventDefault(t)}}return!0}}),e.Control.geocoder=function(t,o){return new e.Control.Geocoder(t,o)},e.Control.Geocoder.callbackId=0,e.Control.Geocoder.jsonp=function(t,o,n,r,s){var i="_l_geocoder_"+e.Control.Geocoder.callbackId++;o[s||"callback"]=i,window[i]=e.Util.bind(n,r);var l=document.createElement("script");l.type="text/javascript",l.src=t+e.Util.getParamString(o),l.id=i,document.getElementsByTagName("head")[0].appendChild(l)},e.Control.Geocoder.getJSON=function(t,o,n){var r=new XMLHttpRequest;r.open("GET",t+e.Util.getParamString(o),!0),r.send(null),r.onreadystatechange=function(){4==r.readyState&&(200==r.status||304==req.status)&&n(JSON.parse(r.response))}},e.Control.Geocoder.template=function(t,o){return t.replace(/\{ *([\w_]+) *\}/g,function(t,n){var r=o[n];return void 0===r?r="":"function"==typeof r&&(r=r(o)),e.Control.Geocoder.htmlEscape(r)})},e.Control.Geocoder.htmlEscape=function(){function e(e){return n[e]}var t=/[&<>"'`]/g,o=/[&<>"'`]/,n={"&":"&","<":"<",">":">",'"':""","'":"'","`":"`"};return function(n){return null==n?"":n?(n=""+n,o.test(n)?n.replace(t,e):n):n+""}}(),e.Control.Geocoder.Nominatim=e.Class.extend({options:{serviceUrl:"//nominatim.openstreetmap.org/",geocodingQueryParams:{},reverseQueryParams:{},htmlTemplate:function(t){var o=t.address,n=[];return(o.road||o.building)&&n.push("{building} {road} {house_number}"),(o.city||o.town||o.village)&&n.push('{postcode} {city}{town}{village}'),(o.state||o.country)&&n.push('{state} {country}'),e.Control.Geocoder.template(n.join("
"),o,!0)}},initialize:function(t){e.Util.setOptions(this,t)},geocode:function(t,o,n){e.Control.Geocoder.jsonp(this.options.serviceUrl+"search/",e.extend({q:t,limit:5,format:"json",addressdetails:1},this.options.geocodingQueryParams),function(t){for(var r=[],s=t.length-1;s>=0;s--){for(var i=t[s].boundingbox,l=0;4>l;l++)i[l]=parseFloat(i[l]);r[s]={icon:t[s].icon,name:t[s].display_name,html:this.options.htmlTemplate?this.options.htmlTemplate(t[s]):void 0,bbox:e.latLngBounds([i[0],i[2]],[i[1],i[3]]),center:e.latLng(t[s].lat,t[s].lon),properties:t[s]}}o.call(n,r)},this,"json_callback")},reverse:function(t,o,n,r){e.Control.Geocoder.jsonp(this.options.serviceUrl+"reverse/",e.extend({lat:t.lat,lon:t.lng,zoom:Math.round(Math.log(o/256)/Math.log(2)),addressdetails:1,format:"json"},this.options.reverseQueryParams),function(t){var o,s=[];t&&t.lat&&t.lon&&(o=e.latLng(t.lat,t.lon),s.push({name:t.display_name,html:this.options.htmlTemplate?this.options.htmlTemplate(t):void 0,center:o,bounds:e.latLngBounds(o,o),properties:t})),n.call(r,s)},this,"json_callback")}}),e.Control.Geocoder.nominatim=function(t){return new e.Control.Geocoder.Nominatim(t)},e.Control.Geocoder.Bing=e.Class.extend({initialize:function(e){this.key=e},geocode:function(t,o,n){e.Control.Geocoder.jsonp("//dev.virtualearth.net/REST/v1/Locations",{query:t,key:this.key},function(t){for(var r=[],s=t.resourceSets[0].resources.length-1;s>=0;s--){var i=t.resourceSets[0].resources[s],l=i.bbox;r[s]={name:i.name,bbox:e.latLngBounds([l[0],l[1]],[l[2],l[3]]),center:e.latLng(i.point.coordinates)}}o.call(n,r)},this,"jsonp")},reverse:function(t,o,n,r){e.Control.Geocoder.jsonp("//dev.virtualearth.net/REST/v1/Locations/"+t.lat+","+t.lng,{key:this.key},function(t){for(var o=[],s=t.resourceSets[0].resources.length-1;s>=0;s--){var i=t.resourceSets[0].resources[s],l=i.bbox;o[s]={name:i.name,bbox:e.latLngBounds([l[0],l[1]],[l[2],l[3]]),center:e.latLng(i.point.coordinates)}}n.call(r,o)},this,"jsonp")}}),e.Control.Geocoder.bing=function(t){return new e.Control.Geocoder.Bing(t)},e.Control.Geocoder.RaveGeo=e.Class.extend({options:{querySuffix:"",deepSearch:!0,wordBased:!1},jsonp:function(t,o,n){var r="_l_geocoder_"+e.Control.Geocoder.callbackId++,s=[];t.prepend=r+"(",t.append=")";for(var i in t)s.push(i+"="+escape(t[i]));window[r]=e.Util.bind(o,n);var l=document.createElement("script");l.type="text/javascript",l.src=this._serviceUrl+"?"+s.join("&"),l.id=r,document.getElementsByTagName("head")[0].appendChild(l)},initialize:function(t,o,n){e.Util.setOptions(this,n),this._serviceUrl=t,this._scheme=o},geocode:function(t,o,n){e.Control.Geocoder.jsonp(this._serviceUrl,{address:t+this.options.querySuffix,scheme:this._scheme,outputFormat:"jsonp",deepSearch:this.options.deepSearch,wordBased:this.options.wordBased},function(t){for(var r=[],s=t.length-1;s>=0;s--){var i=t[s],l=e.latLng(i.y,i.x);r[s]={name:i.address,bbox:e.latLngBounds([l]),center:l}}o.call(n,r)},this)}}),e.Control.Geocoder.raveGeo=function(t,o,n){return new e.Control.Geocoder.RaveGeo(t,o,n)},e.Control.Geocoder.MapQuest=e.Class.extend({initialize:function(e){this._key=decodeURIComponent(e)},_formatName:function(){var e,t=[];for(e=0;e=0;l--)r=t.results[0].locations[l],s=e.latLng(r.latLng),i[l]={name:this._formatName(r.street,r.adminArea4,r.adminArea3,r.adminArea1),bbox:e.latLngBounds(s,s),center:s};o.call(n,i)},this)},reverse:function(t,o,n,r){e.Control.Geocoder.jsonp("//www.mapquestapi.com/geocoding/v1/reverse",{key:this._key,location:t.lat+","+t.lng,outputFormat:"json"},function(t){var o,s,i=[];if(t.results&&t.results[0].locations)for(var l=t.results[0].locations.length-1;l>=0;l--)o=t.results[0].locations[l],s=e.latLng(o.latLng),i[l]={name:this._formatName(o.street,o.adminArea4,o.adminArea3,o.adminArea1),bbox:e.latLngBounds(s,s),center:s};n.call(r,i)},this)}}),e.Control.Geocoder.mapQuest=function(t){return new e.Control.Geocoder.MapQuest(t)},e.Control.Geocoder.Mapbox=e.Class.extend({options:{service_url:"https://api.tiles.mapbox.com/v4/geocode/mapbox.places-v1/"},initialize:function(e){this._access_token=e},geocode:function(t,o,n){e.Control.Geocoder.getJSON(this.options.service_url+encodeURIComponent(t)+".json",{access_token:this._access_token},function(t){var r,s,i,l=[];if(t.features&&t.features.length)for(var a=0;a<=t.features.length-1;a++)r=t.features[a],s=e.latLng(r.center.reverse()),i=r.hasOwnProperty("bbox")?e.latLngBounds(e.latLng(r.bbox.slice(0,2).reverse()),e.latLng(r.bbox.slice(2,4).reverse())):e.latLngBounds(s,s),l[a]={name:r.place_name,bbox:i,center:s};o.call(n,l)})},reverse:function(t,o,n,r){e.Control.Geocoder.getJSON(this.options.service_url+encodeURIComponent(t.lng)+","+encodeURIComponent(t.lat)+".json",{access_token:this._access_token},function(t){var o,s,i,l=[];if(t.features&&t.features.length)for(var a=0;a<=t.features.length-1;a++)o=t.features[a],s=e.latLng(o.center.reverse()),i=o.hasOwnProperty("bbox")?e.latLngBounds(e.latLng(o.bbox.slice(0,2).reverse()),e.latLng(o.bbox.slice(2,4).reverse())):e.latLngBounds(s,s),l[a]={name:o.place_name,bbox:i,center:s};n.call(r,l)})}}),e.Control.Geocoder.mapbox=function(t){return new e.Control.Geocoder.Mapbox(t)},e.Control.Geocoder.Google=e.Class.extend({options:{service_url:"https://maps.googleapis.com/maps/api/geocode/json"},initialize:function(e){this._key=e},geocode:function(t,o,n){var r={address:t};this._key&&this._key.length&&(r.key=this._key),e.Control.Geocoder.getJSON(this.options.service_url,r,function(t){var r,s,i,l=[];if(t.results&&t.results.length)for(var a=0;a<=t.results.length-1;a++)r=t.results[a],s=e.latLng(r.geometry.location),i=e.latLngBounds(e.latLng(r.geometry.viewport.northeast),e.latLng(r.geometry.viewport.southwest)),l[a]={name:r.formatted_address,bbox:i,center:s};o.call(n,l)})},reverse:function(t,o,n,r){var s={latlng:encodeURIComponent(t.lat)+","+encodeURIComponent(t.lng)};this._key&&this._key.length&&(s.key=this._key),e.Control.Geocoder.getJSON(this.options.service_url,s,function(t){var o,s,i,l=[];if(t.results&&t.results.length)for(var a=0;a<=t.results.length-1;a++)o=t.results[a],s=e.latLng(o.geometry.location),i=e.latLngBounds(e.latLng(o.geometry.viewport.northeast),e.latLng(o.geometry.viewport.southwest)),l[a]={name:o.formatted_address,bbox:i,center:s};n.call(r,l)})}}),e.Control.Geocoder.google=function(t){return new e.Control.Geocoder.Google(t)},e.Control.Geocoder});
\ No newline at end of file
+!function(e){var t;if("function"==typeof define&&define.amd)define(["leaflet"],e);else if("undefined"!=typeof module)t=require("leaflet"),module.exports=e(t);else{if("undefined"==typeof window.L)throw"Leaflet must be loaded first";e(window.L)}}(function(e){"use strict";return e.Control.Geocoder=e.Control.extend({options:{showResultIcons:!1,collapsed:!0,expand:"click",position:"topright",placeholder:"Search...",errorMessage:"Nothing found."},_callbackId:0,initialize:function(t){e.Util.setOptions(this,t),this.options.geocoder||(this.options.geocoder=new e.Control.Geocoder.Nominatim)},onAdd:function(t){var o,n="leaflet-control-geocoder",r=e.DomUtil.create("div",n),s=e.DomUtil.create("div","leaflet-control-geocoder-icon",r),i=this._form=e.DomUtil.create("form",n+"-form",r);return this._map=t,this._container=r,o=this._input=e.DomUtil.create("input"),o.type="text",o.placeholder=this.options.placeholder,e.DomEvent.addListener(o,"keydown",this._keydown,this),this._errorElement=document.createElement("div"),this._errorElement.className=n+"-form-no-error",this._errorElement.innerHTML=this.options.errorMessage,this._alts=e.DomUtil.create("ul",n+"-alternatives leaflet-control-geocoder-alternatives-minimized"),i.appendChild(o),i.appendChild(this._errorElement),r.appendChild(this._alts),e.DomEvent.addListener(i,"submit",this._geocode,this),this.options.collapsed?"click"===this.options.expand?e.DomEvent.addListener(s,"click",function(e){0===e.button&&2!==e.detail&&this._toggle()},this):(e.DomEvent.addListener(s,"mouseover",this._expand,this),e.DomEvent.addListener(s,"mouseout",this._collapse,this),this._map.on("movestart",this._collapse,this)):this._expand(),e.DomEvent.disableClickPropagation(r),r},_geocodeResult:function(t){if(e.DomUtil.removeClass(this._container,"leaflet-control-geocoder-throbber"),1===t.length)this._geocodeResultSelected(t[0]);else if(t.length>0){this._alts.innerHTML="",this._results=t,e.DomUtil.removeClass(this._alts,"leaflet-control-geocoder-alternatives-minimized");for(var o=0;o=0?this._collapse():this._expand()},_expand:function(){e.DomUtil.addClass(this._container,"leaflet-control-geocoder-expanded"),this._input.select()},_collapse:function(){this._container.className=this._container.className.replace(" leaflet-control-geocoder-expanded",""),e.DomUtil.addClass(this._alts,"leaflet-control-geocoder-alternatives-minimized"),e.DomUtil.removeClass(this._errorElement,"leaflet-control-geocoder-error")},_clearResults:function(){e.DomUtil.addClass(this._alts,"leaflet-control-geocoder-alternatives-minimized"),this._selection=null,e.DomUtil.removeClass(this._errorElement,"leaflet-control-geocoder-error")},_createAlt:function(t,o){var n=document.createElement("li"),r=e.DomUtil.create("a","",n),s=this.options.showResultIcons&&t.icon?e.DomUtil.create("img","",r):null,i=t.html?void 0:document.createTextNode(t.name);return s&&(s.src=t.icon),r.href="#",r.setAttribute("data-result-index",o),t.html?r.innerHTML=t.html:r.appendChild(i),e.DomEvent.addListener(n,"click",function(o){e.DomEvent.preventDefault(o),this._geocodeResultSelected(t)},this),n},_keydown:function(t){var o=this,n=function(t){o._selection&&(e.DomUtil.removeClass(o._selection.firstChild,"leaflet-control-geocoder-selected"),o._selection=o._selection[t>0?"nextSibling":"previousSibling"]),o._selection||(o._selection=o._alts[t>0?"firstChild":"lastChild"]),o._selection&&e.DomUtil.addClass(o._selection.firstChild,"leaflet-control-geocoder-selected")};switch(t.keyCode){case 27:this.options.collapsed&&this._collapse();break;case 38:n(-1),e.DomEvent.preventDefault(t);break;case 40:n(1),e.DomEvent.preventDefault(t);break;case 13:if(this._selection){var r=parseInt(this._selection.firstChild.getAttribute("data-result-index"),10);this._geocodeResultSelected(this._results[r]),this._clearResults(),e.DomEvent.preventDefault(t)}}return!0}}),e.Control.geocoder=function(t,o){return new e.Control.Geocoder(t,o)},e.Control.Geocoder.callbackId=0,e.Control.Geocoder.jsonp=function(t,o,n,r,s){var i="_l_geocoder_"+e.Control.Geocoder.callbackId++;o[s||"callback"]=i,window[i]=e.Util.bind(n,r);var l=document.createElement("script");l.type="text/javascript",l.src=t+e.Util.getParamString(o),l.id=i,document.getElementsByTagName("head")[0].appendChild(l)},e.Control.Geocoder.getJSON=function(t,o,n){var r=new XMLHttpRequest;r.open("GET",t+e.Util.getParamString(o),!0),r.send(null),r.onreadystatechange=function(){4==r.readyState&&(200==r.status||304==req.status)&&n(JSON.parse(r.response))}},e.Control.Geocoder.template=function(t,o){return t.replace(/\{ *([\w_]+) *\}/g,function(t,n){var r=o[n];return void 0===r?r="":"function"==typeof r&&(r=r(o)),e.Control.Geocoder.htmlEscape(r)})},e.Control.Geocoder.htmlEscape=function(){function e(e){return n[e]}var t=/[&<>"'`]/g,o=/[&<>"'`]/,n={"&":"&","<":"<",">":">",'"':""","'":"'","`":"`"};return function(n){return null==n?"":n?(n=""+n,o.test(n)?n.replace(t,e):n):n+""}}(),e.Control.Geocoder.Nominatim=e.Class.extend({options:{serviceUrl:"//nominatim.openstreetmap.org/",geocodingQueryParams:{},reverseQueryParams:{},htmlTemplate:function(t){var o=t.address,n=[];return(o.road||o.building)&&n.push("{building} {road} {house_number}"),(o.city||o.town||o.village)&&n.push('{postcode} {city} {town} {village}'),(o.state||o.country)&&n.push('{state} {country}'),e.Control.Geocoder.template(n.join("
"),o,!0)}},initialize:function(t){e.Util.setOptions(this,t)},geocode:function(t,o,n){e.Control.Geocoder.jsonp(this.options.serviceUrl+"search/",e.extend({q:t,limit:5,format:"json",addressdetails:1},this.options.geocodingQueryParams),function(t){for(var r=[],s=t.length-1;s>=0;s--){for(var i=t[s].boundingbox,l=0;4>l;l++)i[l]=parseFloat(i[l]);r[s]={icon:t[s].icon,name:t[s].display_name,html:this.options.htmlTemplate?this.options.htmlTemplate(t[s]):void 0,bbox:e.latLngBounds([i[0],i[2]],[i[1],i[3]]),center:e.latLng(t[s].lat,t[s].lon),properties:t[s]}}o.call(n,r)},this,"json_callback")},reverse:function(t,o,n,r){e.Control.Geocoder.jsonp(this.options.serviceUrl+"reverse/",e.extend({lat:t.lat,lon:t.lng,zoom:Math.round(Math.log(o/256)/Math.log(2)),addressdetails:1,format:"json"},this.options.reverseQueryParams),function(t){var o,s=[];t&&t.lat&&t.lon&&(o=e.latLng(t.lat,t.lon),s.push({name:t.display_name,html:this.options.htmlTemplate?this.options.htmlTemplate(t):void 0,center:o,bounds:e.latLngBounds(o,o),properties:t})),n.call(r,s)},this,"json_callback")}}),e.Control.Geocoder.nominatim=function(t){return new e.Control.Geocoder.Nominatim(t)},e.Control.Geocoder.Bing=e.Class.extend({initialize:function(e){this.key=e},geocode:function(t,o,n){e.Control.Geocoder.jsonp("//dev.virtualearth.net/REST/v1/Locations",{query:t,key:this.key},function(t){for(var r=[],s=t.resourceSets[0].resources.length-1;s>=0;s--){var i=t.resourceSets[0].resources[s],l=i.bbox;r[s]={name:i.name,bbox:e.latLngBounds([l[0],l[1]],[l[2],l[3]]),center:e.latLng(i.point.coordinates)}}o.call(n,r)},this,"jsonp")},reverse:function(t,o,n,r){e.Control.Geocoder.jsonp("//dev.virtualearth.net/REST/v1/Locations/"+t.lat+","+t.lng,{key:this.key},function(t){for(var o=[],s=t.resourceSets[0].resources.length-1;s>=0;s--){var i=t.resourceSets[0].resources[s],l=i.bbox;o[s]={name:i.name,bbox:e.latLngBounds([l[0],l[1]],[l[2],l[3]]),center:e.latLng(i.point.coordinates)}}n.call(r,o)},this,"jsonp")}}),e.Control.Geocoder.bing=function(t){return new e.Control.Geocoder.Bing(t)},e.Control.Geocoder.RaveGeo=e.Class.extend({options:{querySuffix:"",deepSearch:!0,wordBased:!1},jsonp:function(t,o,n){var r="_l_geocoder_"+e.Control.Geocoder.callbackId++,s=[];t.prepend=r+"(",t.append=")";for(var i in t)s.push(i+"="+escape(t[i]));window[r]=e.Util.bind(o,n);var l=document.createElement("script");l.type="text/javascript",l.src=this._serviceUrl+"?"+s.join("&"),l.id=r,document.getElementsByTagName("head")[0].appendChild(l)},initialize:function(t,o,n){e.Util.setOptions(this,n),this._serviceUrl=t,this._scheme=o},geocode:function(t,o,n){e.Control.Geocoder.jsonp(this._serviceUrl,{address:t+this.options.querySuffix,scheme:this._scheme,outputFormat:"jsonp",deepSearch:this.options.deepSearch,wordBased:this.options.wordBased},function(t){for(var r=[],s=t.length-1;s>=0;s--){var i=t[s],l=e.latLng(i.y,i.x);r[s]={name:i.address,bbox:e.latLngBounds([l]),center:l}}o.call(n,r)},this)}}),e.Control.Geocoder.raveGeo=function(t,o,n){return new e.Control.Geocoder.RaveGeo(t,o,n)},e.Control.Geocoder.MapQuest=e.Class.extend({initialize:function(e){this._key=decodeURIComponent(e)},_formatName:function(){var e,t=[];for(e=0;e=0;l--)r=t.results[0].locations[l],s=e.latLng(r.latLng),i[l]={name:this._formatName(r.street,r.adminArea4,r.adminArea3,r.adminArea1),bbox:e.latLngBounds(s,s),center:s};o.call(n,i)},this)},reverse:function(t,o,n,r){e.Control.Geocoder.jsonp("//www.mapquestapi.com/geocoding/v1/reverse",{key:this._key,location:t.lat+","+t.lng,outputFormat:"json"},function(t){var o,s,i=[];if(t.results&&t.results[0].locations)for(var l=t.results[0].locations.length-1;l>=0;l--)o=t.results[0].locations[l],s=e.latLng(o.latLng),i[l]={name:this._formatName(o.street,o.adminArea4,o.adminArea3,o.adminArea1),bbox:e.latLngBounds(s,s),center:s};n.call(r,i)},this)}}),e.Control.Geocoder.mapQuest=function(t){return new e.Control.Geocoder.MapQuest(t)},e.Control.Geocoder.Mapbox=e.Class.extend({options:{service_url:"https://api.tiles.mapbox.com/v4/geocode/mapbox.places-v1/"},initialize:function(e){this._access_token=e},geocode:function(t,o,n){e.Control.Geocoder.getJSON(this.options.service_url+encodeURIComponent(t)+".json",{access_token:this._access_token},function(t){var r,s,i,l=[];if(t.features&&t.features.length)for(var a=0;a<=t.features.length-1;a++)r=t.features[a],s=e.latLng(r.center.reverse()),i=r.hasOwnProperty("bbox")?e.latLngBounds(e.latLng(r.bbox.slice(0,2).reverse()),e.latLng(r.bbox.slice(2,4).reverse())):e.latLngBounds(s,s),l[a]={name:r.place_name,bbox:i,center:s};o.call(n,l)})},suggest:function(e,t,o){return this.geocode(e,t,o)},reverse:function(t,o,n,r){e.Control.Geocoder.getJSON(this.options.service_url+encodeURIComponent(t.lng)+","+encodeURIComponent(t.lat)+".json",{access_token:this._access_token},function(t){var o,s,i,l=[];if(t.features&&t.features.length)for(var a=0;a<=t.features.length-1;a++)o=t.features[a],s=e.latLng(o.center.reverse()),i=o.hasOwnProperty("bbox")?e.latLngBounds(e.latLng(o.bbox.slice(0,2).reverse()),e.latLng(o.bbox.slice(2,4).reverse())):e.latLngBounds(s,s),l[a]={name:o.place_name,bbox:i,center:s};n.call(r,l)})}}),e.Control.Geocoder.mapbox=function(t){return new e.Control.Geocoder.Mapbox(t)},e.Control.Geocoder.Google=e.Class.extend({options:{service_url:"https://maps.googleapis.com/maps/api/geocode/json"},initialize:function(e){this._key=e},geocode:function(t,o,n){var r={address:t};this._key&&this._key.length&&(r.key=this._key),e.Control.Geocoder.getJSON(this.options.service_url,r,function(t){var r,s,i,l=[];if(t.results&&t.results.length)for(var a=0;a<=t.results.length-1;a++)r=t.results[a],s=e.latLng(r.geometry.location),i=e.latLngBounds(e.latLng(r.geometry.viewport.northeast),e.latLng(r.geometry.viewport.southwest)),l[a]={name:r.formatted_address,bbox:i,center:s};o.call(n,l)})},reverse:function(t,o,n,r){var s={latlng:encodeURIComponent(t.lat)+","+encodeURIComponent(t.lng)};this._key&&this._key.length&&(s.key=this._key),e.Control.Geocoder.getJSON(this.options.service_url,s,function(t){var o,s,i,l=[];if(t.results&&t.results.length)for(var a=0;a<=t.results.length-1;a++)o=t.results[a],s=e.latLng(o.geometry.location),i=e.latLngBounds(e.latLng(o.geometry.viewport.northeast),e.latLng(o.geometry.viewport.southwest)),l[a]={name:o.formatted_address,bbox:i,center:s};n.call(r,l)})}}),e.Control.Geocoder.google=function(t){return new e.Control.Geocoder.Google(t)},e.Control.Geocoder});
\ No newline at end of file
diff --git a/assets/control-geocoder/README.md b/assets/control-geocoder/README.md
index f2b100f..70c700b 100644
--- a/assets/control-geocoder/README.md
+++ b/assets/control-geocoder/README.md
@@ -2,7 +2,7 @@
I need to take some of your time. I can't believe we let shit like [the Kathy Sierra incident](http://www.wired.com/2014/10/trolls-will-always-win/) or [what happened to Brianna Wu](https://twitter.com/Spacekatgal/status/520739878993420290) happen over and over again. I can't believe we, the open source community, let [sexist, misogynous shit happen over and over again](http://geekfeminism.wikia.com/wiki/Timeline_of_incidents).
-I strongly believe that it is my — and your — duty to make the open source community, as well as the tech community at large, a community where everyone feel welcome and is accepted. At the very minimum, that means making sure the community and its forums both _are_ safe, and are perceived as safe. It means being friendly and inclusive, even when you disagree with people. It means not shrugging of discussions about sexism and inclusiveness with [handwaving about censorship and free speech](https://josm.openstreetmap.de/ticket/10568). For a more elaborate document on what that means, [the NPM Code of Conduct](http://www.npmjs.com/policies/conduct) is a good start, [Geek Feminism's resources for allies](http://geekfeminism.wikia.com/wiki/Resources_for_allies) contains much more.
+I strongly believe that it is my — and your — duty to make the open source community, as well as the tech community at large, a community where everyone feel welcome and is accepted. At the very minimum, that means making sure the community and its forums both _are_ safe, and are perceived as safe. It means being friendly and inclusive, even when you disagree with people. It means not shrugging off discussions about sexism and inclusiveness with [handwaving about censorship and free speech](https://josm.openstreetmap.de/ticket/10568). For a more elaborate document on what that means, [the NPM Code of Conduct](http://www.npmjs.com/policies/conduct) is a good start, [Geek Feminism's resources for allies](http://geekfeminism.wikia.com/wiki/Resources_for_allies) contains much more.
While I can't force anyone to do anything, if you happen to disagree with this, I ask of you not to use any of the open source I have published. Nor am I interested in contributions from people who can't accept or act respectfully towards other humans regardless of gender identity, sexual orientation, disability, ethnicity, religion, age, physical appearance, body size, race, or similar personal characteristics. If you think feminism, anti-racism or the LGBT movement is somehow wrong, disturbing or irrelevant, I ask you to go elsewhere to find software.
diff --git a/assets/control-geocoder/bower.json b/assets/control-geocoder/bower.json
new file mode 100644
index 0000000..c037d15
--- /dev/null
+++ b/assets/control-geocoder/bower.json
@@ -0,0 +1,30 @@
+{
+ "name": "leaflet-control-geocoder",
+ "version": "1.1.0",
+ "homepage": "https://github.com/perliedman/leaflet-control-geocoder",
+ "authors": [
+ "Per Liedman "
+ ],
+ "description": "Extendable geocoder with builtin OSM/Nominatim support",
+ "main": "Control.Geocoder.js",
+ "moduleType": [
+ "amd",
+ "globals"
+ ],
+ "keywords": [
+ "leaflet",
+ "geocoder",
+ "nominatim"
+ ],
+ "license": "BSD-2-Clause",
+ "ignore": [
+ "**/.*",
+ "node_modules",
+ "bower_components",
+ "test",
+ "tests"
+ ],
+ "dependencies": {
+ "leaflet": "~0.7.2"
+ }
+}
diff --git a/assets/control-geocoder/package.json b/assets/control-geocoder/package.json
index eeb8a74..020bf3b 100644
--- a/assets/control-geocoder/package.json
+++ b/assets/control-geocoder/package.json
@@ -1,6 +1,6 @@
{
"name": "leaflet-control-geocoder",
- "version": "1.0.0",
+ "version": "1.1.0",
"description": "Extendable geocoder with builtin OSM/Nominatim support",
"main": "Control.Geocoder.js",
"scripts": {
diff --git a/module/config/config.php b/module/config/config.php
index 11ab514..91b0098 100644
--- a/module/config/config.php
+++ b/module/config/config.php
@@ -72,10 +72,10 @@ $GLOBALS['LEAFLET_LIBRARIES']['leaflet-fullscreen'] = array
'javascript' => 'assets/leaflet/libs/leaflet-fullscreen/Control.FullScreen.min.js'
);
-$GLOBALS['LEAFLET_LIBRARIES']['leaflet-control-geocode'] = array
+$GLOBALS['LEAFLET_LIBRARIES']['leaflet-control-geocoder'] = array
(
'name' => 'Leaflet Control Geocoder',
- 'version' => '1.0.0',
+ 'version' => '1.1.0',
'license' => 'BSD-2-Clause',
'homepage' => 'https://github.com/perliedman/leaflet-control-geocoder',
'css' => 'assets/leaflet/libs/control-geocoder/Control.Geocoder.min.css',