Bike pumps added layer & layout
This commit is contained in:
parent
41341470db
commit
75a3a70afa
6 changed files with 104 additions and 2 deletions
|
@ -3,6 +3,7 @@ import {Toilets} from "./Layouts/Toilets";
|
||||||
import {GRB} from "./Layouts/GRB";
|
import {GRB} from "./Layouts/GRB";
|
||||||
import {Statues} from "./Layouts/Statues";
|
import {Statues} from "./Layouts/Statues";
|
||||||
import {Bookcases} from "./Layouts/Bookcases";
|
import {Bookcases} from "./Layouts/Bookcases";
|
||||||
|
import { BikePumps } from "./Layers/BikePumps";
|
||||||
|
|
||||||
export class AllKnownLayouts {
|
export class AllKnownLayouts {
|
||||||
public static allSets: any = AllKnownLayouts.AllLayouts();
|
public static allSets: any = AllKnownLayouts.AllLayouts();
|
||||||
|
@ -11,6 +12,7 @@ export class AllKnownLayouts {
|
||||||
const layouts = [
|
const layouts = [
|
||||||
new Groen(),
|
new Groen(),
|
||||||
new GRB(),
|
new GRB(),
|
||||||
|
new BikePumps(),
|
||||||
/*new Toilets(),
|
/*new Toilets(),
|
||||||
new Statues(),
|
new Statues(),
|
||||||
new Bookcases()*/
|
new Bookcases()*/
|
||||||
|
|
77
Customizations/Layers/BikePumps.ts
Normal file
77
Customizations/Layers/BikePumps.ts
Normal file
|
@ -0,0 +1,77 @@
|
||||||
|
import {LayerDefinition} from "../LayerDefinition";
|
||||||
|
import {And, Or, Tag} from "../../Logic/TagsFilter";
|
||||||
|
import {AccessTag} from "../Questions/AccessTag";
|
||||||
|
import {OperatorTag} from "../Questions/OperatorTag";
|
||||||
|
import {NameQuestion} from "../Questions/NameQuestion";
|
||||||
|
import {NameInline} from "../Questions/NameInline";
|
||||||
|
import * as L from "leaflet";
|
||||||
|
|
||||||
|
export class BikePumps extends LayerDefinition {
|
||||||
|
|
||||||
|
constructor() {
|
||||||
|
super();
|
||||||
|
this.name = "pomp";
|
||||||
|
this.icon = "./assets/bike_pump.svg";
|
||||||
|
|
||||||
|
this.overpassFilter = new Or([
|
||||||
|
new And([
|
||||||
|
new Tag("amenity", "compressed_air"),
|
||||||
|
new Tag("bicycle", "yes"),
|
||||||
|
])
|
||||||
|
]
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
this.newElementTags = [
|
||||||
|
new Tag("amenity", "compressed_air"),
|
||||||
|
new Tag("bicycle", "yes"),
|
||||||
|
// new Tag("fixme", "Toegevoegd met MapComplete, geometry nog uit te tekenen")
|
||||||
|
];
|
||||||
|
this.maxAllowedOverlapPercentage = 10;
|
||||||
|
|
||||||
|
this.minzoom = 13;
|
||||||
|
this.style = this.generateStyleFunction();
|
||||||
|
this.title = new NameInline("pomp");
|
||||||
|
this.elementsToShow = [
|
||||||
|
// new NameQuestion(),
|
||||||
|
// new AccessTag(),
|
||||||
|
new OperatorTag()
|
||||||
|
];
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private generateStyleFunction() {
|
||||||
|
const self = this;
|
||||||
|
return function (properties: any) {
|
||||||
|
// let questionSeverity = 0;
|
||||||
|
// for (const qd of self.elementsToShow) {
|
||||||
|
// if (qd.IsQuestioning(properties)) {
|
||||||
|
// questionSeverity = Math.max(questionSeverity, qd.options.priority ?? 0);
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
|
||||||
|
// let colormapping = {
|
||||||
|
// 0: "#00bb00",
|
||||||
|
// 1: "#00ff00",
|
||||||
|
// 10: "#dddd00",
|
||||||
|
// 20: "#ff0000"
|
||||||
|
// };
|
||||||
|
|
||||||
|
// let colour = colormapping[questionSeverity];
|
||||||
|
// while (colour == undefined) {
|
||||||
|
// questionSeverity--;
|
||||||
|
// colour = colormapping[questionSeverity];
|
||||||
|
// }
|
||||||
|
|
||||||
|
return {
|
||||||
|
color: "#00bb00",
|
||||||
|
icon: new L.icon({
|
||||||
|
iconUrl: self.icon,
|
||||||
|
iconSize: [40, 40]
|
||||||
|
})
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
23
Customizations/Layouts/BikePumps.ts
Normal file
23
Customizations/Layouts/BikePumps.ts
Normal file
|
@ -0,0 +1,23 @@
|
||||||
|
import {Layout} from "../Layout";
|
||||||
|
import {GrbToFix} from "../Layers/GrbToFix";
|
||||||
|
import { BikePumps } from "../Layers/BikePumps";
|
||||||
|
|
||||||
|
export class GRB extends Layout {
|
||||||
|
constructor() {
|
||||||
|
super(
|
||||||
|
"pomp",
|
||||||
|
"Grb import fix tool",
|
||||||
|
[new BikePumps()],
|
||||||
|
15,
|
||||||
|
51.2083,
|
||||||
|
3.2279,
|
||||||
|
|
||||||
|
|
||||||
|
"<h3>GRB Fix tool</h3>\n" +
|
||||||
|
"\n" +
|
||||||
|
"Expert use only"
|
||||||
|
|
||||||
|
,
|
||||||
|
"", "");
|
||||||
|
}
|
||||||
|
}
|
1
assets/bike_pump.svg
Normal file
1
assets/bike_pump.svg
Normal file
|
@ -0,0 +1 @@
|
||||||
|
<?xml version="1.0" ?><svg viewBox="0 0 64 64" xmlns="http://www.w3.org/2000/svg"><g id="outline"><path d="M18.253,60.667a4.535,4.535,0,1,0,6.414-6.414L20.914,50.5,22,49.414l.793.793a4.539,4.539,0,0,0,6.414,0l22-22a2.535,2.535,0,1,1,3.585,3.586L36.59,50.005l-.712-.712a1,1,0,0,0-1.4-.01l-3.263,3.173a5,5,0,0,0-.049,7.12l2.131,2.131a1,1,0,0,0,1.414,0l3-3a1,1,0,0,0-.015-1.428l-1.357-1.3,2.382-2.45a1,1,0,0,0-.01-1.4l-.7-.7,18.2-18.212a4.535,4.535,0,0,0-6.414-6.414l-22,22a2.54,2.54,0,0,1-3.586,0L23.414,48,45.207,26.207a1,1,0,0,0,0-1.414L44.414,24,50.5,17.914l6.293,6.293a1,1,0,0,0,1.414,0l3.5-3.5a1,1,0,0,0,0-1.414l-17-17a1,1,0,0,0-1.414,0l-3.5,3.5a1,1,0,0,0,0,1.414L46.086,13.5,40,19.586l-.793-.793a1,1,0,0,0-1.414,0L13.5,43.086,9.747,39.333a4.535,4.535,0,1,0-6.414,6.414ZM34.2,55.3a1,1,0,0,0,.024,1.418l1.347,1.294L34,59.586l-1.424-1.424a3,3,0,0,1,.03-4.273L35.162,51.4,36.6,52.838ZM41.914,6.5,44,4.414,59.586,20,57.5,22.086l-6.293-6.293-3-3ZM47.5,14.914,49.086,16.5,43,22.586,41.414,21Zm-9,6,.793.793,3,3,.793.793L22,46.586,17.414,42ZM16,43.414,20.586,48,17.5,51.086,12.914,46.5ZM4.747,40.747a2.585,2.585,0,0,1,3.586,0L12.086,44.5l-1.293,1.293a1,1,0,0,0,0,1.414l6,6a1,1,0,0,0,1.414,0L19.5,51.914l3.753,3.753a2.525,2.525,0,0,1,0,3.586,2.585,2.585,0,0,1-3.586,0L4.747,44.333a2.525,2.525,0,0,1,0-3.586Z"/><rect height="2.828" transform="translate(-28.355 17.544) rotate(-45)" width="2" x="6" y="41.586"/><rect height="2.828" transform="translate(-34.154 31.544) rotate(-45)" width="2" x="20" y="55.586"/><rect height="2" transform="translate(-8.256 33.485) rotate(-45)" width="2.003" x="35.29" y="25.708"/><rect height="2" transform="translate(-14.485 30.905) rotate(-45)" width="11.49" x="24.317" y="31.938"/></g></svg>
|
After Width: | Height: | Size: 1.7 KiB |
|
@ -9,7 +9,6 @@
|
||||||
integrity="sha512-xwE/Az9zrjBIphAcBb3F6JVqxf46+CDLwfLMHloNu6KEQCAWi6HcDUbeOfBIptF7tcCzusKFjFw2yuvEpDL9wQ=="
|
integrity="sha512-xwE/Az9zrjBIphAcBb3F6JVqxf46+CDLwfLMHloNu6KEQCAWi6HcDUbeOfBIptF7tcCzusKFjFw2yuvEpDL9wQ=="
|
||||||
crossorigin=""/>
|
crossorigin=""/>
|
||||||
<link rel="stylesheet" href="./index.css"/>
|
<link rel="stylesheet" href="./index.css"/>
|
||||||
<link rel="stylesheet" href="node_modules/@splidejs/splide/dist/css/splide.min.css">
|
|
||||||
|
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
"main": "index.js",
|
"main": "index.js",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"start": "parcel index.html land.html test.html assets/test.json assets/* UI/* Logic/* vendor/*",
|
"start": "parcel index.html land.html test.html assets/test.json assets/* UI/* Logic/* vendor/*",
|
||||||
"build": "parcel build --public-url ./ index.html land.html assets/*",
|
"build": "rm -rf dist/ && parcel build --public-url ./ index.html land.html assets/*",
|
||||||
"test": "echo \"Error: no test specified\" && exit 1"
|
"test": "echo \"Error: no test specified\" && exit 1"
|
||||||
},
|
},
|
||||||
"keywords": [
|
"keywords": [
|
||||||
|
|
Loading…
Reference in a new issue