Pas facile de s'y retrouver dans cette jungle !
J'ai mis du temps à réaliser que viewer. était définit par le paramètre instance dans le lien vers l'API... Bref j'ai finis par reproduire le résultat de ton code, merci pour ton aide.
J'ai aussi réussi à dessiner un polygone en m'inspirant de l'exemple d'openLayers
mais il fallait insérer une opération de changement de projection
mon_point.transform(OpenLayers.Projection.CRS84, map.getMap().getProjection());
Voici mon code pour un polygone de 3 points :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| // Polygone
var layer_style = OpenLayers.Util.extend({}, OpenLayers.Feature.Vector.style['default']);
layer_style.fillOpacity = 0.5;
layer_style.fillColor = "green";
layer_style.graphicOpacity = 1;
var vectorLayer = new OpenLayers.Layer.Vector('Polygone', {style: layer_style});
map.getMap().addLayer(vectorLayer);
var pointList = [];
var newPoint = new OpenLayers.Geometry.Point(3,42.75);
newPoint.transform(OpenLayers.Projection.CRS84, map.getMap().getProjection());
pointList.push(newPoint);
var newPoint = new OpenLayers.Geometry.Point(3.1,42.75);
newPoint.transform(OpenLayers.Projection.CRS84, map.getMap().getProjection());
pointList.push(newPoint);
var newPoint = new OpenLayers.Geometry.Point(3.05,42.7);
newPoint.transform(OpenLayers.Projection.CRS84, map.getMap().getProjection());
pointList.push(newPoint);
var linearRing = new OpenLayers.Geometry.LinearRing(pointList);
var polygonFeature = new OpenLayers.Feature.Vector(new OpenLayers.Geometry.Polygon(linearRing));
vectorLayer.addFeatures([polygonFeature]); |
Petit à petit l'oiseau fait son nid ...
Partager