Клуб API Карт

Имитация нажатия левой кнопки мыши на карте.

pavick1994
6 февраля 2014, 23:58

Пытаюсь склеить расчёт стоимости маршрут из песочницы и пример: Геокодирование адреса из формы поиска. Всё врое бы идёт нормально, но в примере из песочницы мне нужно инициироваль клик курсора на карте, для того чтобы он в свою очередь передал координыты балуна функции которую вызывает функция перехватывающаяя событие нажатия курсором на карте. Проблема в том что когда я передаю координаты балуна функции перегружающей событие Click, ну или сразу функции которая вызывается перегрузкой функции Click, нафига не происходит, точнее все нужные функции вызываются, все параметры передаются, но вот эта функция (this._map.geoObjects.add(this._start)) не выполняется, где this._start - это ссылка на (this._start = new ymaps.Placemark(position, { iconContent: 'А' }, { draggable: true });). Ни как не пойму в чём дело ((

 

 function emulate_cl(fs_coort) {
     ptp.set_cor = function (e) {
         this._onClick(e, fs_coort);
     };
     ptp.set_cor();
 }
 ptp._onClick = function (e, fs_coords) {
     if(typeof (fs_coords) != 'undefined') {
         this.setStartPoint(fs_coords);
     }
     else {
         this.setStartPoint(e.get('coordPosition'));
     };
 };
 ptp.setStartPoint = function (position) {
     if(this._start) {
         this._start.geometry.setCoordinates(position);
     }
     else {
         this._start = new ymaps.Placemark(position, {
             iconContent: 'А'
         }, {
             draggable: true
         });
         this._start.events.add('dragend', this._onDragEnd, this);
         this._map.geoObjects.add(this._start);
     }
     this.getDirections();
 };

 

И вызывается всё это например так:

var fs_coor = [55.731272, 49.447198];

emulate_cl(fs_coor);

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

не понятно зачем эмулировать клик, если можно сделать calculator.setStartPoint(coords)

И правда, спасибо ))