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 Thu 02 July 2009 13:07

Maxime31
Participant assidu
Date d'inscription: 3 Sep 2008
Messages: 175

[OpenLayers] Problème sur certains objets Control

Bonjour à tous,

J'ai un souci au niveau de différents objets Control d'OL.

En effet, lorsque je veux afficher un ScaleLine(), cela m'affiche bien l'échelle mais avec un joli "Nan m", et quand j'affiche un Scale(), et bien la rien ne s'affiche.

Autre problème : l'OverviewMap(), le contrôle s'affiche bien mais la mini-carte m'affiche un fond blanc avec un rectangle rouge qui prend la totalité du cadre donc impossible à déplacer.

Enfin, avec le contrôle Measure(), c'est pareil, dès que je sélectionne mon outil de mesure de distance ou de surface et que je commence à tracer, et bien cela m'affiche : "Nan m".

Voici mon mapfile :

Code:

MAP

NAME "Natura"
EXTENT 416635 1729996 685832 1934314
STATUS ON
IMAGETYPE png
SIZE 600 600

WEB
IMAGEPATH "/ms4w/tmp/ms_tmp/" 
IMAGEURL "/ms_tmp/"
METADATA
  "wms_title" "WMS Demo Server"
  "wms_onlineresource" "http://localhost/cgi-bin/mapserv.exe?map=c:/ms4w/Apache/htdocs/test/natura2.map&"
  "wms_srs" "epsg:27593"
  "wms_format" "image/png"
END
END

PROJECTION
"init=epsg:27593"
END

LAYER
NAME "communes"
METADATA
  "wms_title" "communes_nat"
  "wms_feature_info_mime_type" "text/plain"
  "wms_include_items" "nom_com" 
END
TEMPLATE "ttt"
STATUS OFF
CONNECTION "user=*** password=*** dbname=*** host=***"
CONNECTIONTYPE POSTGIS
DATA "the_geom from communes_nat USING UNIQUE oid"
TYPE POLYGON
LABELITEM 'nom_com'
CLASS
       NAME 'Communes' 
       STYLE
         SYMBOL 0 
         SIZE 2 
         OUTLINECOLOR 153 255 102
       END
    END
PROJECTION
"init=epsg:27593"
END
DUMP TRUE
END

END

et voici le code HTML :

Code:

<html>
    <head>
        <title>Test</title>
        
        <script src="OpenLayers-2.8/lib/OpenLayers.js"></script>
        <script type="text/javascript">
        
            var map;

            function main(){
                
                map= new OpenLayers.Map('map', 
                    {maxExtent:new OpenLayers.Bounds(416635, 1729996, 685832, 1934314),
                    maxResolution: 'auto',
                    units:'meters',
                    projection:'EPSG:27593'}
                );

        
                map.addControl (new OpenLayers.Control.PanZoomBar());
                map.addControl (new OpenLayers.Control.OverviewMap());
                map.addControl (new OpenLayers.Control.ScaleLine());
                
                OpenLayers.IMAGE_RELOAD_ATTEMPTS = 3;
        
                var communes = new OpenLayers.Layer.WMS("communes", 
                   "http://localhost/cgi-bin/mapserv.exe?map=c:/ms4w/Apache/htdocs/test/natura2.map", {layers: "communes", format: "image/png"});
                map.addLayer(communes);

                map.zoomToMaxExtent();
                
                
            }
        
        </script> 
        
    
        
    </head>

    <body onload="main();">

    <div style="width:950px; height:700px" id="map"></div>

    </body>
</html>

Étant donné que je retrouve souvent cette erreur de "Nan" (Not a number), est-ce que cela pourrait être un problème de projection ou de résolution ?

Merci d'avance

Hors ligne

 

#2 Wed 08 July 2009 10:50

Maxime31
Participant assidu
Date d'inscription: 3 Sep 2008
Messages: 175

Re: [OpenLayers] Problème sur certains objets Control

Bonjour,

Pour continuer sur ce problème, j'ai tenté de supprimer l'option "units:meters" dans l'initialisation de la variable map dans mon code HTML, et là tous mes contrôles se sont affichés sauf que j'ai des valeurs aberrantes.

Par exemple, le ScaleLine() m'affiche 2000000 km (en étendue max) alors que je ne suis qu'à l'échelle de quelques départements. Pareil pour le Scale() qui m'affiche 1/91938 M.

Donc c'est déjà bien que cela m'affiche des chiffres et plus des "Nan" mais bon...

Si quelqu'un sait d'où peut provenir cette erreur ?

Hors ligne

 

#3 Wed 08 July 2009 10:54

Yves
Membre du bureau
Lieu: Aix-les-Bains
Date d'inscription: 22 Mar 2006
Messages: 9869
Site web

Re: [OpenLayers] Problème sur certains objets Control

Maxime31,

Que donne un

Code:

units:'m'

?

Y.


Yves Jacolin, bénévole de l'association GeoRezo.net, agit au nom et pour le compte de l'association - Partageons ce qui nous départage !!  - GeoRezo vous aide ? Aidez GeoRezo !

Hors ligne

 

#4 Wed 08 July 2009 11:11

Maxime31
Participant assidu
Date d'inscription: 3 Sep 2008
Messages: 175

Re: [OpenLayers] Problème sur certains objets Control

Bonjour Yves,

Effectivement, le problème venait bien de là... Comment se prendre la tête sur un problème aussi basique ?!

Merci à toi.

Par contre, il me reste toujours un petit souci sur l'OverviewMap(). En fait, le fond de la mini-carte ne se met pas à l'étendue max (il fait un espèce de zoom sur le centre de la div map), alors que j'ai spécifié un paramètre mapOptions qui reprend les options de ma variable map.

Est-ce normal ?

Hors ligne

 

Pied de page des forums

Powered by FluxBB