Страница 1 из 1

Openlayers, направление трека

Добавлено: 11 ноя 2010, 11:09
SHtoRM
Здравствуйте, подскажите пожалуйста, можно ли и как, если можно, указать направление трека (стрелки). Трек вывожу вот так:

Код: Выделить всё

	lgpx = new OpenLayers.Layer.GML(number, "/map/tracks/name.gpx?n="+Math.random(),{
	format: OpenLayers.Format.GPX,
	style: {strokeColor: tcolor, strokeWidth: 5, strokeOpacity: 0.5},
	projection: new OpenLayers.Projection("EPSG:4326")
	});
	map.addLayer(lgpx);

Re: Openlayers, направление трека

Добавлено: 11 ноя 2010, 13:15
Mavka
Вот тут обсуждают как грязным хаком вставить на линию точку, высчитать поворот и назначить ей знак кончика стрелки. Решение, пример (нарисуйте линию и нажмите Update).

Выглядит совсем не оптимистично.

Re: Openlayers, направление трека

Добавлено: 11 ноя 2010, 19:16
Максим Дубинин
Мавка, а почему не оптимистично?
Способ похоже точно такой же как мы в проекте по пискульке использовали (но с гуглом). Там проблема с мелкими отрезками - быстро каша получается.

Re: Openlayers, направление трека

Добавлено: 11 ноя 2010, 19:32
Mavka
В слое должны быть только данные. И оформление отдельно. А тут появится куча лишних точек.
Я давно не смотрел возможности OpenLayers по части надписей. Там нельзя еще писать вдоль линий?

Re: Openlayers, направление трека

Добавлено: 11 ноя 2010, 19:50
Максим Дубинин
отчасти согласен, однако с философвской точки зрения, может рантайм данные - не данные? :)

Re: Openlayers, направление трека

Добавлено: 11 ноя 2010, 20:01
Mavka
Обычно да, но вот _DR_ развлекается с геопроцессингом внутри OL. Вот там точно лишние объекты ни к чему.

Re: Openlayers, направление трека

Добавлено: 21 янв 2011, 14:03
SHtoRM
Максим Дубинин, насколько я понимаю, стрелка направления трека у вас в примере - это маркер, направление берётся из значения CUR? У меня есть такое поле в БД с координатами, в нём значения от 0 до 360. Я так понимаю, это курс движения.
Я рисовал у себя маркеры с шагом в 30 градусов и в зависимости от значения поля курс, выводил определённый маркер. Пришлось сопоставить эти углы с направлением трека и всё получилось :D Хотя и не с первого раза - в коде ошибка была ))
Чтобы избежать скопления стрелок и каши на мелких участках карты, я выводил их только при скорости в данный момент, большей чем 40 или 50 км/час (трек машины) и не для каждой точки, а кратной 10, например.

Re: Openlayers, направление трека

Добавлено: 27 янв 2011, 15:20
SHtoRM
Как вариант, можно забить на эти стрелки и указатели, а "воспроизвести" трек. Написать функцию, чтобы маркер двигался по треку. Как это реализовать - это уже другой вопрос... Парсить построчно gpx файл, выдирая координаты? Какие мысли есть по этому поводу ? Может, есть в качестве примера готовые решения ?