Следующим ниже кодом устанавливаю метку с возможностью перетаскивания (взял из примеров). Также на карте есть форма поиска, которая тоже ставит метку. И если я уже поставил свою метку мышкой , а потом решил поставить метку с помощью формы поиска, то установится новая метка, и того на карте будет уже две метки. Но мне нужно чтобы при поиске через форму устанавливалась моя метка, а если она уже установлена то просто бы перемещалась на адрес найденый через поиск. Т.е. всего на карте должна быть максимум одна метка. Подскажите, пожалуйста, как тут быть?
ymaps.ready(init);
var myMap,
myPlacemark;
function init(){
myMap = new ymaps.Map("map", {
center: [55.76, 37.64],
zoom: 16,
controls: ['zoomControl', 'fullscreenControl', 'typeSelector', 'rulerControl', 'searchControl']
});
myMap.events.add('click', function (e) {
var coords = e.get('coords');
// Если метка уже создана – просто передвигаем ее.
if (myPlacemark) {
myPlacemark.geometry.setCoordinates(coords);
}
// Если нет – создаем.
else {
myPlacemark = createPlacemark(coords);
myMap.geoObjects.add(myPlacemark);
// Слушаем событие окончания перетаскивания на метке.
myPlacemark.events.add('dragend', function () {
myPlacemark.geometry.getCoordinates();
});
}
});
// Создание метки.
function createPlacemark(coords) {
return new ymaps.Placemark(coords, {
iconCaption: 'метка...'
}, {
preset: 'islands#violetDotIconWithCaption',
draggable: true
});
}
}