IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bibliothèques & Frameworks Discussion :

Recherche syntaxe pour insertion niveau du zoom dans affichage bouton "Zoom in" [LeafLet]


Sujet :

Bibliothèques & Frameworks

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Utilisateur occasionnel de MySQL
    Inscrit en
    Décembre 2017
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France, Tarn et Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Utilisateur occasionnel de MySQL

    Informations forums :
    Inscription : Décembre 2017
    Messages : 49
    Points : 38
    Points
    38
    Par défaut Recherche syntaxe pour insertion niveau du zoom dans affichage bouton "Zoom in"
    Bonjour,

    J'aimerai connaître le niveau de zoom des cartes affichées avec l'API Leaflet, j'ai trouvé un développement avec affichage d'une fenêtre.
    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    <!DOCTYPE html>
    <html>
    <head>
     
    	<title>Zoom Levels Tutorial - Leaflet</title>
     
    	<meta charset="utf-8" />
    	<meta name="viewport" content="width=device-width, initial-scale=1.0">
     
    	<link rel="shortcut icon" type="image/x-icon" href="docs/images/favicon.ico" />
     
        <link rel="stylesheet" href="https://unpkg.com/leaflet@1.7.1/dist/leaflet.css" integrity="sha512-xodZBNTC5n17Xt2atTPuE1HxjVMSvLVW9ocqUKLsCC5CXdbqCmblAshOMAS6/keqq/sMZMZ19scR4PsZChSR7A==" crossorigin=""/>
        <script src="https://unpkg.com/leaflet@1.7.1/dist/leaflet.js" integrity="sha512-XQoYMqMTK8LvdxXYG3nZ448hOEQiglfqkJs1NOQV44cWnUrBc8PkAOcXy20w0vlaXaVUearIOBhiXZ5V3ynxwA==" crossorigin=""></script>
     
     
    	<style>
                    html, body {
                            height: 100%;
                            margin: 0;
                    }
                    #map {
                            width: 800px;
                            height: 600px;
                    }
            </style>
     
     
    </head>
    <body>
     
    <div id='map'></div>
     
    <script>
     
            var map = L.map('map', {
                    zoom: 6,
                    attributionControl: false,
                    center: L.latLng([28,-8]),
                    
            }),
     
            osmLayer = new L.TileLayer('http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png');
     
    map.addLayer(osmLayer);
     
            var ZoomViewer = L.Control.extend({
                    onAdd: function(){
                            var gauge = L.DomUtil.create('div');
                            gauge.style.width = '200px';
                            gauge.style.margin = '10px 100px 0px 0px';
                            gauge.style.background = 'rgba(255,255,255,0.5)';
                            gauge.style.textAlign = 'left';
                            map.on('zoomstart zoom zoomend', function(ev){
                                    gauge.innerHTML = 'Zoom level: ' + map.getZoom();
                            })
                            return gauge;
                    }
            });
     
            (new ZoomViewer).addTo(map);
            
    </script>
     
    </body>
    </html>
    Pour éviter d'avoir cette fenêtre, serait-il possible de mettre cette valeur de zoom dans le bouton de Zoom "+" ?

    Dans le fichier leaflet.js, il y a cette syntaxe
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    {position:"topleft",zoomInText:"+",zoomInTitle:"Zoom in",zoomOutText:"&#x2212;",zoomOutTitle:"Zoom out"}
    J'ai essayé de remplacer "zoomInText:"+"" par zoomInText:"+" + map.getZoom() , ce n'est pas reconnu. Quelle serait la syntaxe à insérer ?

    Avec mes remerciements

    Bernard

  2. #2
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 045
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 045
    Points : 44 485
    Points
    44 485
    Par défaut
    Bonjour,
    Pour éviter d'avoir cette fenêtre, serait-il possible de mettre cette valeur de zoom dans le bouton de Zoom "+" ?
    je n'en vois pas trop l'intérêt il s'agit d'un contrôle comme un autre qui dans ce cas t'affiche un état !

    J'ai essayé de remplacer "zoomInText:"+"" par zoomInText:"+" + map.getZoom() , ce n'est pas reconnu.
    Les données des contrôle sont atteignable, comme tout élément du DOM via un document.query(selecteur), il suffit donc de bien cibler l'élément.
    Attention dans ton cas à la lisibilité du contrôle après insertion d'un nouvel élément.

    Tu peux ajouter un contrôle dans la zone de zoom soit en faisant comme tu l'as réalisé, sans l'extend qui sert à rien, soit en utilisant la méthode décrite ci-dessus.
    Par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    const valZoom = L.DomUtil.create("A");
    valZoom.style.fontSize = "16px";
    valZoom.className = "leaflet-control-zoom-out";
    map.on("zoom", function() {
      valZoom.textContent = map.getZoom();
    })
    document.querySelector(".leaflet-control-zoom")
      .append(valZoom)
    ... mais bon ... !

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Utilisateur occasionnel de MySQL
    Inscrit en
    Décembre 2017
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France, Tarn et Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Utilisateur occasionnel de MySQL

    Informations forums :
    Inscription : Décembre 2017
    Messages : 49
    Points : 38
    Points
    38
    Par défaut
    Bonjour NoSmoking,

    Je vous remercie de la solution que vous venez de me proposer qui correspond à mes recherches de l'affichage de la valeur du zoom

    Bernard

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 6
    Dernier message: 22/09/2020, 21h27
  2. Réponses: 3
    Dernier message: 03/04/2008, 17h04
  3. syntaxe d'insertion d'une variable dans SQL Server
    Par hariri dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 20/04/2007, 17h00
  4. Réponses: 2
    Dernier message: 14/07/2006, 18h37
  5. Syntaxe pour avoir un seul resultat dans une requete
    Par Pompil dans le forum Requêtes
    Réponses: 2
    Dernier message: 06/09/2003, 15h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo