Как установить на Яндекс Карту несколько меток API?
Есть api яндекс карта, я использую с поиском для того чтобы пользователь мог ввести адрес и сразу на карте появляется метка. Это ок, все работает.
- Но как можно сделать чтобы можно было несколько меток поставить сразу? Т.е несколько адресов сразу, один адрес ввел - метку поставил, второй адрес - вторая метка и все это видно на самой карте. Как можно это реализовать, можете подсказать если не трудно?
- И как вывести каждый адрес в отдельный блок span чтобы можно было посмотреть как список какие адреса выбраны.
Вот код:
ymaps.ready(function () {
var myMap = new ymaps.Map('map', {
center: [55.755819, 37.617644],
zoom: 12,
controls: []
}),
// Создаем экземпляр класса ymaps.control.SearchControl
mySearchControl = new ymaps.control.SearchControl({
options: {
noPlacemark: true
}
}),
// Результаты поиска будем помещать в коллекцию.
mySearchResults = new ymaps.GeoObjectCollection(null, {
hintContentLayout: ymaps.templateLayoutFactory.createClass('$[properties.name]')
});
myMap.controls.add(mySearchControl);
myMap.geoObjects.add(mySearchResults);
// При клике по найденному объекту метка становится красной.
// mySearchResults.events.add('click', function (e) {
// e.get('target').options.set('preset', 'islands#redIcon');
// });
// Выбранный результат помещаем в коллекцию.
mySearchControl.events.add('resultselect', function (e) {
var index = e.get('index');
mySearchControl.getResult(index).then(function (res) {
mySearchResults.add(res);
});
}).add('submit', function () {
mySearchResults.removeAll();
})
});
Ответы (1 шт):
Автор решения: Reni
→ Ссылка
Вы скопировали правильный пример, но немного его недоредактировали. Вам нужно убрать mySearchResults.removeAll() — этот метод как раз очищает список меток на карте перед следующим поиском. Если убрать эту строку, то метки прошлых поисков остаются на карте пока человек не обновит страницу.