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


