Bonjour,
Je n'arrive pas à afficher un simple polygone sur la carte a partir d'un WKT remonté de ma base postGIS. Je suis bien passé par un parser WKT et j'ai bien ajouté une couche Vector.
Mon sentiment et qu'il doit s’agir d'un problème de projection.
Le WKT et en WGS84 (epsg:4326).
Les fonds de carte IGN sont IGNF:GEOPORTALFXX (retourné par viewer.getMap().getProjection()).
Le recentrage et autozoom semble bien se positionner sur la carte (fonction zoomToExtent), mais mon polygone n'est pas dessiné, ou en tout cas ne s'affiche pas.
Faut-il que je re-projete aussi la feature loadée par le WKT ? Comment faire ?
Merci de votre retour
Ci-dessous le code en question :
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 function initMap() { translate(); var options= {}; viewer = new Geoportal.Viewer.Default('viewerDiv', OpenLayers.Util.extend(options,window.gGEOPORTALRIGHTSMANAGEMENT===undefined? {'apiKey':'xxx'} : gGEOPORTALRIGHTSMANAGEMENT)); viewer.addGeoportalLayers([ 'ORTHOIMAGERY.ORTHOPHOTOS', 'GEOGRAPHICALGRIDSYSTEMS.MAPS'], { }); vectors = new OpenLayers.Layer.Vector("Vector Layer"); var wkt = new OpenLayers.Format.WKT(); var features = wkt.read('POLYGON((2.24913511439021 48.7254998127126,2.2491570037154 48.7239768548555,2.25253785646668 48.7239980774623,2.25251606569168 48.7255210359104,2.24913511439021 48.7254998127126))'); if(features.constructor != Array) { features = [features]; } var bounds = features[0].geometry.getBounds(); vectors.addFeatures(features); viewer.getMap().addLayer(vectors); viewer.getMap().zoomToExtent(bounds.transform(OpenLayers.Projection.CRS84, viewer.getMap().getProjection()), true); }
Partager