<div dir="ltr">Hi Mikhael, take a look at a question from few days ago here on the list, named "How to display polygon length dimensions".<div>Javier Mamano replied with a link to one of his libs that displays the length of a line in the middle of it: <a href="http://jorix.github.io/OL-DynamicMeasure/examples/measure-dynamic.html" target="_blank" style="font-size:13px;font-family:arial,sans-serif">http://jorix.github.io/OL-DynamicMeasure/examples/measure-dynamic.html</a></div>
<div>Maybe you could take a look at his code =]</div><div>Att.</div><div>    Cláudio</div><div><br></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">2013/8/1 Mikhaél Santos <span dir="ltr"><<a href="mailto:mikhael.santos@xlm.pt" target="_blank">mikhael.santos@xlm.pt</a>></span><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div lang="PT" link="#0563C1" vlink="#954F72"><div><p class="MsoNormal"><span lang="EN-US">Hi guys,<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">I wanted to know if it’s possible to dynamically set a linestrings label to the center of the linestring. <u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-US">Currently I have something like this:<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">        labelDeltaPixels: function (feature) {<u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-US">            var vert = feature.geometry.getVertices();<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">            var startPoint = vert[0],<u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-US">                middlePoint;<u></u><u></u></span></p><p class="MsoNormal" style="text-indent:35.4pt">
<span lang="EN-US" style="color:#5b9bd5">//If more than 1 point get a middle point<u></u><u></u></span></p><p class="MsoNormal" style="text-indent:35.4pt"><span lang="EN-US" style="color:#5b9bd5">//else calculate the middle coordenate<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">            if(vert.length > 2){<u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-US">                middlePoint = vert[Math.floor(vert.length / 2)];<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">            }else {<u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-US">                middlePoint = new OpenLayers.Geometry.Point((vert[0].x + vert[1].x)/2, (vert[0].y + vert[1].y)/2)<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">            }<u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-US" style="color:#5b9bd5">          //This is where I am having problems the values obtain from pixelStart and PixelMiddle don’t coincide with the middle of the linestring, it’s not close at all, the label continues at the start point.<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">            var pixelStart = feature.layer.map.getPixelFromLonLat(new OpenLayers.LonLat(startPoint.x.toFixed(5) , startPoint.y.toFixed(5) ));<u></u><u></u></span></p><p class="MsoNormal">
<span lang="EN-US">            var pixelMiddle =  feature.layer.map.getPixelFromLonLat(new OpenLayers.LonLat(middlePoint.x.toFixed(5) , middlePoint.y.toFixed(5) ));<u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-US">            var deltaX = pixelMiddle.x- pixelStart.x;<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">            var deltaY = pixelStart.y - pixelMiddle.y;<u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-US">            return {<u></u><u></u></span></p><p class="MsoNormal">
<span lang="EN-US">                x: deltaX,<u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-US">                y: deltaY<u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-US">            };<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">        }<u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p><p class="MsoNormal"><span lang="EN-US">Any help is appreciated.<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">Thanks<u></u><u></u></span></p></div></div><br>_______________________________________________<br>
Users mailing list<br>
<a href="mailto:Users@lists.osgeo.org">Users@lists.osgeo.org</a><br>
<a href="http://lists.osgeo.org/mailman/listinfo/openlayers-users" target="_blank">http://lists.osgeo.org/mailman/listinfo/openlayers-users</a><br>
<br></blockquote></div><br></div>