Клуб API Карт

Как переместить метку на карте в то место, на которое кликнул?

novokubanka
14 мая 2015, 15:18

Исходный код:

this.createPositionsMap = function(elementId, options, dragEndCallback){

ymaps.ready(function(){
icms.map.createPositionsMapOnReady(elementId, options, dragEndCallback);
});

}

this.createPositionsMapOnReady = function(elementId, options, dragEndCallback){

var is_drag = typeof(dragEndCallback) != 'undefined';
var zoom = typeof(options.zoom) != 'undefined' ? options.zoom : 16;

this.map = new ymaps.Map(elementId, {
center: options.center,
zoom: zoom,
type: this.getMapType(options.map_type),
behaviors: ['default'],
scroll_zoom: ['scrollZoom'],
controls: ['zoomControl', 'typeSelector', 'fullscreenControl']
}
);


if (!options.scroll_zoom) { this.map.behaviors.disable(['scrollZoom']); }



this.placemark = new ymaps.Placemark(options.center, {balloonContentBody: "Переместите маркер в необходимую точку", balloonContentFooter: options.center}, {
draggable: is_drag,
preset: 'twirl#lightblueDotIcon',



});




this.placemark.events.add("dragend", function (event) {
var coords = icms.map.placemark.geometry.getCoordinates();
dragEndCallback(coords[0], coords[1]);
});

this.placemark.events.add("click", function (event) {
var coords = icms.map.placemark.geometry.getCoordinates();
dragEndCallback(coords[0], coords[1]);
});



}

this.setPositionsMapCenter = function(coords){

this.placemark.geometry.setCoordinates(coords);
this.setCenter(coords);
this.setZoom(16);

}

 Метка на карте передвигается мышкой, необходимо помимо этого сделать перемещение этой метки кликом по месту на карте.

Пробовал добавить это:

this.placemark.events.add("click", function (event) {
var coords = icms.map.placemark.geometry.getCoordinates();
dragEndCallback(coords[0], coords[1]);
});

 

Не работает.

Помогите пожалуйста, люди добрые...

3 комментария
Подписаться на комментарии к посту

У метки есть редактор геометрии, он вроде так и работает, надо лишь включить редактирование

Если бы я знал что это такое... 

Как его включить?

 

 

Это поле "editor" с определенным интерфейсом. В документации оно описано, для примера можно посмотреть как сделан инструмент определения координат