Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

#1 Fri 26 July 2013 17:22

Jean-Marie64
Participant actif
Lieu: Pau
Date d'inscription: 6 Nov 2007
Messages: 131

[OpenLayers] zoomer sur des limites

Bonjour

je souhaite afficher une carte tout en me cadrant (zoomant) sur des limites ;
un rectangle visualise ces imites et doit être compris dans l'affichage
l'exemple ci-dessous marche bien en utilisant de petites limites
ex :
var lonmin=-10,lonmax=20,latmin=40,latmax=50;

dans le cas de limites plus grandes, le cadrage ne s'effectue pas
le rectangle est bien en-dehors de la vue
ex :
var lonmin=-180,lonmax=180,latmin=-80,latmax=80;

j'utilise la fonction zoomToExtent pour ce cadrage

ce programme fonctionne correctement avec la version 2.10 d'Openlayers
quelque soit les limites choisies
le problème apparait avec les version plus récentes

merci pour votre aide

Jean-Marie

Code:

<!DOCTYPE HTML>
<html>
  <head>
    <title>OpenLayers Demo</title>
    <style type="text/css">
      html, body, #basicMap {
          width: 100%;
          height: 100%;
          margin: 0;
      }
    </style>
    <script src="/OpenLayers-2.13.1/OpenLayers.js"></script>
    <script>
      function init() {
        map = new OpenLayers.Map("basicMap");
        var mapnik         = new OpenLayers.Layer.OSM();
        var fromProjection = new OpenLayers.Projection("EPSG:4326");   // Transform from WGS 1984
        var toProjection   = new OpenLayers.Projection("EPSG:900913"); // to Spherical Mercator Projection
 
    var lonmin=-10,lonmax=20,latmin=40,latmax=50;
    var boxes = new OpenLayers.Layer.Boxes("boxes");
        var bounds = new OpenLayers.Bounds(lonmin,latmin,lonmax,latmax).transform(fromProjection, toProjection); 
        var box = new OpenLayers.Marker.Box(bounds);
        boxes.addMarker(box);
        map.addLayers([mapnik,boxes]); 
        
        map.zoomToExtent(bounds,false);
      }
    </script>
  </head>
  <body onload="init();">
    <div id="basicMap"></div>
  </body>
</html>

Hors ligne

 

Pied de page des forums

Powered by FluxBB