diff --git a/assets/themes/mapcomplete-changes/mapcomplete-changes.json b/assets/themes/mapcomplete-changes/mapcomplete-changes.json index 458a64361..7f4478a58 100644 --- a/assets/themes/mapcomplete-changes/mapcomplete-changes.json +++ b/assets/themes/mapcomplete-changes/mapcomplete-changes.json @@ -1,13 +1,33 @@ { "id": "mapcomplete-changes", "title": { - "en": "Changes made with MapComplete" + "en": "Changes made with MapComplete", + "ca": "Canvis fets amb MapComplete", + "cs": "Změny provedené pomocí MapComplete", + "de": "Mit MapComplete erstellte Änderungen", + "es": "Cambios realizados con MapComplete", + "fr": "Changements faits avec MapComplete", + "nl": "Wijzigingen gemaakt met MapComplete", + "pl": "Zmiany wprowadzone za pomocą MapComplete" }, "shortDescription": { - "en": "Shows changes made by MapComplete" + "en": "Show changes made with MapComplete", + "ca": "Mostra els canvis fets amb MapComplete", + "cs": "Zobrazení změn provedených pomocí nástroje MapComplete", + "de": "Mit MapComplete erstellte Änderungen anzeigen", + "es": "Mostrar cambios realizados con MapComplete", + "nl": "Toon wijzigingen gemaakt met MapComplete", + "pl": "Pokaż zmiany wprowadzone za pomocą MapComplete" }, "description": { - "en": "This maps shows all the changes made with MapComplete" + "en": "This maps shows all the changes made with MapComplete", + "ca": "Aquest mapa mostra tots els canvis fets amb MapComplete", + "cs": "Tato mapa zobrazuje všechny změny provedené pomocí MapComplete", + "de": "Diese Karte zeigt alle mit MapComplete vorgenommenen Änderungen", + "es": "Este mapa muestra todos los cambios realizados con MapComplete", + "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" }, "icon": "./assets/svg/logo.svg", "hideFromOverview": true, @@ -20,7 +40,13 @@ { "id": "mapcomplete-changes", "name": { - "en": "Changeset centers" + "en": "Changeset centers", + "ca": "Centre del conjunt de canvis", + "cs": "Centrum změn", + "de": "Zentrum der Änderungssätze", + "es": "Centro del conjunto de cambios", + "nl": "Centerpunt van changeset", + "pl": "Centra zmian" }, "minzoom": 0, "source": { @@ -31,41 +57,85 @@ }, "title": { "render": { - "en": "Changeset for {theme}" + "en": "Changeset for {theme}", + "ca": "Conjunt de canvis per a {theme}", + "cs": "Změna pro {theme}", + "de": "Änderungssatz für {theme}", + "es": "Conjunto de cambios para {theme}", + "fr": "Groupe de modifications pour {theme}", + "pl": "Zestaw zmian dla {theme}" } }, "description": { - "en": "Shows all MapComplete changes" + "en": "Show all MapComplete changes", + "ca": "Mostra tots els canvis de MapComplete", + "cs": "Zobrazit všechny změny MapComplete", + "de": "Alle MapComplete-Änderungen anzeigen", + "es": "Mostrar todos los cambios de MapComplete", + "nl": "Toon alle MapComplete wijzigingen", + "pl": "Wyświetl wszystkie zmiany MapComplete" }, "tagRenderings": [ { "id": "show_changeset_id", "render": { - "en": "Changeset {id}" + "en": "Changeset {id}", + "ca": "Conjunt de canvi {id}", + "cs": "Změny {id}", + "de": "Änderungssatz {id}", + "es": "Conjunto de cambios {id}", + "fr": "Groupe de modifications {id}", + "pl": "Zestaw zmian {id}" } }, { "id": "contributor", "question": { - "en": "What contributor did make this change?" + "en": "Which contributor made this change?", + "ca": "Quin col·laborador va fer aquest canvi?", + "cs": "Který přispěvatel tuto změnu provedl?", + "de": "Wer hat diese Änderung vorgenommen?", + "es": "¿Qué contribuidor hizo este cambio?", + "fr": "Quel contributeur a fait cette modification ?", + "nl": "Welke bijdrager maakte deze wijziging?", + "pl": "Który współautor dokonał tej zmiany?" }, "freeform": { "key": "user" }, "render": { - "en": "Change made by {user}" + "en": "Change made by {user}", + "ca": "Canvi fet per {user}", + "cs": "Změna provedená {user}", + "de": "Änderung von {user}", + "es": "Cambio realizado por {user}", + "fr": "Modification faite par {user}", + "nl": "Wijziging gemaakt door {user}", + "pl": "Zmiana dokonana przez {user}" } }, { "id": "theme-id", "question": { - "en": "What theme was used to make this change?" + "en": "What theme was used to make this change?", + "ca": "Quin tema es va utilitzar per fer aquest canvi?", + "cs": "Jaké téma bylo použito k provedení této změny?", + "de": "Welches Thema wurde für diese Änderung verwendet?", + "es": "¿Qué tema se utilizó para realizar este cambio?", + "fr": "Quel thème a été utilisé pour faire cette modification ?", + "pl": "Jakiego tematu użyto do wprowadzenia tej zmiany?" }, "freeform": { "key": "theme" }, "render": { - "en": "Change with theme {theme}" + "en": "Change with theme {theme}", + "ca": "Canvi amb el tema {theme}", + "cs": "Změna s motivem {theme}", + "de": "Geändert mit Thema {theme}", + "es": "Cambio con tema {theme}", + "fr": "Modifié avec le thème {theme}", + "pl": "Zmiana za pomocą motywu {theme}" } }, { @@ -74,19 +144,45 @@ "key": "locale" }, "question": { - "en": "What locale (language) was this change made in?" + "en": "What locale (language) was this change made in?", + "ca": "Amb quina configuració regional (idioma) s'ha fet aquest canvi?", + "cs": "V jakém národním prostředí (jazyce) byla tato změna provedena?", + "de": "In welcher Benutzersprache wurde diese Änderung vorgenommen?", + "es": "¿En qué configuración regional (idioma) se realizó este cambio?", + "fr": "En quelle langue est-ce que ce changement a été fait ?", + "nl": "In welke locale (taal) werd deze wijziging gemaakt?", + "pl": "W jakim języku wprowadzono tę zmianę?" }, "render": { - "en": "User locale is {locale}" + "en": "User locale is {locale}", + "ca": "La configuració regional de l'usuari és {locale}", + "cs": "Uživatelské prostředí je {locale}", + "de": "Benutzersprache {locale}", + "es": "La configuración regional del usuario es {locale}", + "nl": "De gebruikerstaal is {locale}", + "pl": "Ustawienia regionalne użytkownika to {locale}" } }, { "id": "host", "render": { - "en": "Change with with {host}" + "en": "Change made with {host}", + "ca": "Canviat fet amb {host}", + "cs": "Změna provedená pomocí {host}", + "de": "Geändert über {host}", + "es": "Cambio realizado con {host}", + "fr": "Modification faite avec {host}", + "nl": "Wijziging gemaakt met {host}", + "pl": "Zmiana dokonana w {host}" }, "question": { - "en": "What host (website) was this change made with?" + "en": "What host (website) was this change made with?", + "ca": "Amb quin amfitrió (lloc web) es va fer aquest canvi?", + "cs": "U jakého hostitele (webové stránky) byla tato změna provedena?", + "de": "Über welchen Host (Webseite) wurde diese Änderung vorgenommen?", + "es": "¿Con qué host (página web) se realizó este cambio?", + "nl": "Met welke host (website) werd deze wijziging gemaakt?", + "pl": "Na jakim hoście (stronie internetowej) dokonano tej zmiany?" }, "freeform": { "key": "host" @@ -107,10 +203,22 @@ { "id": "version", "question": { - "en": "What version of MapComplete was used to make this change?" + "en": "What version of MapComplete was used to make this change?", + "ca": "Quina versió de MapComplete es va utilitzar per fer aquest canvi?", + "cs": "Jaká verze aplikace MapComplete byla použita k provedení této změny?", + "de": "Mit welcher Version von MapComplete wurde diese Änderung gemacht?", + "es": "¿Qué versión de MapComplete se usó para realizar este cambio?", + "fr": "Quelle version de MapComplete a été utilisée pour faire cette modification ?", + "pl": "Która wersja MapComplete została wykorzystana, aby zrobić tę zmianę?" }, "render": { - "en": "Made with {editor}" + "en": "Made with {editor}", + "ca": "Fet amb {editor}", + "cs": "Vyrobeno pomocí {editor}", + "de": "Erstellt mit {editor}", + "es": "Realizado con {editor}", + "fr": "Fait avec {editor}", + "pl": "Zrobione za pomocą {editor}" }, "freeform": { "key": "editor" @@ -460,7 +568,13 @@ } ], "question": { - "en": "Themename contains {search}" + "en": "Theme name contains {search}", + "ca": "El nom del tema conté {search}", + "cs": "Název motivu obsahuje {search}", + "de": "Themenname enthält {search}", + "es": "El nombre del tema contiene {search}", + "nl": "Themenaam bevat {search}", + "pl": "Nazwa tematu zawiera {search}" } } ] @@ -476,29 +590,8 @@ } ], "question": { - "en": "Themename does not contain {search}" - } - } - ] - }, - { - "id": "exclude_grb", - "options": [ - { - "osmTags": "theme!=grb", - "question": { - "en": "Exclude GRB theme" - } - } - ] - }, - { - "id": "exclude_etymology", - "options": [ - { - "osmTags": "theme!=etymology", - "question": { - "en": "Exclude etymology theme" + "en": "Theme name does not contain {search}" + } } ] @@ -514,7 +607,14 @@ } ], "question": { - "en": "Made by contributor {search}" + "en": "Made by contributor {search}", + "ca": "Fet pel col·laborador {search}", + "cs": "Vytvořil přispěvatel {search}", + "de": "Erstellt von {search}", + "es": "Hecho por el colaborador {search}", + "nl": "Gemaakt door bijdrager {search}", + "pl": "Wykonane przez współautora {search}" + } } ] @@ -530,7 +630,14 @@ } ], "question": { - "en": "Not made by contributor {search}" + "en": "Not made by contributor {search}", + "ca": "No fet pel col·laborador {search}", + "cs": "Není vytvořeno přispěvatelem {search}", + "de": "Nicht erstellt von {search}", + "es": "No hecho por el colaborador {search}", + "nl": "Niet gemaakt door bijdrager {search}", + "pl": "Nie wykonane przez współautora {search}" + } } ] @@ -547,7 +654,14 @@ } ], "question": { - "en": "Made before {search}" + "en": "Made before {search}", + "ca": "Fet abans de {search}", + "cs": "Vytvořeno před {search}", + "de": "Erstellt vor {search}", + "es": "Hecho antes de {search}", + "nl": "Gemaakt voor {search}", + "pl": "Stworzone przed {search}" + } } ] @@ -564,7 +678,14 @@ } ], "question": { - "en": "Made after {search}" + "en": "Made after {search}", + "ca": "Fet després de {search}", + "cs": "Vytvořeno po {search}", + "de": "Erstellt nach {search}", + "es": "Hecho después de {search}", + "nl": "Gemaakt na {search}", + "pl": "Stworzone po {search}" + } } ] @@ -579,8 +700,15 @@ "name": "search" } ], - "question": { - "en": "User language (iso-code) {search}" + "question": { "en": "User language (iso-code) {search}", + "ca": "Idioma de l'usuari (codi iso) {search}", + "cs": "Jazyk uživatele (iso-kód) {search}", + "de": "Benutzersprache (ISO-Code) {search}", + "es": "Use idioma (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}" + } } ] @@ -596,7 +724,15 @@ } ], "question": { - "en": "Made with host {search}" + + "en": "Made with host {search}", + "ca": "Fet amb l'amfitrió {search}", + "cs": "Vytvořeno pomocí hostitele {search}", + "de": "Erstellt mit Host {search}", + "es": "Hecho con el host {search}", + "nl": "Gemaakt met host {search}", + "pl": "Wykonane z hostem {search}" + } } ] @@ -606,6 +742,36 @@ "options": [ { "osmTags": "add-image>0", + "question": { + "en": "Changeset added at least one image", + "ca": "El conjunt de canvis ha afegit almenys una imatge", + "cs": "Sada změn přidala alespoň jeden obrázek", + "de": "Im Änderungssatz wurde mindestens ein Bild hinzugefügt", + "es": "El conjunto de cambios ha añadido al menos una imagen", + "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" + + } + } + ] + }, + { + "id": "exclude_grb", + "options": [ + { + "osmTags": "theme!=grb", + "question": { + "en": "Made with host {search}" + } + } + ] + }, + { + "id": "exclude_etymology", + "options": [ + { + "osmTags": "theme!=etymology", "question": { "en": "Changeset added at least one image" } @@ -622,7 +788,13 @@ { "id": "link_to_more", "render": { - "en": "More statistics can be found here" + "en": "More statistics can be found here", + "ca": "Es pot trobar més estadística aquí", + "cs": "Další statistiky najdete here", + "de": "Mehr Statistiken gibt es hier", + "es": "Puede encontrar más estadísticas aquí", + "fr": "D'autres statistiques sont disponibles ici", + "pl": "Więcej statystyk można znaleźć tutaj" } }, { @@ -656,4 +828,4 @@ } } ] -} \ No newline at end of file +} diff --git a/langs/themes/ca.json b/langs/themes/ca.json index e1dd8e763..2a5497984 100644 --- a/langs/themes/ca.json +++ b/langs/themes/ca.json @@ -865,49 +865,49 @@ } } }, - "1": { + "2": { "options": { "0": { "question": "Fet pel col·laborador {search}" } } }, - "2": { + "3": { "options": { "0": { "question": "No fet pel col·laborador {search}" } } }, - "3": { + "4": { "options": { "0": { "question": "Fet abans de {search}" } } }, - "4": { + "5": { "options": { "0": { "question": "Fet després de {search}" } } }, - "5": { + "6": { "options": { "0": { "question": "Idioma de l'usuari (codi iso) {search}" } } }, - "6": { + "7": { "options": { "0": { "question": "Fet amb l'amfitrió {search}" } } }, - "7": { + "8": { "options": { "0": { "question": "El conjunt de canvis ha afegit almenys una imatge" diff --git a/langs/themes/cs.json b/langs/themes/cs.json index 549bc85f6..2ea8d9e50 100644 --- a/langs/themes/cs.json +++ b/langs/themes/cs.json @@ -900,49 +900,49 @@ } } }, - "1": { + "2": { "options": { "0": { "question": "Vytvořil přispěvatel {search}" } } }, - "2": { + "3": { "options": { "0": { "question": "Není vytvořeno přispěvatelem {search}" } } }, - "3": { + "4": { "options": { "0": { "question": "Vytvořeno před {search}" } } }, - "4": { + "5": { "options": { "0": { "question": "Vytvořeno po {search}" } } }, - "5": { + "6": { "options": { "0": { "question": "Jazyk uživatele (iso-kód) {search}" } } }, - "6": { + "7": { "options": { "0": { "question": "Vytvořeno pomocí hostitele {search}" } } }, - "7": { + "8": { "options": { "0": { "question": "Sada změn přidala alespoň jeden obrázek" diff --git a/langs/themes/de.json b/langs/themes/de.json index 75aa2f5ad..32c9131e3 100644 --- a/langs/themes/de.json +++ b/langs/themes/de.json @@ -905,49 +905,49 @@ } } }, - "1": { + "2": { "options": { "0": { "question": "Erstellt von {search}" } } }, - "2": { + "3": { "options": { "0": { "question": "Nicht erstellt von {search}" } } }, - "3": { + "4": { "options": { "0": { "question": "Erstellt vor {search}" } } }, - "4": { + "5": { "options": { "0": { "question": "Erstellt nach {search}" } } }, - "5": { + "6": { "options": { "0": { "question": "Benutzersprache (ISO-Code) {search}" } } }, - "6": { + "7": { "options": { "0": { "question": "Erstellt mit Host {search}" } } }, - "7": { + "8": { "options": { "0": { "question": "Im Änderungssatz wurde mindestens ein Bild hinzugefügt" diff --git a/langs/themes/en.json b/langs/themes/en.json index 5a01a4795..8ad7167bc 100644 --- a/langs/themes/en.json +++ b/langs/themes/en.json @@ -911,46 +911,67 @@ "1": { "options": { "0": { - "question": "Made by contributor {search}" + "question": "Theme name does not contain {search}" } } }, "2": { "options": { "0": { - "question": "Not made by contributor {search}" + "question": "Made by contributor {search}" } } }, "3": { "options": { "0": { - "question": "Made before {search}" + "question": "Not made by contributor {search}" } } }, "4": { "options": { "0": { - "question": "Made after {search}" + "question": "Made before {search}" } } }, "5": { "options": { "0": { - "question": "User language (iso-code) {search}" + "question": "Made after {search}" } } }, "6": { "options": { "0": { - "question": "Made with host {search}" + "question": "User language (iso-code) {search}" } } }, "7": { + "options": { + "0": { + "question": "Made with host {search}" + } + } + }, + "8": { + "options": { + "0": { + "question": "Changeset added at least one image" + } + } + }, + "9": { + "options": { + "0": { + "question": "Made with host {search}" + } + } + }, + "10": { "options": { "0": { "question": "Changeset added at least one image" diff --git a/langs/themes/es.json b/langs/themes/es.json index cc5186749..1670978f4 100644 --- a/langs/themes/es.json +++ b/langs/themes/es.json @@ -869,49 +869,49 @@ } } }, - "1": { + "2": { "options": { "0": { "question": "Hecho por el colaborador {search}" } } }, - "2": { + "3": { "options": { "0": { "question": "No hecho por el colaborador {search}" } } }, - "3": { + "4": { "options": { "0": { "question": "Hecho antes de {search}" } } }, - "4": { + "5": { "options": { "0": { "question": "Hecho después de {search}" } } }, - "5": { + "6": { "options": { "0": { "question": "Use idioma (ISO-code) {search}" } } }, - "6": { + "7": { "options": { "0": { "question": "Hecho con el host {search}" } } }, - "7": { + "8": { "options": { "0": { "question": "El conjunto de cambios ha añadido al menos una imagen" diff --git a/langs/themes/fr.json b/langs/themes/fr.json index 371633038..00104a9bf 100644 --- a/langs/themes/fr.json +++ b/langs/themes/fr.json @@ -847,14 +847,14 @@ "layers": { "0": { "filter": { - "5": { + "6": { "options": { "0": { "question": "Langage utilisateur (code-ISO) {search}" } } }, - "7": { + "8": { "options": { "0": { "question": "Le groupe de modifications a ajouté au moins une image" diff --git a/langs/themes/nl.json b/langs/themes/nl.json index ecf3d12b3..d5da4c2b0 100644 --- a/langs/themes/nl.json +++ b/langs/themes/nl.json @@ -883,49 +883,49 @@ } } }, - "1": { + "2": { "options": { "0": { "question": "Gemaakt door bijdrager {search}" } } }, - "2": { + "3": { "options": { "0": { "question": "Niet gemaakt door bijdrager {search}" } } }, - "3": { + "4": { "options": { "0": { "question": "Gemaakt voor {search}" } } }, - "4": { + "5": { "options": { "0": { "question": "Gemaakt na {search}" } } }, - "5": { + "6": { "options": { "0": { "question": "De taal van de bijdrager is {search}" } } }, - "6": { + "7": { "options": { "0": { "question": "Gemaakt met host {search}" } } }, - "7": { + "8": { "options": { "0": { "question": "Changeset bevat minstens één afbeelding" diff --git a/langs/themes/pl.json b/langs/themes/pl.json index a8f2b1e2d..b1b26a484 100644 --- a/langs/themes/pl.json +++ b/langs/themes/pl.json @@ -869,49 +869,49 @@ } } }, - "1": { + "2": { "options": { "0": { "question": "Wykonane przez współautora {search}" } } }, - "2": { + "3": { "options": { "0": { "question": "Nie wykonane przez współautora {search}" } } }, - "3": { + "4": { "options": { "0": { "question": "Stworzone przed {search}" } } }, - "4": { + "5": { "options": { "0": { "question": "Stworzone po {search}" } } }, - "5": { + "6": { "options": { "0": { "question": "Język użytkownika (kod iso) {search}" } } }, - "6": { + "7": { "options": { "0": { "question": "Wykonane z hostem {search}" } } }, - "7": { + "8": { "options": { "0": { "question": "Zestaw zmian dodał co najmniej jedno zdjęcie" diff --git a/src/Models/ThemeConfig/PointRenderingConfig.ts b/src/Models/ThemeConfig/PointRenderingConfig.ts index 94696e741..84a4ecfe4 100644 --- a/src/Models/ThemeConfig/PointRenderingConfig.ts +++ b/src/Models/ThemeConfig/PointRenderingConfig.ts @@ -323,7 +323,7 @@ export default class PointRenderingConfig extends WithContextLoader { const label = self.label ?.GetRenderValue(tags) ?.Subs(tags) - ?.SetClass("block center absolute text-center ") + ?.SetClass("block center absolute text-center marker-label") ?.SetClass(cssClassesLabel) if (cssLabel) { label.SetStyle(cssLabel) diff --git a/src/UI/Map/MapLibreAdaptor.ts b/src/UI/Map/MapLibreAdaptor.ts index 89e5fae10..1b16e8efe 100644 --- a/src/UI/Map/MapLibreAdaptor.ts +++ b/src/UI/Map/MapLibreAdaptor.ts @@ -257,13 +257,6 @@ export class MapLibreAdaptor implements MapProperties, ExportableMap { const h = map.getContainer().getBoundingClientRect().height let dpi = map.getPixelRatio() - console.log("Sizes:", { - dpi, - w, - h, - origSizeW: drawOn.style.width, - origSizeH: drawOn.style.height, - }) // The 'css'-size stays constant... drawOn.style.width = w + "px" drawOn.style.height = h + "px" @@ -303,12 +296,44 @@ export class MapLibreAdaptor implements MapProperties, ExportableMap { map.resize() } + private async drawElement( + drawOn: CanvasRenderingContext2D, + element: HTMLElement, + rescaleIcons: number, + pixelRatio: number + ) { + const marker = element + const style = marker.style.transform + let x = marker.getBoundingClientRect().x + let y = marker.getBoundingClientRect().y + marker.style.transform = "" + const offset = style.match(/translate\(([-0-9]+)%, ?([-0-9]+)%\)/) + + const w = marker.style.width + // Force a wider view for icon badges + marker.style.width = marker.getBoundingClientRect().width * 4 + "px" + const svgSource = await htmltoimage.toSvg(marker) + const img = await MapLibreAdaptor.createImage(svgSource) + marker.style.width = w + if (offset && rescaleIcons !== 1) { + const [_, __, relYStr] = offset + const relY = Number(relYStr) + y += img.height * (relY / 100) + } + + x *= pixelRatio + y *= pixelRatio + + try { + drawOn.drawImage(img, x, y, img.width * rescaleIcons, img.height * rescaleIcons) + } catch (e) { + console.log("Could not draw image because of", e) + } + } + /** * Draws the markers of the current map on the specified canvas. * The DPIfactor is used to calculate the correct position, whereas 'rescaleIcons' can be used to make the icons smaller - * @param drawOn - * @param rescaleIcons - * @private */ private async drawMarkers( drawOn: CanvasRenderingContext2D, @@ -322,6 +347,7 @@ export class MapLibreAdaptor implements MapProperties, ExportableMap { } const container = map.getContainer() + const pixelRatio = map.getPixelRatio() function isDisplayed(el: Element) { const r1 = el.getBoundingClientRect() @@ -337,44 +363,24 @@ export class MapLibreAdaptor implements MapProperties, ExportableMap { const markers = Array.from(container.getElementsByClassName("marker")) for (let i = 0; i < markers.length; i++) { const marker = markers[i] - if (!isDisplayed(marker)) { - continue - } - - const pixelRatio = map.getPixelRatio() - let x = marker.getBoundingClientRect().x - let y = marker.getBoundingClientRect().y + const labels = Array.from(marker.getElementsByClassName("marker-label")) const style = marker.style.transform - marker.style.transform = "" - const offset = style.match(/translate\(([-0-9]+)%, ?([-0-9]+)%\)/) - console.log("MARKER", marker) - const w = marker.style.width - // Force a wider view for icon badges - marker.style.width = marker.getBoundingClientRect().width * 4 + "px" - const svgSource = await htmltoimage.toSvg(marker) - const img = await MapLibreAdaptor.createImage(svgSource) - marker.style.width = w - if (offset && rescaleIcons !== 1) { - const [_, relXStr, relYStr] = offset - const relX = Number(relXStr) - const relY = Number(relYStr) - console.log("Moving icon with", relX, relY, img.width, img.height, x, y) - // x += img.width * (relX / 100) - y += img.height * (relY / 100) + if (isDisplayed(marker)) { + await this.drawElement(drawOn, marker, rescaleIcons, pixelRatio) } - x *= pixelRatio - y *= pixelRatio + for (const label of labels) { + if (isDisplayed(label)) { + console.log("Exporting label", label) + await this.drawElement(drawOn, label, rescaleIcons, pixelRatio) + } + } if (progress) { progress.setData({ current: i, total: markers.length }) } - try { - drawOn.drawImage(img, x, y, img.width * rescaleIcons, img.height * rescaleIcons) - } catch (e) { - console.log("Could not draw image because of", e) - } + marker.style.transform = style } }