#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
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