[OpenLayers-Users] Add labels above the lines.

adidas xkadidas at gmail.com
Fri Jul 27 05:57:34 PDT 2012


27.07.2012 15:49, Alexandre Dubé пишет:
> Adidas,
>
> You could trying using the map setLayerIndex method.
>
> http://dev.openlayers.org/releases/OpenLayers-2.12/doc/apidocs/files/OpenLayers/Map-js.html#OpenLayers.Map.setLayerIndex 
>
>
> Alexandre
>
>
> On 12-07-27 08:44 AM, adidas wrote:
>> 27.07.2012 15:38, adidas пишет:
>>> 27.07.2012 15:28, Alexandre Dubé пишет:
>>>> Hi Adidas,
>>>>
>>>> Layers are displayed on top of each other in the order they were 
>>>> added to the map : first added is at the bottom, last is on top. 
>>>> The exception to that rule are layers with baseLayer:true property 
>>>> set, which are always at bottom.
>>>>
>>>> Try to look in what position your label layer is added and push it 
>>>> to the end.
>>>>
>>>> HTH,
>>>>
>>>> Alexandre
>>>>
>>>>
>>>> On 12-07-27 06:54 AM, adidas wrote:
>>>>> 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!
>>>>> _______________________________________________
>>>>> Users mailing list
>>>>> Users at lists.osgeo.org
>>>>> http://lists.osgeo.org/mailman/listinfo/openlayers-users
>>>>
>>>>
>>> The layer of labels is ABOVE all.
>> I meant that the layer with labels to the most recent.
>> _______________________________________________
>> Users mailing list
>> Users at lists.osgeo.org
>> http://lists.osgeo.org/mailman/listinfo/openlayers-users
>
>
It did not help. :(


More information about the Users mailing list