[OpenLayers-Users] Point symbolizer: triangle + orientation line

Mr. Puneet Kishor punk.kish at gmail.com
Fri Jul 27 08:08:07 PDT 2012


On Jul 27, 2012, at 10:18 AM, Gabriel Vatin <gabriel.vatin at mines-paristech.fr> wrote:

> Hello,
> 
> I'd like to represent mobile objects (WFS layer of points) with a triangle, and a line to show the direction and speed of it. Right now, I can use the default "triangle" symbolizer :
> 
> symbolizer: {
> rotation: '${heading}',
>    pointRadius: 6.5,
>    graphicName: 'triangle',
>    strokeColor: 'white',
>    fillColor: color,
>    strokeOpacity: 0.3,
>    strokeWidth: 2,
>    fillOpacity: 0.7
> }
> 
> Then I use the rotation attribute to turn the trangle. The triangle object is a isosceles triangle, but it is so small that we can't really see its orientation. So is there a method to draw a triangle and a line at the top of it to show the direction ?
> I just tried to add a new WFS layer with the same origin, but an other symbolizer :
> 
> defaultStyleD = new OpenLayers.Style({
>    rotation: '${heading}',
>    pointRadius: 25,
>    externalGraphic: './img/line.png',
>    graphicYOffset: -50
> });
> 
> The line.png is an image I made myself. If I display the 2 layers at the same time, that's the kind of result that I want to see... but this is only a trick, and not a real good way to answer my problem !
> Do you have any idea ?
> 


The above is too complicated. Instead, make one image of an arrow (line with triangle showing direction), and then rotate and scale it as needed. See example image at http://dl.dropbox.com/u/3526821/gps.png

--
Puneet Kishor



More information about the Users mailing list