kopia lustrzana https://github.com/projecthorus/chasemapper
				
				
				
			Include routing engine files, but do not use them (yet)
							rodzic
							
								
									85d849f7d0
								
							
						
					
					
						commit
						78f3dbdc4b
					
				|  | @ -109,3 +109,6 @@ html, body, #map { | |||
|     box-shadow: none !important; | ||||
| } | ||||
| 
 | ||||
| .leaflet-control-container .leaflet-routing-container-hide { | ||||
|     display: none; | ||||
| } | ||||
|  | @ -0,0 +1,258 @@ | |||
| .leaflet-routing-container, .leaflet-routing-error { | ||||
|     width: 320px; | ||||
|     background-color: white; | ||||
|     padding-top: 4px; | ||||
|     transition: all 0.2s ease; | ||||
|     box-sizing: border-box; | ||||
| } | ||||
| 
 | ||||
| .leaflet-control-container .leaflet-routing-container-hide { | ||||
|     width: 32px; | ||||
|     height: 32px; | ||||
| } | ||||
| 
 | ||||
| .leaflet-routing-container h2 { | ||||
|     font-size: 14px; | ||||
| } | ||||
| 
 | ||||
| .leaflet-routing-container h3 { | ||||
|     font-size: 12px; | ||||
|     font-weight: normal; | ||||
| } | ||||
| 
 | ||||
| .leaflet-routing-collapsible .leaflet-routing-geocoders { | ||||
|     margin-top: 20px; | ||||
| } | ||||
| 
 | ||||
| .leaflet-routing-alt, .leaflet-routing-geocoders, .leaflet-routing-error { | ||||
|     padding: 6px; | ||||
|     margin-top: 2px; | ||||
|     margin-bottom: 6px; | ||||
|     border-bottom: 1px solid #ccc; | ||||
|     max-height: 320px; | ||||
|     overflow-y: auto; | ||||
|     transition: all 0.2s ease; | ||||
| } | ||||
| 
 | ||||
| .leaflet-control-container .leaflet-routing-container-hide .leaflet-routing-alt,  | ||||
| .leaflet-control-container .leaflet-routing-container-hide .leaflet-routing-geocoders { | ||||
|     display: none; | ||||
| } | ||||
| 
 | ||||
| .leaflet-bar .leaflet-routing-alt:last-child { | ||||
|     border-bottom: none; | ||||
| } | ||||
| 
 | ||||
| .leaflet-routing-alt-minimized { | ||||
|     color: #888; | ||||
|     max-height: 64px; | ||||
|     overflow: hidden; | ||||
|     cursor: pointer; | ||||
| } | ||||
| 
 | ||||
| .leaflet-routing-alt table { | ||||
|     border-collapse: collapse; | ||||
| } | ||||
| 
 | ||||
| .leaflet-routing-alt tr:hover { | ||||
|     background-color: #eee; | ||||
|     cursor: pointer; | ||||
| } | ||||
| 
 | ||||
| .leaflet-routing-alt::-webkit-scrollbar { | ||||
|     width: 8px; | ||||
| } | ||||
| 
 | ||||
| .leaflet-routing-alt::-webkit-scrollbar-track { | ||||
|     border-radius: 2px; | ||||
|     background-color: #eee; | ||||
| } | ||||
| 
 | ||||
| .leaflet-routing-alt::-webkit-scrollbar-thumb { | ||||
|     border-radius: 2px; | ||||
|     background-color: #888; | ||||
| } | ||||
| 
 | ||||
| .leaflet-routing-icon { | ||||
|     background-image: url('leaflet.routing.icons.png'); | ||||
|     -webkit-background-size: 240px 20px; | ||||
|     background-size: 240px 20px; | ||||
|     background-repeat: no-repeat; | ||||
|     margin: 0; | ||||
|     content: ''; | ||||
|     display: inline-block; | ||||
|     vertical-align: top; | ||||
|     width: 20px; | ||||
|     height: 20px; | ||||
| } | ||||
| 
 | ||||
| .leaflet-routing-icon-continue         { background-position: 0 0; } | ||||
| .leaflet-routing-icon-sharp-right      { background-position: -20px 0; } | ||||
| .leaflet-routing-icon-turn-right       { background-position: -40px 0; } | ||||
| .leaflet-routing-icon-bear-right       { background-position: -60px 0; } | ||||
| .leaflet-routing-icon-u-turn           { background-position: -80px 0; } | ||||
| .leaflet-routing-icon-sharp-left       { background-position: -100px 0; } | ||||
| .leaflet-routing-icon-turn-left        { background-position: -120px 0; } | ||||
| .leaflet-routing-icon-bear-left        { background-position: -140px 0; } | ||||
| .leaflet-routing-icon-depart           { background-position: -160px 0; } | ||||
| .leaflet-routing-icon-enter-roundabout { background-position: -180px 0; } | ||||
| .leaflet-routing-icon-arrive           { background-position: -200px 0; } | ||||
| .leaflet-routing-icon-via              { background-position: -220px 0; } | ||||
| 
 | ||||
| .leaflet-routing-geocoders div { | ||||
|     padding: 4px 0px 4px 0px; | ||||
| } | ||||
| 
 | ||||
| .leaflet-routing-geocoders input { | ||||
|     width: 303px; | ||||
|     width: calc(100% - 4px); | ||||
|     line-height: 1.67; | ||||
|     border: 1px solid #ccc; | ||||
| } | ||||
| 
 | ||||
| .leaflet-routing-geocoders button { | ||||
|     font: bold 18px 'Lucida Console', Monaco, monospace; | ||||
|     border: 1px solid #ccc; | ||||
|     border-radius: 4px; | ||||
|     background-color: white; | ||||
|     margin: 0; | ||||
|     margin-right: 3px; | ||||
|     float: right; | ||||
|     cursor: pointer; | ||||
|     transition: background-color 0.2s ease; | ||||
| } | ||||
| 
 | ||||
| .leaflet-routing-add-waypoint:after { | ||||
|     content: '+'; | ||||
| } | ||||
| 
 | ||||
| .leaflet-routing-reverse-waypoints:after { | ||||
|     font-weight: normal; | ||||
|     content: '\21c5'; | ||||
| } | ||||
| 
 | ||||
| .leaflet-routing-geocoders button:hover { | ||||
|     background-color: #eee; | ||||
| } | ||||
| 
 | ||||
| .leaflet-routing-geocoders input,.leaflet-routing-remove-waypoint,.leaflet-routing-geocoder { | ||||
|     position: relative; | ||||
| } | ||||
| 
 | ||||
| .leaflet-routing-geocoder-result { | ||||
|     font: 12px/1.5 "Helvetica Neue", Arial, Helvetica, sans-serif; | ||||
|     position: absolute; | ||||
|     max-height: 0; | ||||
|     overflow: hidden; | ||||
|     transition: all 0.5s ease; | ||||
|     z-index: 1000; /* Arbitrary, but try to be above "most" things. */ | ||||
| } | ||||
| 
 | ||||
| .leaflet-routing-geocoder-result table { | ||||
|     width: 100%; | ||||
|     border: 1px solid #ccc; | ||||
|     border-radius: 0 0 4px 4px; | ||||
|     background-color: white; | ||||
|     cursor: pointer; | ||||
| } | ||||
| 
 | ||||
| .leaflet-routing-geocoder-result-open { | ||||
|     max-height: 800px; | ||||
| } | ||||
| 
 | ||||
| .leaflet-routing-geocoder-selected, .leaflet-routing-geocoder-result tr:hover { | ||||
|     background-color: #eee; | ||||
| } | ||||
| 
 | ||||
| .leaflet-routing-geocoder-no-results { | ||||
|     font-style: italic; | ||||
|     color: #888; | ||||
| } | ||||
| 
 | ||||
| .leaflet-routing-remove-waypoint { | ||||
|     background-color: transparent; | ||||
|     display: inline-block; | ||||
|     vertical-align: middle; | ||||
|     cursor: pointer; | ||||
| } | ||||
| 
 | ||||
| .leaflet-routing-remove-waypoint:after { | ||||
|     position: absolute; | ||||
|     display: block; | ||||
|     width: 15px; | ||||
|     height: 1px; | ||||
|     z-index: 1; | ||||
|     right: 1px; | ||||
|     top: 4px; | ||||
|     bottom: 0; | ||||
|     margin: auto; | ||||
|     padding: 2px; | ||||
|     font-size: 18px; | ||||
|     font-weight: bold; | ||||
|     content: "\00d7"; | ||||
|     text-align: center; | ||||
|     cursor: pointer; | ||||
|     color: #ccc; | ||||
|     background: white; | ||||
|     padding-bottom: 16px; | ||||
|     margin-top: -16px; | ||||
|     padding-right: 4px; | ||||
|     line-height: 1; | ||||
| } | ||||
| 
 | ||||
| .leaflet-routing-remove-waypoint:hover { | ||||
|     color: black; | ||||
| } | ||||
| 
 | ||||
| .leaflet-routing-instruction-distance { | ||||
|     width: 48px; | ||||
| } | ||||
| 
 | ||||
| .leaflet-routing-collapse-btn { | ||||
|     position: absolute; | ||||
|     top: 0; | ||||
|     right: 6px; | ||||
|     font-size: 24px; | ||||
|     color: #ccc; | ||||
|     font-weight: bold; | ||||
| } | ||||
| 
 | ||||
| .leaflet-routing-collapse-btn:after { | ||||
|     content: '\00d7'; | ||||
| } | ||||
| 
 | ||||
| .leaflet-routing-container-hide .leaflet-routing-collapse-btn { | ||||
|     position: relative; | ||||
|     left: 4px; | ||||
|     top: 4px; | ||||
|     display: block; | ||||
|     width: 26px; | ||||
|     height: 23px; | ||||
|     background-image: url('routing-icon.png'); | ||||
| } | ||||
| 
 | ||||
| .leaflet-routing-container-hide .leaflet-routing-collapse-btn:after { | ||||
|     content: none; | ||||
| } | ||||
| 
 | ||||
| .leaflet-top .leaflet-routing-container.leaflet-routing-container-hide { | ||||
|     margin-top: 10px !important; | ||||
| } | ||||
| .leaflet-right .leaflet-routing-container.leaflet-routing-container-hide { | ||||
|     margin-right: 10px !important; | ||||
| } | ||||
| .leaflet-bottom .leaflet-routing-container.leaflet-routing-container-hide { | ||||
|     margin-bottom: 10px !important; | ||||
| } | ||||
| .leaflet-left .leaflet-routing-container.leaflet-routing-container-hide { | ||||
|     margin-left: 10px !important; | ||||
| } | ||||
| 
 | ||||
| @media only screen and (max-width: 640px) { | ||||
|     .leaflet-routing-container { | ||||
|         margin: 0 !important; | ||||
|         padding: 0 !important; | ||||
|         width: 100%; | ||||
|         height: 100%; | ||||
|     } | ||||
| } | ||||
|  | @ -69,4 +69,9 @@ function handlePrediction(data){ | |||
|     } | ||||
|     // Reset the prediction data age counter.
 | ||||
|     pred_data_age = 0.0; | ||||
| 
 | ||||
|     // Update the routing engine.
 | ||||
|     //if (balloon_currently_following === data.callsign){
 | ||||
|     //    router.setWaypoints([L.latLng(chase_car_position.latest_data[0],chase_car_position.latest_data[1]), L.latLng(data.pred_landing[0], data.pred_landing[1])]);
 | ||||
|     //}
 | ||||
| } | ||||
|  | @ -8,6 +8,7 @@ | |||
|     <link href="{{ url_for('static', filename='css/leaflet-sidebar.min.css') }}" rel="stylesheet"> | ||||
|     <link href="{{ url_for('static', filename='css/leaflet-control-topcenter.css') }}" rel="stylesheet"> | ||||
|     <link href="{{ url_for('static', filename='css/Leaflet.PolylineMeasure.css') }}" rel="stylesheet"> | ||||
|     <link href="{{ url_for('static', filename='css/leaflet-routing-machine.css') }}" rel="stylesheet"> | ||||
|     <link href="{{ url_for('static', filename='css/easy-button.css') }}" rel="stylesheet"> | ||||
|     <link href="{{ url_for('static', filename='css/tabulator_simple.css') }}" rel="stylesheet"> | ||||
|     <link href="{{ url_for('static', filename='css/font-awesome.min.css') }}" rel="stylesheet"> | ||||
|  | @ -25,6 +26,7 @@ | |||
|     <script src="{{ url_for('static', filename='js/leaflet-sidebar.min.js') }}"></script> | ||||
|     <script src="{{ url_for('static', filename='js/Leaflet.Control.Custom.js') }}"></script> | ||||
|     <script src="{{ url_for('static', filename='js/Leaflet.PolylineMeasure.js') }}"></script> | ||||
|     <script src="{{ url_for('static', filename='js/leaflet-routing-machine.min.js') }}"></script> | ||||
|     <script src="{{ url_for('static', filename='js/easy-button.js') }}"></script> | ||||
| 
 | ||||
|     <script src="{{ url_for('static', filename='js/tabulator.min.js') }}"></script> | ||||
|  | @ -82,6 +84,8 @@ | |||
| 
 | ||||
|         // Leaflet map instance. | ||||
|         var map; | ||||
|         // Routing Engine | ||||
|         var router; | ||||
| 
 | ||||
| 
 | ||||
|         // Socket.IO Settings | ||||
|  | @ -287,6 +291,15 @@ | |||
|             } | ||||
|             ).addTo(map); | ||||
| 
 | ||||
|             // Experimental routing control | ||||
|             // Currently disabled, as there is currently not enough control around how the map is re-panned | ||||
|             // after a route is calculated. | ||||
|             // router = L.Routing.control({ | ||||
|             //     waypoints: [null], | ||||
|             //     show: false, | ||||
|             //     showAlternatives: false | ||||
|             // }).addTo(map); | ||||
| 
 | ||||
|             // Handler for when the user manually moves the map. This turns off | ||||
|             // the auto-follow options. | ||||
|             // Note we have to use 'dragend' else map movements from auto-follow would trigger this. | ||||
|  |  | |||
		Ładowanie…
	
		Reference in New Issue
	
	 Mark Jessop
						Mark Jessop