Hi,
I'm not sure, but "${name}" will not expand in a features style.
Add a styleMap to your vector layer:
var portStyle = {
strokeColor: "#FFFFFF",
strokeOpacity: 1,
strokeWidth: 3,
fillColor: "#FF5500",
fillOpacity: 0.5,
pointRadius: 6,
pointerEvents: "visiblePainted",
label : "${name}",
fontColor: "#FF0000",
fontSize: "15px",
fontFamily: "Arial",
fontWeight: "normal",
labelAlign: "cm",
labelXOffset: 0,
labelYOffset: 0
};
var portStyleSelect = {
strokeColor: "#FFFF00",
strokeOpacity: 1,
strokeWidth: 3,
fillColor: "#FFFF00",
fillOpacity: 0.5,
pointRadius: 6,
pointerEvents: "visiblePainted",
label : "${name}",
fontColor: "#FFFF00",
fontSize: "15px",
fontFamily: "Arial",
fontWeight: "normal",
labelAlign: "cm",
labelXOffset: 0,
labelYOffset: 0
};
var aStyleMap = new OpenLayers.StyleMap( { "default" : new
OpenLayers.Style(portStyle), "select" : new
OpenLayers.Style(portStyleSelect)} );
vectorLayer.styleMap = aStyleMap;
Arnd
-----Ursprüngliche Nachricht-----
Von: [email protected]
[mailto:[email protected]] Im Auftrag von Jan
Tappenbeck
Gesendet: Montag, 29. November 2010 18:49
An: [email protected]
Betreff: [OpenLayers-Users] Problem by label geometrie elements
hi !
i have the following code
portname["2000"] = ["Büsum"];
portname["2001"] = ["Cuxhaven"];
portname["2002"] = ["Dagebüll"];
portname["2003"] = ["Schleswig"];
portname["2004"] = ["Flensburg"];
portname["2005"] = ["Boltenhagen"];
coord["2000"] = [54.120602,8.860474];
coord["2001"] = [53.867105,8.708038];
coord["2002"] = [54.729378,8.695679];
coord["2003"] = [54.504340,9.559479];
coord["2004"] = [54.788809,9.440002];
coord["2005"] = [53.987588,11.196442];
var portStyle = {
strokeColor: "#FFFFFF",
strokeOpacity: 1,
strokeWidth: 3,
fillColor: "#FF5500",
fillOpacity: 0.5,
pointRadius: 6,
pointerEvents: "visiblePainted",
label : "${name}",
fontColor: "${favColor}",
fontSize: "15px",
fontFamily: "Arial",
fontWeight: "normal",
labelAlign: "${align}",
labelXOffset: "${xOffset}",
labelYOffset: "${yOffset}"
};
vectorLayer = new OpenLayers.Layer.Vector("Simple Geometry"); //
end-vectorLayer
map.addLayer (vectorLayer);
var littleports = new Array();
littleports = ["2000","2001","2002","2003","2004","2005"];
for (j in littleports){
var point = new
OpenLayers.Geometry.Point(coord[littleports[j]][1],coord[littleports[j]][0])
.transform(map.displayProjection,
map.getProjectionObject());
var data = {name: portname[littleports[j]]};
var pointFeature = new OpenLayers.Feature.Vector(point, data,
portStyle);
vectorLayer.addFeatures(pointFeature);
} // end-for
but the problem is that the label in the browser is ${name} !!!
can anybody tell me the mistake and how to show the right names in the map
like Büsum, Boltenhagen etc. ??
regards Jan :-)
_______________________________________________
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