Чтобы разрешить перетаскивание метки, необходимо добавить опцию draggable: true.
Ниже приведен пример js-скрипта, выводящий я.карту с перетаскиваемой метокой, вычислением новых координат и записью их в поле input.
JS:
<script type="text/javascript">
var myMap, myPlacemark;
ymaps.ready(init);
function init() {
myMap = new ymaps.Map("map", {
center: [45.035515, 38.969269],
zoom: 14,
behaviors: ['scrollZoom', 'drag']
});
myMap.controls.add('smallZoomControl', {
top: 200,
left: 5
});
myPlacemark = new ymaps.Placemark([45.035515, 38.969269], {}, {
draggable: true
});
$("#coords").attr("value", '45.035515,38.969269');
myMap.geoObjects.add(myPlacemark);
myPlacemark.events.add("dragend", function (e) {
coords = this.geometry.getCoordinates();
savecoordinats();
}, myPlacemark);
}
function savecoordinats() {
var new_coords = [coords[0].toFixed(6), coords[1].toFixed(6)];
myPlacemark.getOverlay().getData().geometry.setCoordinates(new_coords);
document.getElementById("coords").value = new_coords;
}
</script>
HTML:
<div id="map" style="width:700px;height:500px;"></div>
<input id="coords" name="coords" />