1

Направление движения объекта

Topic: Направление движения объекта

Wialon Pro
Добрый день! Этот вопрос подымался ранее, но реализовать его так и не получилось, поэтому скажите пожалуйста есть задача нарисовать стрелку, которая показывает направление движения объекта (зеленая стрелка — объект движется, направление стрелки указывает направление движения;) Пока получилось нарисовать стрелку в той же координате где и объект, но это не совсем правильно. Скажите пожалуйста как сделать так чтобы стрелка отображалась впереди объекта? Этот запрос имеет отношение к этому вопросу? http://sdk.wialon.com/wiki/ru/sidebar/r … es_layer?s[]=arrows  в частности параметр arrows     отображать стрелки направления движения: 0 - нет, 1 - да. Спасибо!

2

Направление движения объекта

(edited by zuve 12/03/2014 17:22:42)

Re: Направление движения объекта

параметр в запросе на который вы ссылаетесь отвечает за отображение направления движения в треке, то есть если у вас трек  эо линия, на ней периодиечски будут прорисованы стрелки по направлению двидения. Но насколько я понимаю, вы спрашиваете про стрелки, которые отображают текущее направление движения объекта. Ее вы отрисовываете сами. и если вам ее нужно сместить, то делайте смещение на необходимое количество пикселей. Wialon SDK вам здесь не помощник.

Development Department
Gurtam
3

Направление движения объекта

Re: Направление движения объекта

zuve wrote:

параметр в запросе на который вы ссылаетесь отвечает за отображение направления движения в треке, то есть если у вас трек  эо линия, на ней периодиечски будут прорисованы стрелки по направлению двидения. Но насколько я понимаю, вы спрашиваете про стрелки, которые отображают текущее направление движения объекта. Ее вы отрисовываете сами. и если вам ее нужно сместить, то делайте смещение на необходимое количество пикселей. Wialon SDK вам здесь не помощник.

Использую JS и Google API, перерыл всю документацию по Google API вижу рисование маркеров и полилиний. Есть координаты объекта, рисую по ним объект, в icon: указываю url изображения объекта с этим понятно, по каким данным рисовать стрелку? Спасибо!

4

Направление движения объекта

Re: Направление движения объекта

Как вариант при создании иконки размер указывать больше чем само изображение, а затем  рисовать его в нужном углу иконки. Но это кастыль, ничего похожего на свойство offset я тоже не нашла. Вы можете выбрать другую библиотеку, где данный функционал уже реализован и не нужно изобретать велосипед, например Leflet или OpenLayers. Или нужно еще поспрашивать гугл как сместить маркер его же методами.

Development Department
Gurtam
5

Направление движения объекта

Re: Направление движения объекта

Сдвига иконок маркеров  в Google Maps можно добиться настройками объекта icon, в частности size, origin и anchor. Пример в документации: https://developers.google.com/maps/docu … lex_icons.

Если нужно отобразить иконку объекта + стрелочку, то можно создать 2 различных маркера, 1ый - для иконки (на сколько я понял, с этим проблем нет), 2ой - для стрелки по вышеупомянутой схеме. Дальше нужно будет вращать стрелку, а с этим в Google Maps API проблемы (http://forum.gurtam.com/viewtopic.php?pid=63830#p63830).

Вариант решения: прописать 8 предустановленных вариантов стрелочек (для 0 - 45 - 90 - 135 - 180 - 225 - 270 - 315 градусов), округлять приходящий курс и отображать самую подходящую из них.

6

Направление движения объекта

(edited by spev 14/03/2014 11:14:54)

Re: Направление движения объекта

Набросал пример как можно сделать стрелку canvas-маркером
Демонстрация вот тут: http://dexif.github.io/GoogleMapMarkerDirection/
Код вот тут: https://github.com/dexif/GoogleMapMarke … index.html

Там есть функция создающая canvas:

createTriangle(<ширина маркера>, <высота маркера>, <размер треугольника>, <градус поворота>)
Telegram: Обновления Wialon, Wialon updates
Google Chrome Extensions: Wialon Units Map | Gurtam Forum Notifications | Wialon Apps Launcher
Evgenij Spitsyn, Developer, flespi team
7

Направление движения объекта

Re: Направление движения объекта

Я нарисовал стрелку таким способом: icon: {path: google.maps.SymbolPath.FORWARD_CLOSED_ARROW, scale:3, rotation: obj[0].pos.c }, в rotation передаю курс. Стрелка вращается все хорошо, но вот нарисована она в тех же координатах что и объект, т.е. не совсем понятно ее поведение при движении объекта,  на объекте ее отображение понятно, а вот в некоторых случаях она вообще рядом рисуется.

8

Направление движения объекта

(edited by spev 14/03/2014 12:18:32)

Re: Направление движения объекта

Подозреваю что будет достаточно указать параметры size, origin и anchor (смещение указывающей точки по умолчанию она находится внизу в центре) для маркера юнита и для маркера со стрелкой

 var triangle = new google.maps.Marker({
              position: new google.maps.LatLng(lat,lng),
              map: map,
              title:"triangle",
              icon: {
                url: "url",
                size: new google.maps.Size(50, 50),
                origin: new google.maps.Point(0,0),
                anchor: new google.maps.Point(25, 25)
              }
          });
Telegram: Обновления Wialon, Wialon updates
Google Chrome Extensions: Wialon Units Map | Gurtam Forum Notifications | Wialon Apps Launcher
Evgenij Spitsyn, Developer, flespi team