Hi,
You add a styleMap to your vector layer. So the labels should show the
attribute value. But you overwrite the styleMap, because you add a style
(areaStyle) to your feature.
Try this instead:
var areaFeature = new OpenLayers.Feature.Vector(geometry, {name:'Deutsche
Bucht'}, null);
And as far as I see, areaStyle describes something red as fillColor and not
green.
Arnd
-----Ursprüngliche Nachricht-----
Von: [email protected]
[mailto:[email protected]] Im Auftrag von Jan
Tappenbeck
Gesendet: Dienstag, 30. November 2010 18:34
An: [email protected]
Cc: [email protected]
Betreff: [OpenLayers-Users] Re: Problem by label geometrie elements - now
problem to polygon !
HI !
additional to my ask in this mailing list today i have a problem with the
style of a polygon-element - here even the label will show with ${name} and
the color of the fill is red. but i define green.
coord["3000"] = [54.143132, 8.492432];
coord["3001"] = [54.107723, 8.712158];
coord["3002"] = [53.930220, 8.624268];
coord["3003"] = [53.926986, 8.014526];
coord["3004"] = [54.239551, 7.130127];
coord["3005"] = [55.125508, 6.866455];
var areaStyle = {
strokeColor: "#FFFFFF",
strokeOpacity: 0,
strokeWidth: 3,
fillColor: "#FF5500",
fillOpacity: 1.0,
pointRadius: 6,
pointerEvents: "visiblePainted",
label : "${name}",
fontColor: "#000000",
fontSize: "15px",
fontFamily: "Arial",
fontWeight: "normal",
labelAlign: "cm",
labelXOffset: 0,
labelYOffset: 0
};
var areaStyleSelect = {
strokeColor: "#00FF2A",
strokeOpacity: 1,
strokeWidth: 3,
fillColor: "#00FF2A",
fillOpacity: 0.5,
pointRadius: 6,
pointerEvents: "visiblePainted",
label : "${name}",
fontColor: "#000000",
fontSize: "15px",
fontFamily: "Arial",
fontWeight: "normal",
labelAlign: "cm",
labelXOffset: 0,
labelYOffset: 0
};
var areaStyleMap = new OpenLayers.StyleMap( { "default" : new
OpenLayers.Style(areaStyle), "select" : new
OpenLayers.Style(areaStyleSelect)} );
areaLayer = new OpenLayers.Layer.Vector("Gebiete"); // end-vectorLayer
map.addLayer (areaLayer);
areaLayer.styleMap = areaStyleMap;
var point3000 = new
OpenLayers.Geometry.Point(coord["3000"][1],coord["3000"][0]).transform(map.d
isplayProjection,
map.getProjectionObject());
var point3001 = new
OpenLayers.Geometry.Point(coord["3001"][1],coord["3001"][0]).transform(map.d
isplayProjection,
map.getProjectionObject());
var point3002 = new
OpenLayers.Geometry.Point(coord["3002"][1],coord["3002"][0]).transform(map.d
isplayProjection,
map.getProjectionObject());
var point3003 = new
OpenLayers.Geometry.Point(coord["3003"][1],coord["3003"][0]).transform(map.d
isplayProjection,
map.getProjectionObject());
var point3004 = new
OpenLayers.Geometry.Point(coord["3004"][1],coord["3004"][0]).transform(map.d
isplayProjection,
map.getProjectionObject());
var point3005 = new
OpenLayers.Geometry.Point(coord["3005"][1],coord["3005"][0]).transform(map.d
isplayProjection,
map.getProjectionObject());
//var point2001 = new
OpenLayers.Geometry.Point(coord["2001"]]1],coord["2001"][0]).transform(map.d
isplayProjection,
map.getProjectionObject());
// var point2002 = new
OpenLayers.Geometry.Point(coord["2002"][1],coord["2002"][0]).transform(map.d
isplayProjection,
map.getProjectionObject());
var point = new
OpenLayers.Geometry.Point(coord[littleports[j]][1],coord[littleports[j]][0])
.transform(map.displayProjection,
map.getProjectionObject());
var geometry = new OpenLayers.Geometry.Polygon(
[ new OpenLayers.Geometry.LinearRing (
[
point3000, point3001, point3002, point3003, point3004,
point3005, point3000
]
)
]
);
var areaFeature = new OpenLayers.Feature.Vector(
geometry, null, areaStyle);
areaFeature.attributes = {
name: 'Deutsche Bucht'
};
areaLayer.addFeatures([areaFeature]);
did anybody help me once again ?
reagards Jan :-)
germany
_______________________________________________
Users mailing list
[email protected]
http://lists.osgeo.org/mailman/listinfo/openlayers-users
_______________________________________________
Users mailing list
[email protected]
http://lists.osgeo.org/mailman/listinfo/openlayers-users