2017-10-17 09:56:11 +02:00
|
|
|
!function(e){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{var t;t="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,t.leafletControlGeocoder=e()}}(function(){return function e(t,o,n){function s(r,a){if(!o[r]){if(!t[r]){var l="function"==typeof require&&require;if(!a&&l)return l(r,!0);if(i)return i(r,!0);var c=new Error("Cannot find module '"+r+"'");throw c.code="MODULE_NOT_FOUND",c}var d=o[r]={exports:{}};t[r][0].call(d.exports,function(e){var o=t[r][1][e];return s(o||e)},d,d.exports,e,t,o,n)}return o[r].exports}for(var i="function"==typeof require&&require,r=0;r<n.length;r++)s(n[r]);return s}({1:[function(e,t,o){(function(o){var n="undefined"!=typeof window?window.L:void 0!==o?o.L:null,s=e("./geocoders/nominatim").class;t.exports={class:n.Control.extend({options:{showResultIcons:!1,collapsed:!0,expand:"click",position:"topright",placeholder:"Search...",errorMessage:"Nothing found.",suggestMinLength:3,suggestTimeout:250,defaultMarkGeocode:!0},includes:n.Mixin.Events,initialize:function(e){n.Util.setOptions(this,e),this.options.geocoder||(this.options.geocoder=new s),this._requestCount=0},onAdd:function(e){var t,o="leaflet-control-geocoder",s=n.DomUtil.create("div",o+" leaflet-bar"),i=n.DomUtil.create("button",o+"-icon",s),r=this._form=n.DomUtil.create("div",o+"-form",s);return this._map=e,this._container=s,i.innerHTML=" ",i.type="button",t=this._input=n.DomUtil.create("input","",r),t.type="text",t.placeholder=this.options.placeholder,this._errorElement=n.DomUtil.create("div",o+"-form-no-error",s),this._errorElement.innerHTML=this.options.errorMessage,this._alts=n.DomUtil.create("ul",o+"-alternatives leaflet-control-geocoder-alternatives-minimized",s),n.DomEvent.disableClickPropagation(this._alts),n.DomEvent.addListener(t,"keydown",this._keydown,this),n.DomEvent.addListener(t,"blur",function(){this.options.collapsed&&!this._preventBlurCollapse&&this._collapse(),this._preventBlurCollapse=!1},this),this.options.collapsed?"click"===this.options.expand?n.DomEvent.addListener(i,"click",function(e){0===e.button&&2!==e.detail&&this._toggle()},this):(n.DomEvent.addListener(i,"mouseover",this._expand,this),n.DomEvent.addListener(i,"mouseout",this._collapse,this),this._map.on("movestart",this._collapse,this)):(n.DomEvent.addListener(i,"click",function(e){this._geocode(e)},this),this._expand()),this.options.defaultMarkGeocode&&this.on("markgeocode",this.markGeocode,this),this.on("startgeocode",function(){n.DomUtil.addClass(this._container,"leaflet-control-geocoder-throbber")},this),this.on("finishgeocode",function(){n.DomUtil.removeClass(this._container,"leaflet-control-geocoder-throbber")},this),n.DomEvent.disableClickPropagation(s),s},_geocodeResult:function(e,t){if(t||1!==e.length)if(e.length>0){this._alts.innerHTML="",this._results=e,n.DomUtil.removeClass(this._alts,"leaflet-control-geocoder-alternatives-minimized");for(var o=0;o<e.length;o++)this._alts.appendChild(this._createAlt(e[o],o))}else n.DomUtil.addClass(this._errorElement,"leaflet-control-geocoder-error");else this._geocodeResultSelected(e[0])},markGeocode:function(e){return e=e.geocode||e,this._map.fitBounds(e.bbox),this._geocodeMarker&&this._map.removeLayer(this._geocodeMarker),this._geocodeMarker=new n.Marker(e.center).bindPopup(e.html||e.name).addTo(this._map).openPopup(),this},_geocode:function(e){var t=++this._requestCount,o=e?"suggest":"geocode",n={input:this._input.value};this._lastGeocode=this._input.value,e||this._clearResults(),this.fire("start"+o,n),this.options.geocoder[o](this._input.value,function(s){t===this._requestCount&&(n.results=s,this.fire("finish"+o,n),this._geocodeResult(s,e))},this)},_geocodeResultSelected:function(e){this.options.collapsed||this._clearResults(),this.fire("markgeocode",{geocode:e})},_toggle:function(){this._container.className.indexOf("leaflet-control-geocoder-expanded")>=0?this._collapse():this._expand()},_expand:function(){n.DomUtil.addClass(this._container,"leaflet-control-g
|