Клуб API Карт

Рисование точек

Пост в архиве.

Хочу вывести на карту трек в виде точек, не соединенных отрезками. Надеялся найти такой режим отображения в Polyline, но через strokeStyle: 'dot' получается не честно, т.к. точки располагаются не в тех точках, через которые проводится polyline.

Можно рисовать точку в виде сплошной Polyline с концами в одной и той же точке, но с 2000 таких точек-линий карта уже тормозит.

Например, я создаю Polyline с точками в следующих координатах:

При использовании стиля strokeStyle: 'dot' получается вот что:

А надо как на первой картинке. Хотелось бы иметь strokeStyle: 'geodesicDot', который бы выводил только точки линии, привязанные к указанным географическим координатам

7 комментариев

Можете попробовать отображать трек метками с одним из этих стилей http://api.yandex.ru/maps/doc/jsapi/2.1-dev/ref/reference/option.presetStorage.xml

Там внизу есть метки в виде кругов с точкой. Они могут отображаться на canvas.

Есть еще вариант напрямую использовать http://api.yandex.ru/maps/doc/jsapi/2.1-dev/ref/reference/overlay.Circle.xml, но ему нужно будет перезадавать геометрию в глобальных пиксельных координата при каждой смене масштаба карты, что немного сложнее, чем использовать геообъекты.

А каким образом проявляется "не правильность" dot линии?

А по скорости что выражденая линия, что точка через Placemark - работают однаково.

в dot линии, насколько я понимаю, точки рисуются равномерно по всей длине линии. А мне надо чтобы точки рисовались именно в тех координатах, которые переданы в geomerty

Тогда это у вас уже не линия получается, если между двумя координатами ничего нет.

Можете попробовать использовать полигон для своей задачи.

Полигоны у нас принимают много контуров, так что педаем [Три точки(может и две сработает) ],[еще],[еще]

Только fillRule в nonZero надо выставить

Тогда это у вас уже не линия получается, если между двумя координатами ничего нет

Да, Это единственный способ который я нашел для отрисовки точек на карте

 

хм, а если для оптимизации сделать кластеризацию вырожденных линий, чтобы при меньшем масштабе они объединялись в одну точку? Или кластеризовать можно только метки?

кластеризатор работает только с точечными объектами