diff --git a/assets/themes/blind_osm/blind_osm.json b/assets/themes/blind_osm/blind_osm.json
index 8669e40968..a2e25824d5 100644
--- a/assets/themes/blind_osm/blind_osm.json
+++ b/assets/themes/blind_osm/blind_osm.json
@@ -46,7 +46,7 @@
{
"builtin": "crossings",
"override": {
- "mapRendering": [
+ "pointRendering": [
{
"iconBadges": [
{
@@ -69,7 +69,7 @@
"builtin": "kerbs",
"override": {
"minzoom": 18,
- "mapRendering": [
+ "pointRendering": [
{
"iconBadges": [
{
@@ -88,7 +88,7 @@
{
"builtin": "transit_stops",
"override": {
- "mapRendering": [
+ "pointRendering": [
{
"iconBadges": [
{
diff --git a/assets/themes/buurtnatuur/buurtnatuur.json b/assets/themes/buurtnatuur/buurtnatuur.json
index 1a62d6cf66..f652658d1e 100644
--- a/assets/themes/buurtnatuur/buurtnatuur.json
+++ b/assets/themes/buurtnatuur/buurtnatuur.json
@@ -88,9 +88,55 @@
}
}
],
- "pointRendering": [],
+ "pointRendering": [
+ {
+ "marker": [
+ {
+ "icon": "circle",
+ "color": "#ffffff"
+ },
+ {
+ "icon": "./assets/themes/buurtnatuur/nature_reserve.svg"
+ }
+ ],
+ "iconSize": "50,50",
+ "location": [
+ "point"
+ ],
+ "anchor": "center"
+ }
+ ],
"lineRendering": [
- {}
+ {
+ "color": {
+ "render": "#3c3",
+ "mappings": [
+ {
+ "if": {
+ "and": [
+ "name=",
+ "noname=",
+ "operator=",
+ "access=",
+ "access:description=",
+ "leisure=park"
+ ]
+ },
+ "then": "#cc1100"
+ },
+ {
+ "if": {
+ "and": [
+ "name=",
+ "noname="
+ ]
+ },
+ "then": "#fccb37"
+ }
+ ]
+ },
+ "width": "5"
+ }
]
},
{
@@ -159,9 +205,42 @@
}
}
],
- "pointRendering": [],
+ "pointRendering": [
+ {
+ "marker": [
+ {
+ "icon": "circle",
+ "color": "#ffffff"
+ },
+ {
+ "icon": "./assets/themes/buurtnatuur/park.svg"
+ }
+ ],
+ "iconSize": "40,40",
+ "location": [
+ "point"
+ ],
+ "anchor": "center"
+ }
+ ],
"lineRendering": [
- {}
+ {
+ "color": {
+ "render": "#3c3",
+ "mappings": [
+ {
+ "if": {
+ "and": [
+ "name=",
+ "noname="
+ ]
+ },
+ "then": "#fccb37"
+ }
+ ]
+ },
+ "width": "5"
+ }
]
},
{
@@ -231,9 +310,61 @@
}
}
],
- "pointRendering": [],
+ "pointRendering": [
+ {
+ "marker": [
+ {
+ "icon": "circle",
+ "color": "white"
+ },
+ {
+ "icon": "./assets/themes/buurtnatuur/forest.svg"
+ }
+ ],
+ "iconSize": "40,40",
+ "location": [
+ "point"
+ ],
+ "anchor": "center"
+ }
+ ],
"lineRendering": [
- {}
+ {
+ "color": {
+ "render": "#3a3",
+ "mappings": [
+ {
+ "if": {
+ "and": [
+ "operator=",
+ "access=",
+ "access:description="
+ ]
+ },
+ "then": "#cc1100"
+ },
+ {
+ "if": {
+ "and": [
+ "operator="
+ ]
+ },
+ "then": "#cccc00"
+ },
+ {
+ "if": {
+ "and": [
+ "name=",
+ "noname="
+ ]
+ },
+ "then": "#fccb37"
+ }
+ ]
+ },
+ "width": "5"
+ }
+
]
},
"viewpoint"
@@ -500,4 +631,4 @@
"enableMoreQuests": false,
"widenFactor": 1.2,
"#dont-translate": "*"
-}
\ No newline at end of file
+}
diff --git a/assets/themes/climbing/climbing.json b/assets/themes/climbing/climbing.json
index 3526c7fa77..426c72999d 100644
--- a/assets/themes/climbing/climbing.json
+++ b/assets/themes/climbing/climbing.json
@@ -491,7 +491,7 @@
],
"override": {
"minzoom": 15,
- "mapRendering": [
+ "pointRendering": [
{
"iconSize": "30,30"
}
diff --git a/assets/themes/cyclofix/cyclofix.json b/assets/themes/cyclofix/cyclofix.json
index a26ddb2c95..02b1f98f44 100644
--- a/assets/themes/cyclofix/cyclofix.json
+++ b/assets/themes/cyclofix/cyclofix.json
@@ -50,9 +50,11 @@
"id": "bicycle_rental_non_docking",
"minzoom": 14,
"=presets": [],
- "=mapRendering": [
+ "=pointRendering": [
{
- "icon": "pin:#ba2792;./assets/themes/cyclofix/key.svg",
+ "marker":[{
+ "icon": "pin:#ba2792;./assets/themes/cyclofix/key.svg"
+ }],
"iconSize": "40,40",
"anchor": "bottom",
"location": [
@@ -79,9 +81,11 @@
"sameAs": "bicycle_rental_non_docking"
},
"minzoom": 18,
- "=mapRendering": [
+ "=pointRendering": [
{
- "icon": "pin:#ba2792;./assets/themes/cyclofix/key.svg",
+ "marker":[{
+ "icon": "pin:#ba2792;./assets/themes/cyclofix/key.svg"
+ }],
"iconSize": "40,40",
"anchor": "bottom",
"location": [
diff --git a/assets/themes/grb/grb.json b/assets/themes/grb/grb.json
index 1d8512e4b7..8712d62dc6 100644
--- a/assets/themes/grb/grb.json
+++ b/assets/themes/grb/grb.json
@@ -234,7 +234,47 @@
],
"pointRendering": [],
"lineRendering": [
- {}
+ {
+ "width": {
+ "render": "2",
+ "mappings": [
+ {
+ "if": "fixme~*",
+ "then": "5"
+ }
+ ]
+ },
+ "color": {
+ "render": "#00c",
+ "mappings": [
+ {
+ "if": "fixme~*",
+ "then": "#ff00ff"
+ },
+ {
+ "if": "building=house",
+ "then": "#a00"
+ },
+ {
+ "if": "building=shed",
+ "then": "#563e02"
+ },
+ {
+ "if": {
+ "or": [
+ "building=garage",
+ "building=garages"
+ ]
+ },
+ "then": "#f9bfbb"
+ },
+ {
+ "if": "building=yes",
+ "then": "#0774f2"
+ }
+ ]
+ }
+ }
]
},
{
@@ -441,9 +481,63 @@
"_imported_osm_still_fresh!=true"
]
},
- "pointRendering": [],
- "lineRendering": [
- {}
+ "pointRendering": [ {
+ "label": {
+ "render": "
{addr:housenumber}
",
+ "condition": "addr:housenumber~*"
+ },
+ "iconSize": "50,50",
+ "marker":[{
+ "icon": {
+ "mappings": [
+ {
+ "if": "_intersects_with_other_features~*",
+ "then": "./assets/themes/grb/warning.svg"
+ },
+ {
+ "if": "addr:housenumber~*",
+ "then": "./assets/themes/grb/housenumber_blank.svg"
+ }
+ ]
+ }
+ }],
+
+ "location": [
+ "point",
+ "centroid"
+ ],
+ "anchor": "center"
+ }],
+ "lineRendering":[
+ {
+ "width": {
+ "render": 5,
+ "mappings": [
+ {
+ "if": "_imported=yes",
+ "then": "1"
+ }
+ ]
+ },
+ "color": {
+ "render": "#00a",
+ "mappings": [
+ {
+ "if": "_imported=yes",
+ "then": "#00ff00"
+ },
+ {
+ "if": {
+ "and": [
+ "_imported_osm_object_found=true",
+ "_imported_osm_still_fresh=true"
+ ]
+ },
+ "then": "#0f0"
+ }
+ ]
+ }
+ }
]
},
{
@@ -456,8 +550,10 @@
"title": "Service road",
"tagRenderings": [],
"pointRendering": [],
- "lineRendering": [
- {}
+ "lineRendering": [ {
+ "width": 4,
+ "color": "#888888"
+ }
]
},
{
@@ -500,7 +596,11 @@
],
"pointRendering": [],
"lineRendering": [
- {}
+ {
+ "color": "#ccc",
+ "width": "1",
+ "fill": "no"
+ }
]
},
"address",
@@ -664,12 +764,14 @@
"render": "{auto_apply(grb, _applicable_conflate, Import-button, Conflate all non-conflicting buildings in view)}"
}
],
- "+mapRendering": [
+ "+pointRendering": [
{
"location": [
"point"
],
- "icon": "./assets/svg/robot.svg",
+ "marker":[{
+ "icon": "./assets/svg/robot.svg"
+ }],
"iconSize": "15,15"
}
]
@@ -685,4 +787,4 @@
"clustering": {
"maxZoom": 15
}
-}
\ No newline at end of file
+}
diff --git a/assets/themes/mapcomplete-changes/mapcomplete-changes.json b/assets/themes/mapcomplete-changes/mapcomplete-changes.json
deleted file mode 100644
index 6d893730df..0000000000
--- a/assets/themes/mapcomplete-changes/mapcomplete-changes.json
+++ /dev/null
@@ -1,770 +0,0 @@
-{
- "id": "mapcomplete-changes",
- "title": {
- "en": "Changes made with MapComplete",
- "ca": "Canvis fets amb MapComplete",
- "de": "Mit MapComplete erstellte Änderungen",
- "fr": "Changements faits avec MapComplete",
- "nl": "Wijzigingen gemaakt met MapComplete",
- "cs": "Změny provedené pomocí MapComplete",
- "es": "Cambios realizados con MapComplete",
- "pl": "Zmiany wprowadzone za pomocą MapComplete"
- },
- "description": {
- "en": "This maps shows all the changes made with MapComplete",
- "ca": "Aquest mapa mostra tots els canvis fets amb MapComplete",
- "de": "Diese Karte zeigt alle mit MapComplete vorgenommenen Änderungen",
- "fr": "Cette carte montre tous les changements faits avec MapComplete",
- "nl": "Deze kaart toont alle wijzigingen die met MapComplete gemaakt werden",
- "pl": "Ta mapa pokazuje wszystkie zmiany wprowadzone za pomocą MapComplete",
- "cs": "Tato mapa zobrazuje všechny změny provedené pomocí MapComplete",
- "es": "Este mapa muestra todos los cambios realizados con MapComplete"
- },
- "shortDescription": {
- "en": "Show changes made with MapComplete",
- "ca": "Mostra els canvis fets amb MapComplete",
- "de": "Mit MapComplete erstellte Änderungen anzeigen",
- "nl": "Toon wijzigingen gemaakt met MapComplete",
- "cs": "Zobrazení změn provedených pomocí nástroje MapComplete",
- "es": "Mostrar cambios realizados con MapComplete",
- "pl": "Pokaż zmiany wprowadzone za pomocą MapComplete"
- },
- "icon": "./assets/svg/logo.svg",
- "hideFromOverview": true,
- "layers": [
- {
- "id": "mapcomplete-changes",
- "name": {
- "en": "Changeset centers",
- "ca": "Centre del conjunt de canvis",
- "de": "Zentrum der Änderungssätze",
- "nl": "Centerpunt van changeset",
- "es": "Centro del conjunto de cambios",
- "pl": "Centra zmian",
- "cs": "Centrum změn"
- },
- "minzoom": 0,
- "source": {
- "osmTags": "editor~*",
- "geoJson": "https://raw.githubusercontent.com/pietervdvn/MapComplete-data/main/mapcomplete-changes/tile_{z}_{x}_{y}.geojson",
- "geoJsonZoomLevel": 8,
- "maxCacheAge": 0
- },
- "title": {
- "render": {
- "en": "Changeset for {theme}",
- "ca": "Conjunt de canvis per a {theme}",
- "de": "Änderungssatz für {theme}",
- "fr": "Groupe de modifications pour {theme}",
- "es": "Conjunto de cambios para {theme}",
- "pl": "Zestaw zmian dla {theme}",
- "cs": "Změna pro {theme}"
- }
- },
- "description": {
- "en": "Show all MapComplete changes",
- "ca": "Mostra tots els canvis de MapComplete",
- "de": "Alle MapComplete-Änderungen anzeigen",
- "pl": "Wyświetl wszystkie zmiany MapComplete",
- "nl": "Toon alle MapComplete wijzigingen",
- "cs": "Zobrazit všechny změny MapComplete",
- "es": "Mostrar todos los cambios de MapComplete"
- },
- "tagRenderings": [
- {
- "id": "show_changeset_id",
- "render": {
- "en": "Changeset {id}",
- "ca": "Conjunt de canvi {id}",
- "de": "Änderungssatz {id}",
- "fr": "Groupe de modifications {id}",
- "es": "Conjunto de cambios {id}",
- "pl": "Zestaw zmian {id}",
- "cs": "Změny {id}"
- }
- },
- {
- "id": "contributor",
- "question": {
- "en": "Which contributor made this change?",
- "ca": "Quin col·laborador va fer aquest canvi?",
- "de": "Wer hat diese Änderung vorgenommen?",
- "fr": "Quel contributeur a fait cette modification ?",
- "nl": "Welke bijdrager maakte deze wijziging?",
- "cs": "Který přispěvatel tuto změnu provedl?",
- "es": "¿Qué contribuidor hizo este cambio?",
- "pl": "Który współautor dokonał tej zmiany?"
- },
- "freeform": {
- "key": "user"
- },
- "render": {
- "en": "Change made by {user}",
- "ca": "Canvi fet per {user}",
- "de": "Änderung von {user}",
- "fr": "Modification faite par {user}",
- "nl": "Wijziging gemaakt door {user}",
- "cs": "Změna provedená {user}",
- "es": "Cambio realizado por {user}",
- "pl": "Zmiana dokonana przez {user}"
- }
- },
- {
- "id": "theme-id",
- "question": {
- "en": "What theme was used to make this change?",
- "ca": "Quin tema es va utilitzar per fer aquest canvi?",
- "de": "Welches Thema wurde für diese Änderung verwendet?",
- "fr": "Quel thème a été utilisé pour faire cette modification ?",
- "cs": "Jaké téma bylo použito k provedení této změny?",
- "es": "¿Qué tema se utilizó para realizar este cambio?",
- "pl": "Jakiego tematu użyto do wprowadzenia tej zmiany?"
- },
- "freeform": {
- "key": "theme"
- },
- "render": {
- "en": "Change with theme {theme}",
- "ca": "Canvi amb el tema {theme}",
- "de": "Geändert mit Thema {theme}",
- "fr": "Modifié avec le thème {theme}",
- "cs": "Změna s motivem {theme}",
- "es": "Cambio con tema {theme}",
- "pl": "Zmiana za pomocą motywu {theme}"
- }
- },
- {
- "id": "locale",
- "freeform": {
- "key": "locale"
- },
- "question": {
- "en": "What locale (language) was this change made in?",
- "ca": "Amb quina configuració regional (idioma) s'ha fet aquest canvi?",
- "de": "In welcher Benutzersprache wurde diese Änderung vorgenommen?",
- "fr": "En quelle langue est-ce que ce changement a été fait ?",
- "nl": "In welke locale (taal) werd deze wijziging gemaakt?",
- "cs": "V jakém národním prostředí (jazyce) byla tato změna provedena?",
- "es": "¿En qué configuración regional (idioma) se realizó este cambio?",
- "pl": "W jakim języku wprowadzono tę zmianę?"
- },
- "render": {
- "en": "User locale is {locale}",
- "ca": "La configuració regional de l'usuari és {locale}",
- "de": "Benutzersprache {locale}",
- "nl": "De gebruikerstaal is {locale}",
- "cs": "Uživatelské prostředí je {locale}",
- "es": "La configuración regional del usuario es {locale}",
- "pl": "Ustawienia regionalne użytkownika to {locale}"
- }
- },
- {
- "id": "host",
- "render": {
- "en": "Change made with {host}",
- "ca": "Canviat fet amb {host}",
- "de": "Geändert über {host}",
- "fr": "Modification faite avec {host}",
- "nl": "Wijziging gemaakt met {host}",
- "cs": "Změna provedená pomocí {host}",
- "es": "Cambio realizado con {host}",
- "pl": "Zmiana dokonana w {host}"
- },
- "question": {
- "en": "What host (website) was this change made with?",
- "ca": "Amb quin amfitrió (lloc web) es va fer aquest canvi?",
- "de": "Über welchen Host (Webseite) wurde diese Änderung vorgenommen?",
- "nl": "Met welke host (website) werd deze wijziging gemaakt?",
- "cs": "U jakého hostitele (webové stránky) byla tato změna provedena?",
- "es": "¿Con qué host (página web) se realizó este cambio?",
- "pl": "Na jakim hoście (stronie internetowej) dokonano tej zmiany?"
- },
- "freeform": {
- "key": "host"
- },
- "mappings": [
- {
- "if": "host=www.waldbrand-app.de",
- "then": "waldbrand-app.de",
- "hideInAnswer": true
- },
- {
- "if": "host~https://pietervdvn.github.io/mc/develop/.*",
- "then": "Develop",
- "hideInAnswer": true
- }
- ]
- },
- {
- "id": "version",
- "question": {
- "en": "What version of MapComplete was used to make this change?",
- "ca": "Quina versió de MapComplete es va utilitzar per fer aquest canvi?",
- "de": "Mit welcher Version von MapComplete wurde diese Änderung gemacht?",
- "pl": "Która wersja MapComplete została wykorzystana, aby zrobić tę zmianę?",
- "fr": "Quelle version de MapComplete a été utilisée pour faire cette modification ?",
- "cs": "Jaká verze aplikace MapComplete byla použita k provedení této změny?",
- "es": "¿Qué versión de MapComplete se usó para realizar este cambio?"
- },
- "render": {
- "en": "Made with {editor}",
- "ca": "Fet amb {editor}",
- "de": "Erstellt mit {editor}",
- "pl": "Zrobione za pomocą {editor}",
- "fr": "Fait avec {editor}",
- "cs": "Vyrobeno pomocí {editor}",
- "es": "Realizado con {editor}"
- },
- "freeform": {
- "key": "editor"
- }
- }
- ],
- "pointRendering": [
- {
- "location": [
- "point",
- "centroid"
- ],
- "iconSize": "30,30",
- "anchor": "center",
- "marker": [
- {
- "icon": {
- "render": "teardrop:#00cc00",
- "mappings": [
- {
- "if": "theme=advertising",
- "then": "./assets/themes/advertising/icon.svg"
- },
- {
- "if": "theme=aed",
- "then": "./assets/themes/aed/aed.svg"
- },
- {
- "if": "theme=artwork",
- "then": "./assets/themes/artwork/artwork.svg"
- },
- {
- "if": "theme=atm",
- "then": "./assets/themes/atm/logo.svg"
- },
- {
- "if": "theme=bag",
- "then": "./assets/themes/bag/logo.svg"
- },
- {
- "if": "theme=benches",
- "then": "./assets/themes/benches/bench_poi.svg"
- },
- {
- "if": "theme=bicycle_rental",
- "then": "./assets/themes/bicycle_rental/logo.svg"
- },
- {
- "if": "theme=bicyclelib",
- "then": "./assets/themes/bicyclelib/logo.svg"
- },
- {
- "if": "theme=binoculars",
- "then": "./assets/layers/binocular/telescope.svg"
- },
- {
- "if": "theme=blind_osm",
- "then": "./assets/themes/blind_osm/Blindicon.svg"
- },
- {
- "if": "theme=bookcases",
- "then": "./assets/themes/bookcases/bookcase.svg"
- },
- {
- "if": "theme=buurtnatuur",
- "then": "./assets/themes/buurtnatuur/logo.svg"
- },
- {
- "if": "theme=cafes_and_pubs",
- "then": "./assets/layers/cafe_pub/pub.svg"
- },
- {
- "if": "theme=campersite",
- "then": "./assets/themes/campersite/caravan.svg"
- },
- {
- "if": "theme=charging_stations",
- "then": "./assets/themes/charging_stations/logo.svg"
- },
- {
- "if": "theme=climbing",
- "then": "./assets/themes/climbing/climbing_icon.svg"
- },
- {
- "if": "theme=clock",
- "then": "./assets/layers/clock/clock.svg"
- },
- {
- "if": "theme=cycle_highways",
- "then": "./assets/themes/cycle_highways/fietssnelwegen-logo.svg"
- },
- {
- "if": "theme=cycle_infra",
- "then": "./assets/themes/cycle_infra/cycle-infra.svg"
- },
- {
- "if": "theme=cyclenodes",
- "then": "./assets/themes/cyclenodes/logo.svg"
- },
- {
- "if": "theme=cyclestreets",
- "then": "./assets/themes/cyclestreets/logo.svg"
- },
- {
- "if": "theme=cyclofix",
- "then": "./assets/themes/cyclofix/logo.svg"
- },
- {
- "if": "theme=drinking_water",
- "then": "./assets/themes/drinking_water/logo.svg"
- },
- {
- "if": "theme=education",
- "then": "./assets/layers/school/college.svg"
- },
- {
- "if": "theme=elongated_coin",
- "then": "./assets/themes/elongated_coin/penny.svg"
- },
- {
- "if": "theme=etymology",
- "then": "./assets/layers/etymology/logo.svg"
- },
- {
- "if": "theme=facadegardens",
- "then": "./assets/themes/facadegardens/geveltuin.svg"
- },
- {
- "if": "theme=food",
- "then": "./assets/layers/food/restaurant.svg"
- },
- {
- "if": "theme=fritures",
- "then": "./assets/themes/fritures/logo.svg"
- },
- {
- "if": "theme=fruit_trees",
- "then": "./assets/themes/fruit_trees/fruit_tree.svg"
- },
- {
- "if": "theme=ghostbikes",
- "then": "./assets/themes/ghostbikes/logo.svg"
- },
- {
- "if": "theme=grb",
- "then": "./assets/themes/grb/logo.svg"
- },
- {
- "if": "theme=grb_fixme",
- "then": "./assets/svg/bug.svg"
- },
- {
- "if": "theme=hackerspaces",
- "then": "./assets/themes/hackerspaces/glider.svg"
- },
- {
- "if": "theme=hailhydrant",
- "then": "./assets/themes/hailhydrant/logo.svg"
- },
- {
- "if": "theme=healthcare",
- "then": "./assets/layers/doctors/doctors.svg"
- },
- {
- "if": "theme=hotels",
- "then": "./assets/layers/hotel/hotel.svg"
- },
- {
- "if": "theme=indoors",
- "then": "./assets/layers/entrance/entrance.svg"
- },
- {
- "if": "theme=kerbs_and_crossings",
- "then": "./assets/layers/kerbs/KerbIcon.svg"
- },
- {
- "if": "theme=maproulette",
- "then": "./assets/layers/maproulette/logomark.svg"
- },
- {
- "if": "theme=maps",
- "then": "./assets/themes/maps/logo.svg"
- },
- {
- "if": "theme=maxspeed",
- "then": "./assets/themes/maxspeed/maxspeed_logo.svg"
- },
- {
- "if": "theme=nature",
- "then": "./assets/themes/nature/logo.svg"
- },
- {
- "if": "theme=notes",
- "then": "./assets/themes/notes/logo.svg"
- },
- {
- "if": "theme=observation_towers",
- "then": "./assets/layers/observation_tower/Tower_observation.svg"
- },
- {
- "if": "theme=onwheels",
- "then": "./assets/themes/onwheels/crest.svg"
- },
- {
- "if": "theme=openwindpowermap",
- "then": "./assets/themes/openwindpowermap/logo.svg"
- },
- {
- "if": "theme=osm_community_index",
- "then": "./assets/themes/osm_community_index/osm.svg"
- },
- {
- "if": "theme=parkings",
- "then": "./assets/themes/parkings/parkings.svg"
- },
- {
- "if": "theme=personal",
- "then": "./assets/svg/addSmall.svg"
- },
- {
- "if": "theme=pets",
- "then": "./assets/layers/dogpark/dog-park.svg"
- },
- {
- "if": "theme=play_forests",
- "then": "./assets/layers/play_forest/icon.svg"
- },
- {
- "if": "theme=playgrounds",
- "then": "./assets/themes/playgrounds/playground.svg"
- },
- {
- "if": "theme=postal_codes",
- "then": "./assets/themes/postal_codes/townhall.svg"
- },
- {
- "if": "theme=postboxes",
- "then": "./assets/layers/postboxes/postbox.svg"
- },
- {
- "if": "theme=rainbow_crossings",
- "then": "./assets/themes/rainbow_crossings/logo.svg"
- },
- {
- "if": "theme=shops",
- "then": "./assets/themes/shops/shop.svg"
- },
- {
- "if": "theme=sidewalks",
- "then": "./assets/svg/bug.svg"
- },
- {
- "if": "theme=speelplekken",
- "then": "./assets/themes/speelplekken/logo.svg"
- },
- {
- "if": "theme=sport_pitches",
- "then": "./assets/layers/sport_pitch/table_tennis.svg"
- },
- {
- "if": "theme=sports",
- "then": "./assets/themes/sports/sport.svg"
- },
- {
- "if": "theme=stations",
- "then": "./assets/themes/stations/rail-light.svg"
- },
- {
- "if": "theme=street_lighting",
- "then": "./assets/layers/street_lamps/street_lamp.svg"
- },
- {
- "if": "theme=street_lighting_assen",
- "then": "./assets/layers/street_lamps/street_lamp.svg"
- },
- {
- "if": "theme=surveillance",
- "then": "./assets/themes/surveillance/logo.svg"
- },
- {
- "if": "theme=toerisme_vlaanderen",
- "then": "./assets/themes/toerisme_vlaanderen/logo.svg"
- },
- {
- "if": "theme=toilets",
- "then": "./assets/themes/toilets/toilets.svg"
- },
- {
- "if": "theme=transit",
- "then": "./assets/layers/transit_stops/bus_stop.svg"
- },
- {
- "if": "theme=trees",
- "then": "./assets/themes/trees/logo.svg"
- },
- {
- "if": "theme=uk_addresses",
- "then": "./assets/themes/uk_addresses/housenumber_unknown.svg"
- },
- {
- "if": "theme=vending_machine",
- "then": "./assets/layers/vending_machine/vending_machine.svg"
- },
- {
- "if": "theme=walls_and_buildings",
- "then": "./assets/layers/walls_and_buildings/walls_and_buildings.png"
- },
- {
- "if": "theme=waste",
- "then": "./assets/layers/recycling/recycling-14.svg"
- },
- {
- "if": "theme=waste_assen",
- "then": "./assets/layers/recycling/recycling-14.svg"
- },
- {
- "if": "theme=waste_basket",
- "then": "./assets/themes/waste_basket/waste_basket.svg"
- },
- {
- "if": "theme=width",
- "then": "./assets/themes/width/icon.svg"
- }
- ]
- }
- }
- ]
- }
- ],
- "filter": [
- {
- "id": "theme-search",
- "options": [
- {
- "osmTags": "theme~i~.*{search}.*",
- "fields": [
- {
- "name": "search"
- }
- ],
- "question": {
- "en": "Theme name contains {search}",
- "ca": "El nom del tema conté {search}",
- "de": "Themenname enthält {search}",
- "nl": "Themenaam bevat {search}",
- "cs": "Název motivu obsahuje {search}",
- "es": "El nombre del tema contiene {search}",
- "pl": "Nazwa tematu zawiera {search}"
- }
- }
- ]
- },
- {
- "id": "created_by",
- "options": [
- {
- "osmTags": "user~i~.*{search}.*",
- "fields": [
- {
- "name": "search"
- }
- ],
- "question": {
- "en": "Made by contributor {search}",
- "ca": "Fet pel col·laborador {search}",
- "de": "Erstellt von {search}",
- "nl": "Gemaakt door bijdrager {search}",
- "cs": "Vytvořil přispěvatel {search}",
- "es": "Hecho por el colaborador {search}",
- "pl": "Wykonane przez współautora {search}"
- }
- }
- ]
- },
- {
- "id": "not_created_by",
- "options": [
- {
- "osmTags": "user!~i~.*{search}.*",
- "fields": [
- {
- "name": "search"
- }
- ],
- "question": {
- "en": "Not made by contributor {search}",
- "ca": "No fet pel col·laborador {search}",
- "de": "Nicht erstellt von {search}",
- "nl": "Niet gemaakt door bijdrager {search}",
- "cs": "Není vytvořeno přispěvatelem {search}",
- "es": "No hecho por el colaborador {search}",
- "pl": "Nie wykonane przez współautora {search}"
- }
- }
- ]
- },
- {
- "id": "made_before",
- "options": [
- {
- "osmTags": "date<{search}",
- "fields": [
- {
- "name": "search",
- "type": "date"
- }
- ],
- "question": {
- "en": "Made before {search}",
- "ca": "Fet abans de {search}",
- "de": "Erstellt vor {search}",
- "pl": "Stworzone przed {search}",
- "nl": "Gemaakt voor {search}",
- "cs": "Vytvořeno před {search}",
- "es": "Hecho antes de {search}"
- }
- }
- ]
- },
- {
- "id": "made_after",
- "options": [
- {
- "osmTags": "date>{search}",
- "fields": [
- {
- "name": "search",
- "type": "date"
- }
- ],
- "question": {
- "en": "Made after {search}",
- "ca": "Fet després de {search}",
- "de": "Erstellt nach {search}",
- "pl": "Stworzone po {search}",
- "nl": "Gemaakt na {search}",
- "cs": "Vytvořeno po {search}",
- "es": "Hecho después de {search}"
- }
- }
- ]
- },
- {
- "id": "locale-filter",
- "options": [
- {
- "osmTags": "locale~i~.*{search}.*",
- "fields": [
- {
- "name": "search"
- }
- ],
- "question": {
- "en": "User language (iso-code) {search}",
- "ca": "Idioma de l'usuari (codi iso) {search}",
- "de": "Benutzersprache (ISO-Code) {search}",
- "fr": "Langage utilisateur (code-ISO) {search}",
- "nl": "De taal van de bijdrager is {search}",
- "pl": "Język użytkownika (kod iso) {search}",
- "cs": "Jazyk uživatele (iso-kód) {search}",
- "es": "Use idioma (ISO-code) {search}"
- }
- }
- ]
- },
- {
- "id": "host_name",
- "options": [
- {
- "osmTags": "host~i~.*{search}.*",
- "fields": [
- {
- "name": "search"
- }
- ],
- "question": {
- "en": "Made with host {search}",
- "ca": "Fet amb l'amfitrió {search}",
- "de": "Erstellt mit Host {search}",
- "nl": "Gemaakt met host {search}",
- "cs": "Vytvořeno pomocí hostitele {search}",
- "es": "Hecho con el host {search}",
- "pl": "Wykonane z hostem {search}"
- }
- }
- ]
- },
- {
- "id": "added-image",
- "options": [
- {
- "osmTags": "add-image>0",
- "question": {
- "en": "Changeset added at least one image",
- "ca": "El conjunt de canvis ha afegit almenys una imatge",
- "de": "Im Änderungssatz wurde mindestens ein Bild hinzugefügt",
- "fr": "Le groupe de modifications a ajouté au moins une image",
- "nl": "Changeset bevat minstens één afbeelding",
- "pl": "Zestaw zmian dodał co najmniej jedno zdjęcie",
- "cs": "Sada změn přidala alespoň jeden obrázek",
- "es": "El conjunto de cambios ha añadido al menos una imagen"
- }
- }
- ]
- }
- ]
- },
- {
- "builtin": "current_view",
- "override": {
- "title": "Statistics on changesets in the current view",
- "tagRenderings+": [
- {
- "id": "link_to_more",
- "render": {
- "en": "More statistics can be found here",
- "ca": "Es pot trobar més estadística aquí",
- "de": "Mehr Statistiken gibt es hier",
- "fr": "D'autres statistiques sont disponibles ici",
- "cs": "Další statistiky najdete here",
- "es": "Puede encontrar más estadísticas aquí",
- "pl": "Więcej statystyk można znaleźć tutaj"
- }
- },
- {
- "id": "hist_themes",
- "render": "{histogram(_embedded_cs:themes, Themename, Number of changesets)}"
- },
- {
- "id": "hist_users",
- "render": "{histogram(_embedded_cs:users, Contributor, Number of changesets)}"
- }
- ],
- "calculatedTags": [
- "_embedded_cs=overlapWith(feat)('mapcomplete-changes').map(f => f.feat.properties)",
- "_embedded_cs:themes=feat.get('_embedded_cs').map(cs => cs.theme)",
- "_embedded_cs:users=feat.get('_embedded_cs').map(cs => cs['_last_edit:contributor'])"
- ],
- "+mapRendering": [
- {
- "location": [
- "point"
- ],
- "icon": "statistics:black",
- "iconSize": "30,30",
- "anchor": "center"
- }
- ]
- }
- }
- ],
- "widenFactor": 0.05,
- "clustering": false
-}
diff --git a/assets/themes/onwheels/onwheels.json b/assets/themes/onwheels/onwheels.json
index 4a0ed1e5b0..a32ec3c3d5 100644
--- a/assets/themes/onwheels/onwheels.json
+++ b/assets/themes/onwheels/onwheels.json
@@ -59,9 +59,13 @@
"builtin": "cafe_pub",
"override": {
"minzoom": 15,
- "mapRendering": [
+ "pointRendering": [
{
- "icon": "./assets/themes/onwheels/cafe.svg",
+ "=marker": [
+ {
+ "icon": "./assets/themes/onwheels/cafe.svg"
+ }
+ ],
"iconSize": "40,40",
"anchor": "bottom",
"label": null
@@ -73,9 +77,13 @@
"builtin": "entrance",
"override": {
"minzoom": 18,
- "mapRendering": [
+ "pointRendering": [
{
- "icon": "circle:white;./assets/themes/onwheels/entrance.svg"
+ "=marker": [
+ {
+ "icon": "circle:white;./assets/themes/onwheels/entrance.svg"
+ }
+ ]
}
],
"syncSelection": "theme-only",
@@ -120,9 +128,13 @@
"builtin": "food",
"override": {
"minzoom": 15,
- "mapRendering": [
+ "pointRendering": [
{
- "icon": "./assets/themes/onwheels/restaurant.svg",
+ "marker": [
+ {
+ "icon": "./assets/themes/onwheels/restaurant.svg"
+ }
+ ],
"iconSize": "40,40",
"anchor": "bottom",
"label": null
@@ -135,11 +147,13 @@
"override": {
"minzoom": 18,
"syncSelection": "theme-only",
- "mapRendering": [
+ "pointRendering": [
{
- "icon": {
- "render": "./assets/themes/onwheels/cone.svg"
- }
+ "=marker": [
+ {
+ "icon": "./assets/themes/onwheels/cone.svg"
+ }
+ ]
}
],
"=filter": [
@@ -210,9 +224,18 @@
"builtin": "parking",
"override": {
"minzoom": 15,
- "mapRendering": [
+ "lineRendering": [
{
- "icon": "./assets/themes/onwheels/parking.svg",
+ "color": "#225f92"
+ }
+ ],
+ "pointRendering": [
+ {
+ "marker": [
+ {
+ "icon": "./assets/themes/onwheels/parking.svg"
+ }
+ ],
"anchor": "bottom",
"=iconSize": {
"render": "20,20",
@@ -228,9 +251,6 @@
}
]
}
- },
- {
- "color": "#225f92"
}
]
}
@@ -241,11 +261,13 @@
"source": {
"osmTags": "parking_space=disabled"
},
- "mapRendering": [
+ "pointRendering": [
{
- "icon": {
- "mappings": null
- },
+ "marker": [
+ {
+ "mappings": null
+ }
+ ],
"iconSize": "40,40",
"anchor": "center",
"iconBadges": [
@@ -276,13 +298,19 @@
"builtin": "shops",
"override": {
"minzoom": 15,
- "mapRendering": [
+ "pointRendering": [
{
- "icon": "./assets/themes/onwheels/shop.svg",
+ "=marker": [
+ {
+ "icon": "./assets/themes/onwheels/shop.svg"
+ }
+ ],
"iconSize": "40,40",
"anchor": "bottom",
"label": null
- },
+ }
+ ],
+ "lineRendering": [
{
"color": "#ea4a94"
}
@@ -294,9 +322,13 @@
"override": {
"minzoom": 18,
"syncSelection": "theme-only",
- "mapRendering": [
+ "pointRendering": [
{
- "icon": "./assets/themes/onwheels/toilet.svg",
+ "=marker": [
+ {
+ "icon": "./assets/themes/onwheels/toilet.svg"
+ }
+ ],
"iconSize": "40,40",
"anchor": "bottom"
}
@@ -308,9 +340,13 @@
"override": {
"minzoom": 15,
"shownByDefault": false,
- "mapRendering": [
+ "pointRendering": [
{
- "icon": "./assets/themes/onwheels/pharmacy.svg",
+ "=marker": [
+ {
+ "icon": "./assets/themes/onwheels/pharmacy.svg"
+ }
+ ],
"iconSize": "40,40",
"anchor": "bottom",
"label": null
@@ -323,9 +359,13 @@
"shownByDefault": false,
"override": {
"minzoom": 15,
- "mapRendering": [
+ "pointRendering": [
{
- "icon": "./assets/themes/onwheels/doctor.svg",
+ "=marker": [
+ {
+ "icon": "./assets/themes/onwheels/doctor.svg"
+ }
+ ],
"iconSize": "40,40",
"anchor": "bottom"
}
@@ -337,12 +377,18 @@
"override": {
"minzoom": 15,
"shownByDefault": false,
- "mapRendering": [
+ "pointRendering": [
{
- "icon": "./assets/themes/onwheels/hospital.svg",
+ "=marker": [
+ {
+ "icon": "./assets/themes/onwheels/hospital.svg"
+ }
+ ],
"iconSize": "40,40",
"anchor": "bottom"
- },
+ }
+ ],
+ "lineRendering": [
{
"color": "#dd463b"
}
@@ -362,9 +408,13 @@
"override": {
"minzoom": 18,
"syncSelection": "theme-only",
- "mapRendering": [
+ "pointRendering": [
{
- "icon": "circle:white;./assets/themes/onwheels/elevator.svg",
+ "=marker": [
+ {
+ "icon": "circle:white;./assets/themes/onwheels/elevator.svg"
+ }
+ ],
"iconSize": "40,40",
"anchor": "bottom"
}
@@ -376,9 +426,13 @@
"override": {
"minzoom": 15,
"shownByDefault": false,
- "mapRendering": [
+ "pointRendering": [
{
- "icon": "./assets/themes/onwheels/hotel.svg",
+ "=marker": [
+ {
+ "icon": "./assets/themes/onwheels/hotel.svg"
+ }
+ ],
"iconSize": "40,40",
"anchor": "bottom"
}
@@ -389,9 +443,13 @@
"builtin": "governments",
"override": {
"minzoom": 15,
- "mapRendering": [
+ "pointRendering": [
{
- "icon": "./assets/themes/onwheels/government.svg",
+ "=marker": [
+ {
+ "icon": "./assets/themes/onwheels/government.svg"
+ }
+ ],
"iconSize": "40,40",
"anchor": "bottom"
}
@@ -401,13 +459,17 @@
{
"builtin": "current_view",
"override": {
- "+mapRendering": [
+ "+pointRendering": [
{
"location": [
"point",
"centroid"
],
- "icon": "statistics"
+ "marker": [
+ {
+ "icon": "statistics"
+ }
+ ]
}
],
"=title": {
diff --git a/assets/themes/pets/pets.json b/assets/themes/pets/pets.json
index 691a7e4793..d42879302d 100644
--- a/assets/themes/pets/pets.json
+++ b/assets/themes/pets/pets.json
@@ -49,13 +49,17 @@
"zh_Hant": "寵物友善餐廳",
"pl": "Restauracje przyjazne psom"
},
- "mapRendering": [
+ "pointRendering": [
{
"location": [
"point",
"centroid"
],
- "icon": "./assets/themes/pets/dog-food.svg",
+ "marker": [
+ {
+ "icon": "./assets/themes/pets/dog-food.svg"
+ }
+ ],
"iconSize": "30,30"
}
],
@@ -124,33 +128,37 @@
}
]
},
- "mapRendering": [
+ "pointRendering": [
{
"location": [
"point",
"centroid"
],
- "icon": {
- "render": "./assets/themes/pets/dogshop.svg",
- "+mappings": [
- {
- "if": {
- "and": [
- "shop=pet"
- ]
- },
- "then": "./assets/themes/pets/petshop.svg"
+ "marker": [{},
+ {
+ "icon": {
+ "render": "./assets/themes/pets/dogshop.svg",
+ "+mappings": [
+ {
+ "if": {
+ "and": [
+ "shop=pet"
+ ]
+ },
+ "then": "./assets/themes/pets/petshop.svg"
+ }
+ ]
}
- ]
- },
+ }
+ ],
"iconSize": "30,30"
- },
- {
- "#": "Rendering of a line",
- "color": "#ff0",
- "width": 5
}
],
+ "=lineRendering":[ {
+ "#": "Rendering of a line",
+ "color": "#ff0",
+ "width": 5
+ }],
"=presets": [],
"source": {
"=osmTags": {
diff --git a/assets/themes/sports/sports.json b/assets/themes/sports/sports.json
index 2daf563047..abd74caf36 100644
--- a/assets/themes/sports/sports.json
+++ b/assets/themes/sports/sports.json
@@ -80,12 +80,17 @@
}
],
"minzoom": 12,
- "mapRendering": [
+ "pointRendering": [
{
- "icon": "./assets/layers/id_presets/maki-shop.svg"
+ "marker": [
+ {},
+ {
+ "icon": "./assets/layers/id_presets/maki-shop.svg"
+ }
+ ]
}
]
}
}
]
-}
\ No newline at end of file
+}
diff --git a/assets/themes/toerisme_vlaanderen/toerisme_vlaanderen.json b/assets/themes/toerisme_vlaanderen/toerisme_vlaanderen.json
index e118e86fd2..f94ea61d9d 100644
--- a/assets/themes/toerisme_vlaanderen/toerisme_vlaanderen.json
+++ b/assets/themes/toerisme_vlaanderen/toerisme_vlaanderen.json
@@ -50,13 +50,17 @@
}
},
"filter": null,
- "=mapRendering": [
+ "=pointRendering": [
{
"location": [
"point",
"centroid"
],
- "icon": "./assets/themes/toerisme_vlaanderen/charging_station_ebike.svg"
+ "marker": [
+ {
+ "icon": "./assets/themes/toerisme_vlaanderen/charging_station_ebike.svg"
+ }
+ ]
}
],
"=presets": [
@@ -89,8 +93,9 @@
"builtin": "toilet",
"override": {
"minzoom": 14,
- "mapRendering": [
+ "pointRendering": [
{
+ "=marker":[{
"icon": {
"render": "./assets/themes/toerisme_vlaanderen/toilets.svg",
"=mappings": [
@@ -101,16 +106,20 @@
]
}
}
- ]
+ ]}]
}
},
{
"builtin": "bench",
"override": {
"minzoom": 14,
- "mapRendering": [
+ "pointRendering": [
{
- "icon": "./assets/themes/toerisme_vlaanderen/bench.svg"
+ "=marker": [
+ {
+ "icon": "./assets/themes/toerisme_vlaanderen/bench.svg"
+ }
+ ]
}
]
}
@@ -119,9 +128,13 @@
"builtin": "picnic_table",
"override": {
"minzoom": 14,
- "mapRendering": [
+ "pointRendering": [
{
- "icon": "./assets/themes/toerisme_vlaanderen/picnic_table.svg"
+ "=marker": [
+ {
+ "icon": "./assets/themes/toerisme_vlaanderen/picnic_table.svg"
+ }
+ ]
}
]
}
@@ -130,9 +143,13 @@
"builtin": "observation_tower",
"override": {
"minzoom": 14,
- "mapRendering": [
+ "pointRendering": [
{
- "icon": "./assets/themes/toerisme_vlaanderen/observation_tower.svg"
+ "=marker": [
+ {
+ "icon": "./assets/themes/toerisme_vlaanderen/observation_tower.svg"
+ }
+ ]
}
]
}
@@ -141,35 +158,39 @@
"builtin": "bike_repair_station",
"override": {
"minzoom": 14,
- "=mapRendering": [
+ "=pointRendering": [
{
"location": [
"point",
"centroid"
],
- "icon": {
- "render": "./assets/themes/toerisme_vlaanderen/cycle_pump.svg",
- "mappings": [
- {
- "if": {
- "and": [
- "service:bicycle:tools=yes",
- "service:bicycle:pump=yes"
- ]
- },
- "then": "./assets/themes/toerisme_vlaanderen/cycle_repair_and_pump.svg"
- },
- {
- "if": {
- "and": [
- "service:bicycle:tools=yes",
- "service:bicycle:pump=no"
- ]
- },
- "then": "./assets/themes/toerisme_vlaanderen/cycle_repair.svg"
+ "=marker": [
+ {
+ "icon": {
+ "render": "./assets/themes/toerisme_vlaanderen/cycle_pump.svg",
+ "mappings": [
+ {
+ "if": {
+ "and": [
+ "service:bicycle:tools=yes",
+ "service:bicycle:pump=yes"
+ ]
+ },
+ "then": "./assets/themes/toerisme_vlaanderen/cycle_repair_and_pump.svg"
+ },
+ {
+ "if": {
+ "and": [
+ "service:bicycle:tools=yes",
+ "service:bicycle:pump=no"
+ ]
+ },
+ "then": "./assets/themes/toerisme_vlaanderen/cycle_repair.svg"
+ }
+ ]
}
- ]
- },
+ }
+ ],
"iconBadges": [
{
"if": "service:bicycle:pump:operational_status=broken",
@@ -225,9 +246,12 @@
"builtin": "playground",
"override": {
"minzoom": 14,
- "mapRendering": [
+ "pointRendering": [
{
+ "=marker":[{
+
"icon": "./assets/themes/toerisme_vlaanderen/playground.svg"
+ }]
}
]
},
@@ -241,4 +265,4 @@
"enableShareScreen": false,
"enableMoreQuests": false,
"widenFactor": 1.5
-}
\ No newline at end of file
+}
diff --git a/scripts/generateLayerOverview.ts b/scripts/generateLayerOverview.ts
index dc7779fd6f..438e0f1e0d 100644
--- a/scripts/generateLayerOverview.ts
+++ b/scripts/generateLayerOverview.ts
@@ -395,10 +395,11 @@ class LayerOverviewUtils extends Script {
JSON.stringify({ layers: Array.from(sharedLayers.values()) })
)
+ const mcChangesPath = "./assets/themes/mapcomplete-changes/mapcomplete-changes.json"
if (
recompiledThemes.length > 0 &&
!(recompiledThemes.length === 1 && recompiledThemes[0] === "mapcomplete-changes") &&
- args.indexOf("--generate-change-map") >= 0
+ (args.indexOf("--generate-change-map") >= 0 || !existsSync(mcChangesPath))
) {
// mapcomplete-changes shows an icon for each corresponding mapcomplete-theme
const iconsPerTheme = Array.from(sharedThemes.values()).map((th) => ({
@@ -415,10 +416,7 @@ class LayerOverviewUtils extends Script {
)
const rendering = protolayer.pointRendering[0]
rendering.marker[0].icon["mappings"] = iconsPerTheme
- writeFileSync(
- "./assets/themes/mapcomplete-changes/mapcomplete-changes.json",
- JSON.stringify(proto, null, " ")
- )
+ writeFileSync(mcChangesPath, JSON.stringify(proto, null, " "))
}
this.checkAllSvgs()
diff --git a/src/Models/ThemeConfig/Conversion/Validation.ts b/src/Models/ThemeConfig/Conversion/Validation.ts
index a46dfc4125..24191d093c 100644
--- a/src/Models/ThemeConfig/Conversion/Validation.ts
+++ b/src/Models/ThemeConfig/Conversion/Validation.ts
@@ -1061,10 +1061,20 @@ export class PrevalidateLayer extends DesugaringStep {
"'"
)
}
+ if (json["pointRenderings"]?.length > 0) {
+ context
+ .enter("pointRenderings")
+ .err("Detected a 'pointRenderingS', it is written singular")
+ }
if (!(json.pointRendering?.length > 0)) {
// context.enter("pointRendering").err("There are no pointRenderings at all")
}
+
+ if (json["mapRendering"]) {
+ context.enter("mapRendering").err("This layer has a legacy 'mapRendering'")
+ }
+
if (json.presets?.length > 0) {
if (!(json.pointRendering?.length > 0)) {
context.enter("presets").warn("A preset is defined, but there is no pointRendering")
diff --git a/src/Models/ThemeConfig/PointRenderingConfig.ts b/src/Models/ThemeConfig/PointRenderingConfig.ts
index b43bbe5afc..ef237eb614 100644
--- a/src/Models/ThemeConfig/PointRenderingConfig.ts
+++ b/src/Models/ThemeConfig/PointRenderingConfig.ts
@@ -85,6 +85,12 @@ export default class PointRenderingConfig extends WithContextLoader {
throw `At ${context}: A point rendering should define at least an marker or a label`
}
+ if (json["markers"]) {
+ throw `At ${context}.markers: detected a field 'markerS' in pointRendering. It is written as a singular case`
+ }
+ if (json.marker && !Array.isArray(json.marker)) {
+ throw `At ${context}.marker: the marker in a pointRendering should be an array`
+ }
if (this.location.size == 0) {
throw (
"A pointRendering should have at least one 'location' to defined where it should be rendered. (At " +