Клуб API Карт

api yandex maps 2.0: Метка, событие

Пост в архиве.

Доброй ночи, Всех с наступившим Новым годом.

Имеем JSON данные содержащие в том числе и координаты.

Добавляю метки на карту вот так:

$.each(data, function(key, val){
CollectionCars.add(new ymaps.Placemark([val.lat, val.lon],{
balloonContentHeader: 'Ошибка 404',
balloonContentBody: 'Нет такой страницы',
balloonContentFooter: 'Но скоро будет!!!',
hintContent: 'Такси-69:' + status
},{
iconImageHref: fixuri + '/images/taximaps/'+icon,
iconImageSize: [27, 39],
iconImageOffset: [-14, -39]
}));
});

myMap.geoObjects.add(CollectionCars);
myMap.setBounds(CollectionCars.getBounds());

 

где data это массив с данными.

Теперь хочется нажать на метку и отправить AJAX запрос PHP скрипту, меня тормозит то, что я не пойму как присвоить метке, ну скажем val.car_id а затем использовать этот car_id при составлении запроса.

Как не пытался не выходит.

 Тут провожу испытания 

Заранее спасибо, жду ответа.

С глубоким уважением Александр.

4 комментария

Второй параметр в конструкторе метки это данные геообъекта. Используйте его для хранения собственных данных в том числе.


$.each(data, function(key, val){
CollectionCars.add(new ymaps.Placemark([val.lat, val.lon],{

car_id: 12345,
balloonContentHeader: 'Ошибка 404',
balloonContentBody: 'Нет такой страницы',
balloonContentFooter: 'Но скоро будет!!!',
hintContent: 'Такси-69:' + status
},{
iconImageHref: fixuri + '/images/taximaps/'+icon,
iconImageSize: [27, 39],
iconImageOffset: [-14, -39]
}));
});

myMap.geoObjects.add(CollectionCars);
myMap.setBounds(CollectionCars.getBounds());


CollectionCars.events.add('click', function (e) {

var placemark = e.get('target'),

       id = placemark.properties.get('car_id');

});

На всякий случай обращаю ваше внимание, что пользовательское соглашение АПИ Яндекс.Карт запрещает использование АПИ для создания систем мониторинга транспортных средств.

 


2.3.7. ОГРАНИЧЕНИЯ. Используя Сервис, Пользователь не имеет права:

2.3.7.3. Создавать на основе Сервиса системы мониторинга транспортных средств, отображающих информацию в реальном времени, и любые другие услуги, связанные с управлением и диспетчеризацией транспортных средств

Спасибо. 

Я конечно ни чуть не против соглашения, но почему копания против монтиоринга ТС, с использованием карт? Нехочу показаться безтакным, да собственно и спросить больше не где (а тратить время на эксперемент не хочется), может тогда использовать Google Maps? Выбор пал на Yandex Maps, не случайно, скрипт который присылает данные координат находится на другом сервере и там тспользуют именно Yandex Maps, вот я думаю не будут ли метки на других картах располагаться не правильно относительно полученных координат?

Добрый день. Напишите пожалуйста мне на адрес ache@yandex-team.ru и я вам подробно расскажу о коммерческой лицензии. Дмитрий прав - запрет мониторинга транспортных средств, это не требования Яндекса. Но мы сделали специальное решение для тех, кому необходима подобная функциональность.