Стоит такая задча. Пользователь устонавливает некое колличество точек на карте. При добавлении точек ее координаты пишуться в инпут, а координаты прошлых сохраняються в другом инпуте. (от куда пишуться в БД). Проблема появилась когда решили сделать возможность перетаскивания меток. Как можно получить координаты точек, которые уже отмечены на карте?
пока:
-при клике по карте создаёться новая точка, её координаты пишуться в инпут
-при новом клике координаты прошлой точки пишуться в другое поле, и создаёться новая точка и так же пишуться координаты в первое поле.
Хотелось бы добавить возможность перетаскивания любой точки, с записью координат точек имеющихся на карте.
myMap.events.add("click",function(e) {
if ( $("#YNewPoint").hasClass("disable") ) {
myCollection = creat_collection_points(post_points); //создаём коллекцию из прошлых (сохраннёных) точек
$('#edit-field-koord-0-va
var k = $('#edit-field-koord-0-va
myCollection.add(new_point(k[0],k[1])); // Добавляем в коллекцию новую точку с полученными координатами
myMap.geoObjects.add(myCollection);
}
});
function new_point(x,y) {
myPlacemark = new ymaps.Placemark(
[x, y], {
balloonContent: 'Новая метка'
}, {
draggable: true,
hideIconOnBallon: false,
iconImageHref: '/sites/all/themes/aurums
});
myPlacemark.events.add('dragend', function (e) {
$('#edit-field-koord-0-va
});
return myPlacemark;
}
function creat_collection_points(koord) {
myCollection.removeAll();
var cords = [];
//получаем координаты сохранёных точек
var cordinati = koord.split(/[,]/);
var dlinna = cordinati.length;
kol_point = 0;
for (j=1; j<dlinna; j++) {
// Разбиваем координаты попарно и создаём точки из полученных координат
if (j % 2 == 1) {
cords[0] = cordinati[j];
}
else {
cords[1] = cordinati[j];
objectsMap[kol_point] = cords[0]+','+cords[1];
kol_point = kol_point + 1;
var myPlacemark = new ymaps.Placemark(
[cords[0], cords[1]], {
balloonContent: 'Метка №'+kol_point
}, {
draggable: true,
hideIconOnBallon: false
});
myCollection.add(myPlacemark);
}
return myCollection;
}