Как в yandex maps нарисовать ломанную с разрывами?

Ссылка скопирована
1 ответ

Необходимо на картах отображать ломанную линию маршрута. Однако в некоторых местах данных о геопозиции нет. Это нужно отражать на карте. Однако при отрисовке Polyline система сама заполняет пропущенные места, чтобы получилась линия без разрывов. Есть ли возможность отключить этот функционал? В апи документации такого не нашёл

Дополнительно:

ЕМНИП, нужно добавить ещё один массив координат, тогда заполнения не будет

  • А вы сможете сами-то определить, что вот в этом месте надо сделать разрыв, есть какой-то алгоритм на это у вас? Потому что отрисовать, действительно, относительно легко, а вот понять, что это надо сделать в конкретном месте, на мой взгляд куда сложнее.
  • По итогу получилось решить задачу сделав каждую из координат отдельным массивом вида [[latx, lonx], [latx, lonx]], по сути просто дублируя все значения. Минус только в том, что yandex map не съело такие мультиразмерные координаты для polyline. Пришлось ставить leaflet специально для этих целей. Там такое прокатило.

    Нужно решить такую задачу?

    Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

    Заказать помощь
    Лучший ответ
    1
    Виктор Sys Ответ

    Для того чтобы нарисовать ломанную линию с разрывами на Яндекс.Картах, необходимо воспользоваться библиотекой API Яндекса и использовать методы для отображения линий с разрывами.

    Прежде всего, необходимо подключить API Яндекс.Карт на странице, добавив следующий скрипт в тег :

     

    Здесь вместо YOUR_API_KEY необходимо подставить ваш собственный ключ API Яндекс.Карт.

    Затем, создаем карту и добавляем на нее ломанную линию с разрывами. Вот пример кода на JavaScript:

    <div id="map" style="width: 600px;height: 400px"></div>
     
    ymaps.ready(init);
     
    function init() {
        var myMap = new ymaps.Map('map', {
            center: [55.76, 37.64],
            zoom: 10
        });
     
        var myPolyline = new ymaps.Polyline([
            [55.76, 37.64],
            [55.75, 37.65],
            [55.74, 37.66],
            [55.73, 37.67]
        ], {
            hintContent: 'Ломаная линия с разрывами'
        }, {
            strokeColor: '#FF0000',
            strokeWidth: 2,
            strokeStyle: 'dash'
        });
     
        myMap.geoObjects.add(myPolyline);
    }

    <div id="map" style="width: 600px;height: 400px"></div> ymaps.ready(init); function init() { var myMap = new ymaps.Map('map', { center: [55.76, 37.64], zoom: 10 }); var myPolyline = new ymaps.Polyline([ [55.76, 37.64], [55.75, 37.65], [55.74, 37.66], [55.73, 37.67] ], { hintContent: 'Ломаная линия с разрывами' }, { strokeColor: '#FF0000', strokeWidth: 2, strokeStyle: 'dash' }); myMap.geoObjects.add(myPolyline); }

    В данном примере создается карта с центром в координатах [55.76, 37.64], зумом 10 и добавляется ломанная линия с разрывами, проходящая через несколько точек. Для отображения разрывов используется свойство strokeStyle со значением 'dash'.

    Таким образом, следуя этому примеру, вы сможете нарисовать ломанную линию с разрывами на Яндекс.Картах.

    Другие ответы (0)

    Пока нет других ответов. Будьте первым, кто поможет автору.

    Ответить на вопрос

    комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *

    Вам также может быть интересно