[OpenLayers-Users] Add labels above the lines.

adidas xkadidas at gmail.com
Fri Jul 27 03:54:06 PDT 2012


Hello! How to add labels above the lines?
Labels are added as follows:
         var styleMarkersLabels = new OpenLayers.Style( // стили для 
надписей узлов
                 {
                     strokeWidth: 2,
                     labelYOffset: 10,
                     label: "${label}",
                     fontColor: 'red',
                     fontSize: 9,
                     fontWeight: "bold",
                     labelOutlineColor: "black",
                     labelOutlineWidth: 1
                 });
             var vectorPoint = new OpenLayers.Layer.Vector("Узлы (надписи)",
             {
                 styleMap: new OpenLayers.StyleMap(
                 { "default": styleMarkersLabels,

                 "select": { pointRadius: 20}
                 })
             });
             map.addLayer(vectorPoint);

             function addPoint(lon, lat, title, ident, layr){
                 var ttt = new OpenLayers.LonLat(parseFloat(lon), 
parseFloat(lat));
                 ttt.transform(new OpenLayers.Projection("EPSG:4326"), 
new OpenLayers.Projection("EPSG:900913"));
                 for (var k = 0; k < layr.features.length; k++) {
if(layr.features[k].attributes.PointId==ident) {
                         layr.features[k].move(ttt);
                         layr.features[k].attributes.label=title;
                         return false;
                     }
                 }
                 var point0 = new 
OpenLayers.Geometry.Point(parseFloat(lon), parseFloat(lat));
                 point0.transform(new 
OpenLayers.Projection("EPSG:4326"), new 
OpenLayers.Projection("EPSG:900913"));
                 layr.addFeatures(new OpenLayers.Feature.Vector(point0, 
{ label: title, name: title, PointId: ident }));
             }

             var lat2, lon2, title, ident;
             for (l = 0; l < nodesLabels_Count; l++) {
                 lat2 = nodesLabels_arr[l]["points"][0]["lat"];
                 lon2 = nodesLabels_arr[l]["points"][0]["lon"];
                 title = nodesLabels_arr[l]["title"];
                 ident = nodesLabels_arr[l]["ident"];
                 addPoint(lon2, lat2, title, ident, map.layers[4]);
             }
But i got it: http://softez.pp.ua/labels.PNG
Map here: http://softez.pp.ua/fiberms/fiberms/map.php
Thanks!


More information about the Users mailing list