From 2c72d90e895bcfc2b4f9e6a7a1f872f8deaf7aae Mon Sep 17 00:00:00 2001 From: Marwin Hochfelsner <50826859+hlfan@users.noreply.github.com> Date: Fri, 25 Jul 2025 20:05:10 +0200 Subject: [PATCH] Use SVG marker in embed --- app/assets/config/manifest.js | 2 -- app/assets/javascripts/embed.js.erb | 10 ++++------ app/assets/stylesheets/embed.scss | 10 ++++++++++ app/views/export/embed.html.erb | 6 +++++- 4 files changed, 19 insertions(+), 9 deletions(-) diff --git a/app/assets/config/manifest.js b/app/assets/config/manifest.js index 7ad609f30..5342cdf70 100644 --- a/app/assets/config/manifest.js +++ b/app/assets/config/manifest.js @@ -17,8 +17,6 @@ //= link_tree ../../../vendor/assets/leaflet .png -//= link leaflet/dist/images/marker-icon.png -//= link leaflet/dist/images/marker-icon-2x.png //= link leaflet/dist/images/marker-shadow.png //= link @mapbox/mapbox-gl-rtl-text/dist/mapbox-gl-rtl-text.js diff --git a/app/assets/javascripts/embed.js.erb b/app/assets/javascripts/embed.js.erb index f6efadb4a..42d76d23a 100644 --- a/app/assets/javascripts/embed.js.erb +++ b/app/assets/javascripts/embed.js.erb @@ -38,12 +38,10 @@ window.onload = function () { new L.OSM[layer]({ apikey: layerConfig.apikey, ...options[layerId] }).addTo(map); if (args.has("marker")) { - L.marker(args.get("marker").split(","), { icon: L.icon({ - iconUrl: <%= asset_path('leaflet/dist/images/marker-icon.png').to_json %>, - iconSize: new L.Point(25, 41), - iconAnchor: new L.Point(12.5, 41), - shadowUrl: <%= asset_path('leaflet/dist/images/marker-shadow.png').to_json %>, - shadowSize: new L.Point(41, 41) + L.marker(args.get("marker").split(","), { icon: L.divIcon({ + html: "", + iconSize: [25, 40], + iconAnchor: [12.5, 40] }) }).addTo(map); } diff --git a/app/assets/stylesheets/embed.scss b/app/assets/stylesheets/embed.scss index a2629c3d8..f410c84a9 100644 --- a/app/assets/stylesheets/embed.scss +++ b/app/assets/stylesheets/embed.scss @@ -17,3 +17,13 @@ body { width: 100%; height: 100%; } + +.leaflet-marker-icon.leaflet-div-icon { + background: none; + border: none; + pointer-events: none; + + use[color] { + pointer-events: auto; + } +} diff --git a/app/views/export/embed.html.erb b/app/views/export/embed.html.erb index 83bc65c50..cae7dd22f 100644 --- a/app/views/export/embed.html.erb +++ b/app/views/export/embed.html.erb @@ -7,6 +7,10 @@ <%= javascript_include_tag "embed" %>
- +