Browse Source

Ajoute le lien geo

master
vincent 2 weeks ago
parent
commit
7f3e4eac09
2 changed files with 12 additions and 1 deletions
  1. +11
    -0
      assets/controllers/map_controller.js
  2. +1
    -1
      templates/macro.html.twig

+ 11
- 0
assets/controllers/map_controller.js View File

@ -11,6 +11,7 @@ import { Controller } from '@hotwired/stimulus';
import 'leaflet'; import 'leaflet';
export default class extends Controller { export default class extends Controller {
static targets = [ 'openLink' ];
static values = { static values = {
geojson: String, geojson: String,
overpassResult: String, overpassResult: String,
@ -19,6 +20,8 @@ export default class extends Controller {
} }
connect() { connect() {
const self = this;
// Constitue une collection d’icones aux couleurs Bootstrap // Constitue une collection d’icones aux couleurs Bootstrap
const iconHtml = ` const iconHtml = `
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" class="bi bi-geo-alt-fill" viewBox="0 0 16 16"> <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" class="bi bi-geo-alt-fill" viewBox="0 0 16 16">
@ -41,6 +44,14 @@ export default class extends Controller {
attribution: '&copy; <a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a>' attribution: '&copy; <a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a>'
}).addTo(map); }).addTo(map);
// Suit les mouvements de la carte
map.on('moveend', function() {
var center = map.getCenter();
var lat = center.lat;
var lng = center.lng;
self.openLinkTarget.setAttribute('href', `geo:${lat},${lng}`);
});
// Crée un ensemble de couches pour mieux les manipuler // Crée un ensemble de couches pour mieux les manipuler
// individuellement // individuellement
var layer = L.featureGroup(); var layer = L.featureGroup();


+ 1
- 1
templates/macro.html.twig View File

@ -53,7 +53,7 @@ Où :
{% endfor %} {% endfor %}
</details> </details>
<p> <p>
Voir sur
<a href="#" target="_blank" data-map-target="openLink">Ouvrir ailleurs</a> ou voir sur
<button class="btn btn-sm btn-link" data-action="map#openInOsm">OSM</button> <button class="btn btn-sm btn-link" data-action="map#openInOsm">OSM</button>
<button class="btn btn-sm btn-link" data-action="map#openInPanoramax">Panoramax</button> <button class="btn btn-sm btn-link" data-action="map#openInPanoramax">Panoramax</button>
<button class="btn btn-sm btn-link" data-action="map#openInPifomap">Pifomap</button> <button class="btn btn-sm btn-link" data-action="map#openInPifomap">Pifomap</button>


Loading…
Cancel
Save