]> git.openstreetmap.org Git - rails.git/commitdiff
Merge remote-tracking branch 'upstream/pull/5825'
authorTom Hughes <tom@compton.nu>
Thu, 20 Mar 2025 17:09:57 +0000 (17:09 +0000)
committerTom Hughes <tom@compton.nu>
Thu, 20 Mar 2025 17:09:57 +0000 (17:09 +0000)
1  2 
app/assets/javascripts/embed.js.erb

index 62c93b282a7788b2fbbb177c1487b051080d9c1c,816bde76cef9e8a534a53ccb41a08f9727c34c57..5153a228efdc0b8ace71bf43e919fff27478e48a
@@@ -16,7 -16,7 +16,7 @@@ OSM.i18n.defaultLocale = <%= I18n.defau
  OSM.i18n.enableFallback = true;
  
  window.onload = function () {
-   const args = Object.fromEntries(new URLSearchParams(location.search));
+   const args = new URLSearchParams(location.search);
  
    const options = {
      mapnik: {
    map.attributionControl.setPrefix("");
    map.removeControl(map.attributionControl);
  
-   const isDarkTheme = args.theme === "dark" || (args.theme !== "light" && window.matchMedia("(prefers-color-scheme: dark)").matches);
+   const isDarkTheme = args.get("theme") === "dark" || (args.get("theme") !== "light" && window.matchMedia("(prefers-color-scheme: dark)").matches);
    const layers = <%= MapLayers::embed_definitions("config/layers.yml").to_json %>;
-   const layerId = (args.layer || "").replaceAll(" ", "");
+   const layerId = (args.get("layer") || "").replaceAll(" ", "");
    const layerConfig = layers[layerId] || layers.mapnik;
    const layer = (isDarkTheme && layerConfig.leafletOsmDarkId) || layerConfig.leafletOsmId;
    new L.OSM[layer]({ apikey: layerConfig.apikey, ...options[layerId] }).addTo(map);
  
-   if (args.marker) {
-     L.marker(args.marker.split(","), { icon: L.icon({
+   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, 41),
@@@ -47,7 -47,7 +47,7 @@@
      }) }).addTo(map);
    }
  
-   const bbox = (args.bbox || "-180,-90,180,90").split(",");
+   const bbox = (args.get("bbox") || "-180,-90,180,90").split(",");
    map.fitBounds([[bbox[1], bbox[0]], [bbox[3], bbox[2]]]);
  
    map.addControl(new L.Control.OSMReportAProblem());
@@@ -56,7 -56,7 +56,7 @@@
  L.Control.OSMReportAProblem = L.Control.Attribution.extend({
    options: {
      position: "bottomright",
 -    prefix: `<a href="https://www.openstreetmap.org/fixthemap?lat={x}&lon={y}&zoom={z}" target="_blank">${OSM.i18n.t("javascripts.embed.report_problem")}</a>`
 +    prefix: `<a href="/fixthemap?lat={x}&lon={y}&zoom={z}" target="_blank">${OSM.i18n.t("javascripts.embed.report_problem")}</a>`
    },
  
    onAdd: function (map) {