version 0.5.2

This commit is contained in:
Norbert Renner 2015-08-27 20:50:04 +02:00
parent 6eea7b5597
commit a256eb2fb8
3 changed files with 3 additions and 3 deletions

2
dist/brouter-web.js vendored
View file

@ -39,7 +39,7 @@ BR.Elevation=L.Control.Elevation.extend({options:{position:"leftpane",width:385,
L.drawLocal.draw.toolbar.buttons.circle="Draw no-go area (circle)",L.drawLocal.edit.toolbar.buttons.edit="Edit no-go areas",L.drawLocal.edit.toolbar.buttons.remove="Delete no-go areas",BR.NogoAreas=L.Control.Draw.extend({initialize:function(){this.drawnItems=new L.FeatureGroup,L.Control.Draw.prototype.initialize.call(this,{draw:{position:"topleft",polyline:!1,polygon:!1,circle:!0,rectangle:!1,marker:!1},edit:{featureGroup:this.drawnItems,edit:{selectedPathOptions:{}},remove:!0}})},onAdd:function(t){return t.addLayer(this.drawnItems),t.on("draw:created",function(t){var e=t.layer;this.drawnItems.addLayer(e),this._fireUpdate()},this),t.on("draw:editstart",function(){this.drawnItems.eachLayer(function(t){t.on("edit",function(){this._fireUpdate()},this)},this)},this),t.on("draw:deleted",function(){this._fireUpdate()},this),L.Control.Draw.prototype.onAdd.call(this,t)},getOptions:function(){return{nogos:this.drawnItems.getLayers()}},setOptions:function(t){var e=t.nogos;if(e){this.drawnItems.clearLayers();for(var o=0;o<e.length;o++)this.drawnItems.addLayer(e[o])}},_fireUpdate:function(){this.fire("update",{options:this.getOptions()})}}),BR.NogoAreas.include(L.Mixin.Events);
L.Control.Permalink.include({_update_href:function(){var t=this.getParamString(this._params),o="?";this.options.useAnchor&&(o="#");var i=this._url_base+o+t.slice(1);return this._href&&this._href.setAttribute("href",i),this.options.useLocation&&location.replace("#"+t.slice(1)),i},getParamString:function(t,o,i){var n=[];for(var s in t)n.push("layer"===s?encodeURIComponent(i?s.toUpperCase():s)+"="+encodeURIComponent(t[s]):i?s.toUpperCase():s+"="+t[s]);return(o&&-1!==o.indexOf("?")?"&":"?")+n.join("&")}}),L.Control.Permalink.include({_set_center:function(t){var o=t.params;void 0!==o.zoom&&void 0!==o.lat&&void 0!==o.lon&&this._map.setView(new L.LatLng(o.lat,o.lon),o.zoom,{reset:!0})}}),L.Control.Permalink.include({initialize_routing:function(){this.on("update",this._set_routing,this),this.on("add",this._onadd_routing,this)},_onadd_routing:function(){this.options.routingOptions.on("update",this._update_routing,this),this.options.nogos.on("update",this._update_routing,this),this.options.routing.on("routing:routeWaypointEnd",this._update_routing,this),this.options.routing.on("waypoint:click",function(t){var o=t.marker._routing;o.prevMarker||o.nextMarker||this._update_routing(t)},this)},_update_routing:function(t){var o=this.options.router,i=this.options.routing,n=this.options.routingOptions,s=i.getWaypoints(),r=o.getUrlParams(s);t&&t.options&&o.setOptions(t.options),r.profile&&r.profile===n.getCustomProfile()&&(r.profile=null),this._update(r)},_set_routing:function(t){var o=this.options.router,i=this.options.routing,n=this.options.routingOptions,s=this.options.nogos,r=this.options.profile,e=o.parseUrlParams(t.params);o.setOptions(e),n.setOptions(e),s.setOptions(e),r.update(e),e.lonlats&&(i.draw(!1),i.clear(),i.setWaypoints(e.lonlats))}});
L.Routing.Draw.prototype._hideTrailer=function(){0!==this._trailer.options.opacity&&this._trailer.setStyle({opacity:0})},BR.Routing=L.Routing.extend({options:{position:"topright",icons:{draw:!1,opacity:1},snapping:null,zIndexOffset:-2e3},onAdd:function(t){function i(){this._hidden&&this._parent._waypoints._first&&this._show()}function e(){!this._hidden&&this._parent._waypoints._first&&this._hide()}this._segmentsCasing=(new L.FeatureGroup).addTo(t);var n=L.Routing.prototype.onAdd.call(this,t);return this._segments.on("layeradd",this._addSegmentCasing,this),this._segments.on("layerremove",this._removeSegmentCasing,this),this._waypoints.on("layeradd",this._setMarkerOpacity,this),this.on("waypoint:mouseover",function(){this._dragging||(this._mouseMarker.setOpacity(0),this._map.off("mousemove",this._segmentOnMousemove,this),this._suspended=!0)},this._edit),this.on("waypoint:mouseout",function(t){this._segmentOnMouseover(t),this._suspended=!1},this._edit),this._edit._mouseMarker.setIcon(L.divIcon({className:"line-mouse-marker",iconAnchor:[8,8],iconSize:[16,16]})),this._draw.on("enabled",function(){L.DomUtil.addClass(t.getContainer(),"routing-draw-enabled"),this._marker._icon.style.pointerEvents="none",this._parent.off("waypoint:mouseout",this._catchWaypointEvent,this),this.on("waypoint:mouseout",function(t){this._parent._edit._suspended||this._catchWaypointEvent(t)},this)}),this._draw.on("disabled",function(){L.DomUtil.removeClass(t.getContainer(),"routing-draw-enabled")}),this._draw.on("enabled",function(){this._map.on("mouseout",e,this),this._map.on("mouseover",i,this),L.DomEvent.on(this._map._controlContainer,"mouseout",i,this),L.DomEvent.on(this._map._controlContainer,"mouseover",e,this)}),this._draw.on("disabled",function(){this._map.off("mouseout",e,this),this._map.off("mouseover",i,this),L.DomEvent.off(this._map._controlContainer,"mouseout",i,this),L.DomEvent.off(this._map._controlContainer,"mouseover",e,this)}),this.on("waypoint:click",function(){this._hidden&&!this._parent._waypoints._first&&(this._show(),this._hideTrailer())},this._draw),L.DomEvent.removeListener(this._container,"keyup",this._keyupListener),L.DomEvent.addListener(document,"keyup",this._keyupListener,this),this.draw(!0),n},_addSegmentCasing:function(t){var i=L.polyline(t.layer.getLatLngs(),this.options.styles.trackCasing);this._segmentsCasing.addLayer(i),t.layer._casing=i,this._segments.bringToFront()},_removeSegmentCasing:function(t){this._segmentsCasing.removeLayer(t.layer._casing)},setOpacity:function(t){var i=1-Math.sqrt(1-t);this.options.styles.track.opacity=i,this.options.styles.trackCasing.opacity=i,this.options.icons.opacity=t,this._segments.setStyle({opacity:i}),this._segmentsCasing.setStyle({opacity:i}),this._waypoints.eachLayer(function(i){i.setOpacity(t)})},_setMarkerOpacity:function(t){t.layer.setOpacity(this.options.icons.opacity)},_removeMarkerEvents:function(t){t.off("mouseover",this._fireWaypointEvent,this),t.off("mouseout",this._fireWaypointEvent,this),t.off("dragstart",this._fireWaypointEvent,this),t.off("dragend",this._fireWaypointEvent,this),t.off("drag",this._fireWaypointEvent,this),t.off("click",this._fireWaypointEvent,this)},clear:function(){var t=this._draw._enabled,i=this._waypoints._first;if(this.draw(!1),null!==i){for(this._removeMarkerEvents(i);i._routing.nextMarker;){var e=i._routing.nextMarker;this._removeMarkerEvents(e),i=e}this._waypoints._first=null,this._waypoints._last=null,this._waypoints.clearLayers(),this._segments.clearLayers(),t&&this.draw(!0)}},setWaypoints:function(t,i){var e,n,s=0,o=this,a=function(e){s++,n=n||e,s>=t.length&&(o.fire("routing:setWaypointsEnd",{err:n}),i&&i(n))};for(this.fire("routing:setWaypointsStart"),e=0;t&&e<t.length;e++)this.addWaypoint(t[e],this._waypoints._last,null,a)},toPolyline:function(){var t=[];return this._eachSegment(function(i,e,n){n&&n.feature&&(t=t.concat(n.getLatLngs()))}),L.polyline(t)},_routeSegment:function(t,i,e){var n;t&&null!==t._routing.nextLine&&(t._routing.nextLine.options.color="dimgray",t._routing.nextLine._updateStyle()),t&&i&&(n=new L.Polyline([t.getLatLng(),i.getLatLng()],{color:this.options.styles.track.color,opacity:this.options.styles.trailer.opacity,dashArray:[10,10],className:"loading-trailer"}),n.addTo(this._map)),L.Routing.prototype._routeSegment.call(this,t,i,L.bind(function(t,i){n&&this._map.removeLayer(n),e(t,i)},this))},getSegments:function(){var t=[];return this._eachSegment(function(i,e,n){n&&n.feature&&t.push(n)}),t},_keyupListener:function(t){27===t.keyCode?this._draw.disable():L.Routing.prototype._keyupListener.call(this,t)}});
BR.Search=L.Control.Geocoder.extend({options:{geocoder:new L.Control.Geocoder.Nominatim({serviceUrl:"https://open.mapquestapi.com/nominatim/v1/"}),position:"topleft"},onAdd:function(o){return o.attributionControl.addAttribution('Nominatim Search Courtesy of <a href="http://www.mapquest.com/" target="_blank">MapQuest</a> <img src="http://developer.mapquest.com/content/osm/mq_logo.png">'),L.Control.Geocoder.prototype.onAdd.call(this,o)},markGeocode:function(o){return this._map.fitBounds(o.bbox,{maxZoom:17}),this.clear(),this._geocodeMarker=new L.CircleMarker(o.center,{clickable:!1,color:"red",opacity:1,weight:3}).addTo(this._map),this},clear:function(){this._geocodeMarker&&this._map.removeLayer(this._geocodeMarker)}});
BR.Search=L.Control.Geocoder.extend({options:{geocoder:new L.Control.Geocoder.Nominatim({serviceUrl:"https://nominatim.openstreetmap.org/"}),position:"topleft"},onAdd:function(o){return o.attributionControl.addAttribution('search by <a href="http://wiki.openstreetmap.org/wiki/Nominatim" target="_blank">Nominatim</a>'),L.Control.Geocoder.prototype.onAdd.call(this,o)},markGeocode:function(o){return this._map.fitBounds(o.bbox,{maxZoom:17}),this.clear(),this._geocodeMarker=new L.CircleMarker(o.center,{clickable:!1,color:"red",opacity:1,weight:3}).addTo(this._map),this},clear:function(){this._geocodeMarker&&this._map.removeLayer(this._geocodeMarker)}});
BR.Control=L.Control.extend({options:{position:"leftpane"},onAdd:function(){var o,t,n=L.DomUtil.create("div","info");this.options.heading?(o=L.DomUtil.create("div","heading",n),o.innerHTML=this.options.heading,this._content=L.DomUtil.create("div","content",n)):this._content=n,this.options.divId&&(t=L.DomUtil.get(this.options.divId),L.DomUtil.removeClass(t,"hidden"),this._content.appendChild(t));var i=L.DomEvent.stopPropagation;return L.DomEvent.on(n,"click",i).on(n,"mousedown",i).on(n,"dblclick",i).on(n,"mousewheel",i).on(n,"MozMousePixelScroll",i),n}});
BR.Download=BR.Control.extend({options:{heading:"Download"},onAdd:function(o){var d=BR.Control.prototype.onAdd.call(this,o);return d},update:function(o){var d='<div class="value">';o.gpx&&(d+='<a href="'+o.gpx+'" download="brouter.gpx">GPX</a> &middot; ',d+='<a href="'+o.kml+'" download="brouter.kml">KML</a> &middot; ',d+='<a href="'+o.geojson+'" download="brouter.geojson">GeoJSON</a> &middot; ',d+='<a href="'+o.csv+'" download="brouter.tsv">data CSV</a>'),d+="</div>",this._content.innerHTML=d}});
BR.Message=L.Class.extend({options:{alert:!1},initialize:function(i,s){L.setOptions(this,s),this.id=i},_show:function(i,s){var e=L.DomUtil.get(this.id),n="warning"===s?"glyphicon-warning-sign":"glyphicon-remove",t="warning"===s?"alert-warning":"alert-danger";e.innerHTML='<div class="alert '+t+' alert-dismissible fade in" role="alert"> <button type="button" class="close" data-dismiss="alert" aria-label="Close"> <span aria-hidden="true">&times;</span> </button> <span class="glyphicon '+n+'" aria-hidden="true"/></span>'+i+"</div>",this.options.alert&&$("#"+this.id+" .alert").alert()},hide:function(){$("#"+this.id+" .alert").alert("close")},showError:function(i){this._show(i,"error")},showWarning:function(i){this._show(i,"warning")}}),BR.message=new BR.Message("message");

File diff suppressed because one or more lines are too long

View file

@ -13,7 +13,7 @@
<div id="message"></div>
<div id="header" class="hidden">
<div class="title"><span class="title-name">BRouter-Web</span>&nbsp;&nbsp;<sup class="version">0.5.1</sup></div>
<div class="title"><span class="title-name">BRouter-Web</span>&nbsp;&nbsp;<sup class="version">0.5.2</sup></div>
<div class="header-text">
'esc' or 'q' to disable drawing, 'd' to enable drawing<br>
Web client for <a href="http://brouter.de/" target="_blank">BRouter</a> &middot; <i>work in progress</i> &middot;