Не могу разобраться как добавить точку в уже существующую polyline
function setPolyline(car) {
var options = {
//---- Задаем опции геообъекта.
//---- Цвет с прозрачностью.
strokeColor: "#FF0000",
//---- Ширину линии.
strokeWidth: 4,
//---- Максимально допустимое количество вершин в ломаной.
editorMaxPoints: 5000,
// Первой цифрой задаем длину штриха. Второй цифрой задаем длину разрыва.
// strokeStyle: '1 5',
//---- Добавляем в контекстное меню новый пункт, позволяющий удалить ломаную.
editorMenuManager: function (items) {
items.push({
title: "Удалить линию",
onClick: function () {
myMap.geoObjects.remove(myPolyline);
}
});
return items;
}};
if ( _storagePolyline[car.car_id] == null ) {
//---- Хранилище координат
_storagePolylineCoordinates[car.car_id] = [[car.lat, car.lng]];
//---- Указываем координаты вершин.
var myPolyline = new ymaps.Polyline(_storagePolylineCoordinates[car.car_id], {
hintContent: "Ломаная линия"
}, options);
//---- Хранилище линий
_storagePolyline[car.car_id] = myPolyline;
//---- Добавляем линию на карту.
myMap.geoObjects.add(myPolyline);
//---- Включаем режим редактирования.
myPolyline.editor.startEditing();
//---- Включаем режим рисования.
// myPolyline.editor.startDrawing();
} else {
ok = false;
var len = _storagePolylineCoordinates[car.car_id].length - 1;
if (_storagePolylineCoordinates[car.car_id][len][0] == car.lat &&
_storagePolylineCoordinates[car.car_id][len][1] == car.lng ){
ok = true;
// console.log(ok);
}
if (!ok) {
console.log(_storagePolyline[car.car_id].geometry);
_storagePolylineCoordinates[car.car_id].push([car.lat, car.lng]);
_storagePolyline[car.car_id].setCoordinates(_storagePolylineCoordinates[car.car_id])
// storagePolyline[car.car_id] = new ymaps.Polyline(storagePolylineCoordinates[car.car_id],{}, options);
}
}
}
Используйте метод геометрии setCoordinates().
Вот документация.
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости