forked from MapComplete/MapComplete
		
	First working version of snapping to already existing ways from the add-UI (still too slow though), partial fix of #436
This commit is contained in:
		
							parent
							
								
									bf2d634208
								
							
						
					
					
						commit
						0a01561d37
					
				
					 15 changed files with 460 additions and 143 deletions
				
			
		
							
								
								
									
										66
									
								
								test.ts
									
										
									
									
									
								
							
							
						
						
									
										66
									
								
								test.ts
									
										
									
									
									
								
							|  | @ -2,40 +2,49 @@ import {UIEventSource} from "./Logic/UIEventSource"; | |||
| import LayoutConfig from "./Customizations/JSON/LayoutConfig"; | ||||
| import {AllKnownLayouts} from "./Customizations/AllKnownLayouts"; | ||||
| import State from "./State"; | ||||
| import LocationInput from "./UI/Input/LocationInput"; | ||||
| import Loc from "./Models/Loc"; | ||||
| import {VariableUiElement} from "./UI/Base/VariableUIElement"; | ||||
| import AvailableBaseLayers from "./Logic/Actors/AvailableBaseLayers"; | ||||
| 
 | ||||
| const layout = new UIEventSource<LayoutConfig>(AllKnownLayouts.allKnownLayouts.get("bookcases")) | ||||
| const layout = new UIEventSource<LayoutConfig>(AllKnownLayouts.allKnownLayouts.get("cycle_infra")) | ||||
| State.state = new State(layout.data) | ||||
| 
 | ||||
| const features = new UIEventSource<{ feature: any }[]>([ | ||||
|     { | ||||
|         feature: { | ||||
|             "type": "Feature", | ||||
|             "properties": {"amenity": "public_bookcase", "id": "node/123"}, | ||||
| 
 | ||||
|             id: "node/123", | ||||
|             _matching_layer_id: "public_bookcase", | ||||
|             "properties": {}, | ||||
|             "geometry": { | ||||
|                 "type": "Point", | ||||
|                 "type": "LineString", | ||||
|                 "coordinates": [ | ||||
|                     3.220506906509399, | ||||
|                     51.215009243433094 | ||||
|                     [ | ||||
|                         3.219616413116455, | ||||
|                         51.215315026941276 | ||||
|                     ], | ||||
|                     [ | ||||
|                         3.221080899238586, | ||||
|                         51.21564432998662 | ||||
|                     ] | ||||
|                 ] | ||||
|             } | ||||
|         } | ||||
|     }, { | ||||
|     }, | ||||
|     { | ||||
|         feature: { | ||||
|             "type": "Feature", | ||||
|             "properties": { | ||||
|                 amenity: "public_bookcase", | ||||
|                 id: "node/456" | ||||
|             }, | ||||
|             _matching_layer_id: "public_bookcase", | ||||
|             id: "node/456", | ||||
|             "properties": {}, | ||||
|             "geometry": { | ||||
|                 "type": "Point", | ||||
|                 "type": "LineString", | ||||
|                 "coordinates": [ | ||||
|                     3.4243011474609375, | ||||
|                     51.138432319543924 | ||||
|                     [ | ||||
|                         3.220340609550476, | ||||
|                         51.21547967875836 | ||||
|                     ], | ||||
|                     [ | ||||
|                         3.2198095321655273, | ||||
|                         51.216390293480515 | ||||
|                     ] | ||||
|                 ] | ||||
|             } | ||||
|         } | ||||
|  | @ -43,5 +52,22 @@ const features = new UIEventSource<{ feature: any }[]>([ | |||
| ]) | ||||
| 
 | ||||
| features.data.map(f => State.state.allElements.addOrGetElement(f.feature)) | ||||
| 
 | ||||
| 
 | ||||
| const loc = new UIEventSource<Loc>({ | ||||
|     zoom: 19, | ||||
|     lat: 51.21547967875836, | ||||
|     lon: 3.220340609550476 | ||||
| }) | ||||
| const li = new LocationInput( | ||||
|     { | ||||
|         mapBackground: AvailableBaseLayers.SelectBestLayerAccordingTo(loc, new UIEventSource<string | string[]>("map")), | ||||
|         snapTo: features, | ||||
|         snappedPointTags: { | ||||
|             "barrier": "cycle_barrier" | ||||
|         }, | ||||
|         maxSnapDistance: 15, | ||||
|         requiresSnapping: false, | ||||
|         centerLocation: loc | ||||
|     } | ||||
| ) | ||||
| li.SetStyle("height: 30rem").AttachTo("maindiv") | ||||
| new VariableUiElement(li.GetValue().map(JSON.stringify)).AttachTo("extradiv") | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue