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

IGN API Géoportail Discussion :

Comment afficher les parcelles sur une google map ?


Sujet :

IGN API Géoportail

  1. #1
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2011
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2011
    Messages : 27
    Par défaut Comment afficher les parcelles sur une google map ?
    Bonjour,
    je cherche vainement à afficher la couche parcellaire en transparence sur une carte google.J'ai une clé avec les droits nécessaires mais je n'arrive pas à afficher cette couche, les autres pas de problème.
    Voici le code:
    Code : 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
    66
    67
    68
    69
    <!DOCTYPE html>
    <html lang="fr">
    <head>
      <meta charset="UTF-8">
      <meta name="viewport" content="initial-scale=1.0, user-scalable=no">
      <meta name="apple-mobile-web-app-capable" content="yes">  
      <title>Carte IGN dans Google Maps</title>
      <style type="text/css">
        body, html {height: 100%; width: 100%; margin:0; padding:0;}
        #map-canvas {width: 100%; height: 100%;}
        <!-- .gmnoprint{display:all}  .gm-style-cc{display:all} Cacher conditions d'utilisation et autres !-->
      </style>
    </head>
    <body>
      <div id="map-canvas"></div>
      <script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>
      <script type="text/javascript">
        // Rentrer la Clé IGN : Vérifier que le contrat permet d'afficher les cartes demandées
        var ignKey = "maclé";
    
        function initialize() {
          var map = new google.maps.Map(document.getElementById("map-canvas"), {
            mapTypeId: 'IGNweb',
            // Contrôles
            panControl:false,       
            zoomControl:true,
            zoomControlOptions: {
              style:google.maps.ZoomControlStyle.SMALL
            },
            scaleControl:true,
            // Affichage du menu de sélection des cartes
            mapTypeControlOptions: {
              mapTypeIds: ['IGNweb', 'IGNmap', 'IGNsat','IGNpar', google.maps.MapTypeId.SATELLITE, google.maps.MapTypeId.TERRAIN, google.maps.MapTypeId.ROADMAP],
              style: google.maps.MapTypeControlStyle.HORIZONTAL_BAR  // HORIZONTAL_BAR DROPDOWN_MENU
            },
            center: new google.maps.LatLng(47.773, 6.921),
            zoom: 15,
            draggableCursor: "crosshair"
          });
          // Couche kml
          var coucheKML = new google.maps.KmlLayer({
            
          });     
          coucheKML.setMap(map);
          // Les différentes cartes IGN
          map.mapTypes.set('IGNweb', makeIGNMapType("GEOGRAPHICALGRIDSYSTEMS.MAPS.SCAN-EXPRESS.STANDARD", "IGN Web", 18));
          map.mapTypes.set('IGNmap', makeIGNMapType("GEOGRAPHICALGRIDSYSTEMS.MAPS", "IGN Map", 18));
          map.mapTypes.set('IGNsat', makeIGNMapType("ORTHOIMAGERY.ORTHOPHOTOS", "IGN Sat", 18));
          map.mapTypes.set('IGNpar', makeIGNMapType("BDPARCELLAIRE-VECTEUR_WLD_BDD_WGS84G", "IGN par", 18)); <=========== C'EST CETTE LIGNE QUI NE FONCTIONNE PAS, ELLE N'AFFICHE PAS LES PARCELLES
        }
        
        function makeIGNMapType(layer, name, maxZoom) {
          return new google.maps.ImageMapType({
            getTileUrl: function(coord, zoom) {
              return "http://wxs.ign.fr/" + ignKey + "/geoportail/wmts?LAYER=" + layer +
                "&EXCEPTIONS=text/xml&FORMAT=image/jpeg&SERVICE=WMTS&VERSION=1.0.0" +
                "&REQUEST=GetTile&STYLE=normal&TILEMATRIXSET=PM&TILEMATRIX=" +
                zoom + "&TILEROW=" + coord.y + "&TILECOL=" + coord.x;
            },
            tileSize: new google.maps.Size(256,256),
            name: name,
            maxZoom: maxZoom
          });
        }
    
        google.maps.event.addDomListener(window, 'load', initialize);
      </script>
    </body>
    </html>
    Merci pour votre aide

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    2 130
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 2 130
    Par défaut
    Bonjour,

    De mémoire le format des images du cadastre est en png car le jpeg ne supporte pas la transparence.

    A+
    Marc

  3. #3
    Membre chevronné Avatar de lboulanger
    Femme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2014
    Messages
    262
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Octobre 2014
    Messages : 262
    Par défaut
    Bonjour,

    Vous tentez d'afficher la ressource BDPARCELLAIRE-VECTEUR_WLD_BDD_WGS84G, qui est une ressource disponible par le service WMS vecteur, et non pas une ressource WMTS.

    1. Si c'est bien cette ressource que vous souhaitez afficher, les requêtes sont différentes, vous pouvez jeter un œil à ce tutoriel : https://geoservices.ign.fr/documenta...vices/wms.html

    2. Vous pouvez aussi choisir d'afficher la couche des parcelles cadastrales en WMTS, comme les autres couches (conseillé pour un affichage web car le rendu est plus rapide), c'est alors la ressource CADASTRALPARCELS.PARCELS.
    Il faut alors modifier le nom dans votre code source :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    map.mapTypes.set('IGNpar', makeIGNMapType("CADASTRALPARCELS.PARCELS", "IGN par", 18));
    De plus, comme le signale mga_geo, seul le format png est supporté pour cette couche. Le format à spécifier dans la requête est alors image/png, et non pas image/jpeg, il faudrait le modifier dans la fonction d'appel (par exemple en l'ajoutant comme paramètre pour ne pas casser les autres requêtes).

    Laurane

  4. #4
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2011
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2011
    Messages : 27
    Par défaut
    Merci ca marche !

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 08/04/2009, 01h55
  2. Réponses: 4
    Dernier message: 04/11/2008, 10h39
  3. Réponses: 2
    Dernier message: 20/08/2007, 07h34
  4. comment afficher les valeurs d'une semaine
    Par duck54 dans le forum Langage SQL
    Réponses: 1
    Dernier message: 28/05/2006, 22h57
  5. Comment afficher les toolTipText dans une zone de statut ?
    Par nicok01 dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 28/01/2005, 13h32

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