Проблема с ID точки (метки) СДЭК на яндекс-картах
Вот код yandex-меток:
Мне советуют: Добавить добавить обработчик, который будет вызывать клик с необходимыми тебе данными , как сделано тут:https://yandex.ru/dev/maps/jsbox/2.1/geoobject_events
Но я не знаю, как это сделать. Подскажите, как получить ID яндекс-метки.
Я могу добавить вот такое событие, alert выскакивает, но как добавить событие виртуального клика, не знаю:
ymaps.ready(init);
function init () {
var myMap = new ymaps.Map("map", {
center: [56.735323, 37.1556315],
zoom: 10
}, {
searchControlProvider: 'yandex#search'
})
,
myPlacemark1 = new ymaps.Placemark([56.74146, 37.170678], {
balloonContentHeader: "СДЭК",
balloonContentBody: "На Понтекорво",
balloonContentFooter: "",
hintContent: "На Понтекорво",
iden:"DBN4"
})
,
myPlacemark2 = new ymaps.Placemark([56.729186, 37.140585], {
balloonContentHeader: "СДЭК",
balloonContentBody: "На Боголюбова 44",
balloonContentFooter: "",
hintContent: "На Боголюбова 44",
iden:"DBN5"
})
;
myMap.geoObjects.add(myPlacemark1),myMap.geoObjects.add(myPlacemark2);
}
В поле HTML-документа в 1С ловлю событие ПриНажатии, но ДанныеСобытия.Button.ID - пустое.
Как пролечить?
ПоказатьМне советуют: Добавить добавить обработчик, который будет вызывать клик с необходимыми тебе данными , как сделано тут:
Но я не знаю, как это сделать. Подскажите, как получить ID яндекс-метки.
Я могу добавить вот такое событие, alert выскакивает, но как добавить событие виртуального клика, не знаю:
myPlacemark1.events.add('click' , function(e){
alert(myPlacemark1.properties.get('iden'));
Найденные решения
Пришлось разбиратсья самому.
Вот код в JS. Добавил событие.
Ну и в 1С отлавливаю это событие:
Вот код в JS. Добавил событие.
ymaps.ready(init);
function init () {
var myMap = new ymaps.Map("map", {
center: [56.735323, 37.1556315],
zoom: 10
}, {
searchControlProvider: 'yandex#search'
})
,
myPlacemark1 = new ymaps.Placemark([56.74146, 37.170678], {
balloonContentHeader: "СДЭК",
balloonContentBody: "На Понтекорво",
balloonContentFooter: "",
hintContent: "На Понтекорво",
iden:"DBN4"
})
,
myPlacemark2 = new ymaps.Placemark([56.729186, 37.140585], {
balloonContentHeader: "СДЭК",
balloonContentBody: "На Боголюбова 44",
balloonContentFooter: "",
hintContent: "На Боголюбова 44",
iden:"DBN5"
})
;
myMap.geoObjects.add(myPlacemark1),myMap.geoObjects.add(myPlacemark2);
myPlacemark1.events.add('click' , function(e){
var evt = document.createEvent('MouseEvents');
evt.initEvent('click', true, false );
evt.data = myPlacemark1.properties.get('iden');
document.dispatchEvent(evt);
});
myPlacemark2.events.add('click' , function(e){
var evt = document.createEvent('MouseEvents');
evt.initEvent('click', true, false );
evt.data = myPlacemark2.properties.get('iden');
document.dispatchEvent(evt);
});
}
ПоказатьНу и в 1С отлавливаю это событие:
&НаКлиенте
Процедура дор_ЯндексКартаПриНажатииПосле(Элемент, ДанныеСобытия, СтандартнаяОбработка)
Если ЗначениеЗаполнено(ДанныеСобытия.Event.data) Тогда
//Осипов Яндекс-карты 2022-06-05
КодПункта = ДанныеСобытия.Event.data; //Пример: "DBN5"
КонецЕсли;
КонецПроцедуры
ПоказатьОстальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Пришлось разбиратсья самому.
Вот код в JS. Добавил событие.
Ну и в 1С отлавливаю это событие:
Вот код в JS. Добавил событие.
ymaps.ready(init);
function init () {
var myMap = new ymaps.Map("map", {
center: [56.735323, 37.1556315],
zoom: 10
}, {
searchControlProvider: 'yandex#search'
})
,
myPlacemark1 = new ymaps.Placemark([56.74146, 37.170678], {
balloonContentHeader: "СДЭК",
balloonContentBody: "На Понтекорво",
balloonContentFooter: "",
hintContent: "На Понтекорво",
iden:"DBN4"
})
,
myPlacemark2 = new ymaps.Placemark([56.729186, 37.140585], {
balloonContentHeader: "СДЭК",
balloonContentBody: "На Боголюбова 44",
balloonContentFooter: "",
hintContent: "На Боголюбова 44",
iden:"DBN5"
})
;
myMap.geoObjects.add(myPlacemark1),myMap.geoObjects.add(myPlacemark2);
myPlacemark1.events.add('click' , function(e){
var evt = document.createEvent('MouseEvents');
evt.initEvent('click', true, false );
evt.data = myPlacemark1.properties.get('iden');
document.dispatchEvent(evt);
});
myPlacemark2.events.add('click' , function(e){
var evt = document.createEvent('MouseEvents');
evt.initEvent('click', true, false );
evt.data = myPlacemark2.properties.get('iden');
document.dispatchEvent(evt);
});
}
ПоказатьНу и в 1С отлавливаю это событие:
&НаКлиенте
Процедура дор_ЯндексКартаПриНажатииПосле(Элемент, ДанныеСобытия, СтандартнаяОбработка)
Если ЗначениеЗаполнено(ДанныеСобытия.Event.data) Тогда
//Осипов Яндекс-карты 2022-06-05
КодПункта = ДанныеСобытия.Event.data; //Пример: "DBN5"
КонецЕсли;
КонецПроцедуры
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот