Виталий Бохин
953 сообщения
#9 лет назад
Создал карту, прикрутил свои метки, повесил события клика, но вот не получается сделать смену картинки по ховеру, и фиксирование этой картинки при клике, помогите кто делал, перерыл документацию, препробовал не работает, вот код, что работает 
var map;  
   ymaps.ready(function(){
       map = new ymaps.Map("map", {
           center: ,
           zoom: 11
       });
       var myPlacemark = new ymaps.Placemark(, {}, {
        iconLayout: 'default#image',
        iconImageHref: 'images/baloon.png',
        iconImageSize: ,
        iconImageOffset:
       });
       var myPlacemark2 = new ymaps.Placemark(, {}, {
        iconLayout: 'default#image',
        iconImageHref: 'images/baloon.png',
        iconImageSize: ,
        iconImageOffset:
       });
       map.geoObjects.add(myPlacemark);
       map.geoObjects.add(myPlacemark2);
 
       myPlacemark.events.add('click', function (e) {
        $('#adr1').hide();
       });
   });
Виталий Бохин
953 сообщения
#9 лет назад
vovka-morkovka, а конкретней? как заменить картинку при клике?
myPlacemark.events.add('click', function () {
        $('.adress').hide();
        $('#adr1').show();
       $(this).hide();
       });
конструкция c this не работает, и как по ховеру поменять? 
Ярослав Ш.
145 сообщений
#9 лет назад
lufter, ну попробуйте добраться до блока внутри айфрейма, у джеквери есть contains
Елена Б.
6863 сообщения
#9 лет назад
Оффтопик
Цитата (tyty):
опробуйте добраться до блока внутри айфрейма

Высший пилотаж, что уж там. 
Сергей Глушко
834 сообщения
#9 лет назад
Киньте ссылку на страницу где утето все висит, будет проще понять причину)
Владимир Р.
3315 сообщений
#9 лет назад
Цитата (lufter):
vovka-morkovka, а конкретней?
myPlacemark.events.add('hover', function (e) {
   var p = e.get('target');
   p.properties.set('свойство', 'новое значение');
});
Виталий Бохин
953 сообщения
#9 лет назад
tyty, она не в фрейме, не получается выловить класс/ид метки
micros,
vovka-morkovka
myPlacemark.events.add('hover', function (e) {
        var p = e.get('target');
        p.properties.set('iconImageHref', 'images/baloon2.png');
       });
и не работает, пробовал по разному
Владимир Р.
3315 сообщений
#9 лет назад
lufter, пардон, обманул. Путь к иконке лежит в options.
myPlacemark.events.add('hover', function (e) {
    var p = e.get('target');
    p.options.set('iconImageHref','путь к новой иконке');
});
Проверил - работает.
Я не часто работаю с Яндекс API. Мне простительно  Распечатали бы объект, сразу бы сами увидели.
Елена Б.
6863 сообщения
#9 лет назад
lufter, попробуйте порыть в сторону 

myPlacemark.options.set({ });

vovka-morkovka,  опередил
Виталий Бохин
953 сообщения
#9 лет назад
vovka-morkovka,  ода! работает. еще бы зафиксить при клике, будет совсем чудно, хотя фиксить наверное не стоит. Огромнейшее спасибо!
Ярослав Ш.
145 сообщений
#9 лет назад
floppox
Оффтопик
представьте на минутку что апи яндекса не поддерживает евент ховера, что тогда будете делать
Виталий Бохин
953 сообщения
#9 лет назад
tyty, это было бы нереально, в наш век веб технологий, просто сразу не понятно (из их документации), как это сделать, ну а сли нет- сделал бы карту картинкой, и сказал бы заказчику, что шляпа
Елена Б.
6863 сообщения
#9 лет назад
tyty, манипулирование содержимом ифрейма невозможно в принципе из соображений безопасности. 
Виталий Бохин
953 сообщения
#9 лет назад
floppox, это да, карта яндекс не в фрейме в принципе
vovka-morkovka, вопрос ламерский - как распечатать объект в javascript? простой функции как в пхп (print_r) не наблюдаю
Ярослав Ш.
145 сообщений
#9 лет назад
lufter, вы на страницу хотите вывести данные или в консоль? 

Если на страницу, тогда toString()

UPD

На страницу JSON.stringify({});
В консоль console.log({})