|
FORUMS PROFESSIONNELS WINDEV, WEBDEV et WINDEV Mobile |
| | | | | |
| Accueil → WINDEV 2025 → Rendre dynamique l'affichage d'une carte openstreemap avec Leaflet |
| Rendre dynamique l'affichage d'une carte openstreemap avec Leaflet |
| Débuté par christophe, 28 mar. 2023 11:47 - 3 réponses |
| |
| | | |
|
| |
Membre enregistré 30 messages |
|
| Posté le 28 mars 2023 - 11:47 |
Bonjour, Pour afficher des cartes j'utilise l'api leaflet et openstreetmap. Ma carte est affichée dans un champ html. Je cherche un moyen de rendre l'affichage dynamique en fonction de la taille de la fenêtre. Dans la documentation de leaflet il y a la méthode qui permet de vérifier si la taille du conteneur de la carte a changé mais je n'arrive pas la faire fonctionner. Avez-vous une solution à mon problème ? Merci |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 1 031 messages |
|
| Posté le 28 mars 2023 - 18:10 |
Bonjour christophe,
Perso, je commence le code de ma carte ainsi :
<!DOCTYPE html> <html> <head> <title>Simple Leaflet Map</title> <meta charset="utf-8"/>
<style> html, body, #map { height:100%; width:100%; padding:0px; margin:0px; } </style>
Mon champs HTML est ancré à la fenêtre. Donc, si je redimensionne ma fenêtre, le champs HTML suit et la carte s'adapte dynamiquement. CordialementMessage modifié, 28 mars 2023 - 18:10 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 1 031 messages |
|
| Posté le 29 mars 2023 - 15:13 |
Bonjour, Je reviens sur le sujet car je viens de me rendre compte qu'il manque une bonne partie de ma réponse sur le post précédent : Pour obtenir l'affichage dynamique, je suis obligé ensuite de passer par l'enregistrement du code de la carte dans un fichier (.html) et d'attribuer ce fichier .html au champs HTML nommé HTML1.
voici donc le code complet qui devrait fonctionner :
sLienHTTP est une chaîne UNICODE
HTML1="<html></html>"
sLienHTTP = [ <!DOCTYPE html> <html> <head> <title>Simple Leaflet Map</title> <meta charset="utf-8"/> <style> html, body, #MaCarte { height:100%; width:100%; padding:0px; margin:0px; } </style> <link rel="stylesheet" href="https://unpkg.com/leaflet@1.7.1/dist/leaflet.css"/> <script src="https://unpkg.com/leaflet@1.7.1/dist/leaflet.js"></script> </head> <body> <div id="MaCarte"></div> <script> var Carte = L.map('MaCarte').setView([42.41, 2.58], 5); mapLink = '<a href="http://openstreetmap.org">OpenStreetMap</a>'; L.tileLayer( 'http: attribution: '© ' + mapLink + ' Contributors', maxZoom: 18, }).addTo(Carte); </script> </body> </html> ]
fSauveTexte(fRepExe() + "LeafLet_Carte.html", sLienHTTP) HTML1 = fRepExe() + "LeafLet_Carte.html"
Pour moi, l'exécution du code de la carte directement depuis un bouton n'est pas dynamique. |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 30 messages |
|
| Posté le 30 mars 2023 - 15:23 |
Bonjour Cédric
Merci pour la réponse. Cela fonctionne parfaitement |
| |
| |
| | | |
|
| | | | |
| | |
| | |
| |
|
|
|