[OpenLayers-Users] Add labels above the lines.

adidas xkadidas at gmail.com
Fri Jul 27 06:11:05 PDT 2012


27.07.2012 16:08, Alexandre Dubé пишет:
> I think I got it.
>
> All vector layers but the one with labels are used by a SelectFeature 
> control which is currently active, which makes all the other layers 
> always on top. Deactivate the control and you'll that the labels will 
> be put on top.
>
> To fix this, you could try adding your labels layer in the 
> SelectFeature control as well and behave accordingly if a user click 
> on a label. I don't really see any other way to have your labels on 
> top as long as this control is active.
>
> Tell me how that sounds.
>
> Alexandre
>
>
> On 12-07-27 08:57 AM, adidas wrote:
>> 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. :(
>> _______________________________________________
>> Users mailing list
>> Users at lists.osgeo.org
>> http://lists.osgeo.org/mailman/listinfo/openlayers-users
>
>
It helped! Thank you so much!


More information about the Users mailing list