From e484e23299b7d1840334af5f53d51ba06e042653 Mon Sep 17 00:00:00 2001 From: Jake Coppinger Date: Sat, 28 Jan 2023 13:58:29 +1100 Subject: [PATCH] Remove old parking code, improve red routes --- src/api.ts | 21 +++------------------ src/drawing.ts | 8 +++++--- src/layers.ts | 1 + src/osm-selectors.ts | 5 ++++- 4 files changed, 13 insertions(+), 22 deletions(-) diff --git a/src/api.ts b/src/api.ts index 76e1b81..a2c3f1e 100644 --- a/src/api.ts +++ b/src/api.ts @@ -1,10 +1,9 @@ import debounce from "debounce"; -import { LoadingStatusType, OverpassResponse, RawOverpassNode } from "./interfaces"; +import { LoadingStatusType, OverpassResponse} from "./interfaces"; import * as http from "https"; -import { addStreetLayers, drawMarkersAndCards, removeMarkers, removeStreetLayers } from "./drawing"; -import { wayToNode } from "./geo-utils"; -import { bicycleParking, safeCycleways } from "./overpass-requests"; +import { addStreetLayers, removeStreetLayers } from "./drawing"; +import { safeCycleways } from "./overpass-requests"; import osmtogeojson from 'osmtogeojson'; @@ -66,17 +65,14 @@ async function fetchAndDrawMarkers( const northLat = bounds.getNorth(); const eastLong = bounds.getEast(); - let ads: OverpassResponse; let safeRoutes: OverpassResponse; const overpassBounds = [southernLat, westLong, northLat, eastLong]; const boundsStr = overpassBounds.join(","); - const parkingOverpassQuery = bicycleParking(boundsStr);; const safeRoutesOverpassQuery = safeCycleways(boundsStr);; console.log("Started POST request..."); try { - ads = (await getOSMData(parkingOverpassQuery)); safeRoutes = await getOSMData(safeRoutesOverpassQuery); } catch (e) { console.log("Error:", e); @@ -91,16 +87,5 @@ async function fetchAndDrawMarkers( removeStreetLayers(map); addStreetLayers(map, geoJson); - setLoadingStatus("success"); - return; - // removeMarkers(markers.current); - - // const nodesAndWayCenters: RawOverpassNode[] = ads.elements - // .map((item) => (item.type === "way" ? wayToNode(item, ads.elements) : item)) - // .filter((item) => item !== null) - // .map((item) => item as RawOverpassNode) - // .filter((item) => item.tags !== undefined); - - // markers.current = await drawMarkersAndCards(map, nodesAndWayCenters); } diff --git a/src/drawing.ts b/src/drawing.ts index 37cbfea..7a251d1 100644 --- a/src/drawing.ts +++ b/src/drawing.ts @@ -78,6 +78,8 @@ export function removeStreetLayers(map: mapboxgl.Map): void { } export function addStreetLayers(map: mapboxgl.Map, geoJson: FeatureCollection) { + /** Add below first vector layer */ + const layerToAddBefore = 'SharedUse'; map.addSource('redRoads', { type: 'geojson', data: { @@ -116,7 +118,7 @@ export function addStreetLayers(map: mapboxgl.Map, geoJson: FeatureCollection): boolea if (p === null) { return false; } + if(p.highway === 'primary' && p.maxspeed === undefined) { + return true; + } if (p.maxspeed > 40) { return true; } @@ -68,7 +71,7 @@ export function isGreenRoad(feature: Feature): bool if (p.highway === 'shared_lane') { return true; } - if (p.bicycle === 'designated') { + if (p.bicycle === 'designated' && p.highway === 'cycleway') { return true; } if (p.highway === 'living_street') {