Клуб API Карт

Есть ли решение?

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

Здравствуйте. У меня вопрос. Использую мапу, своя бд с точками и записями к точкам. Например я размещаю на карте точку с названием магазина или еще что нибудь. Идет запись в базу. Теперь я делаю поиск по всем магазинам. Есть список магазинов, как сделать что бы при клике на название магазина в списке на карте открылся балун этого магазина ну и карта что бы переместилась в это место.

 

или же другой вариант, можно ли присвоить каждой точке YMaps.Placemark а точнее тэгу img атрибут с id точки из базы, что бы из этого списка поиска искать точку по id.....

 

точки выводяться таким макаром:

YMaps.jQuery.getJSON("vivodpointsmap.php",
function(json){
for (i = 0; i < json.markers.length; i++) {
var placemark=new YMaps.Placemark(new YMaps.GeoPoint(json.markers[i].lat,json.markers[i].lng), {style: p});
placemark.description= '<div style="color:#0098FF;font-weight:bold; text-deocration: underline; font-size: 14px;">'+json.markers[i].name+'</div>';
placemark.description = placemark.description+'<div><img src="/map/like.png">'+json.markers[i].pol+' <img src="/map/disloke.png" >'+json.markers[i].otr+'</div><a href="javascript: addRew('+json.markers[i].id+');" class="addRew">Смотреть все отзывы и оставить свой</a>';
map.addOverlay(placemark);
placemark.find('img').attr('data-id','0');
YMaps.Events.observe(placemark, placemark.Events.Click, function () {
                if ($('#reviewList, #reviews').is(':visible')) {
                $('#reviewList, #reviews').fadeOut(500);}
            });
}

 

 

Заране спасибо за помощь. Можете ругать меня, не обижусь)))))

7 комментариев

где-то в конце цикла

 

(function(placemark,json){

 jQuery("#mymenu .marketNumber"+json.someId).click(){

 placemark.openBalloon();

});

})(placemark,json.markers[i])

 

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

 

результат поиска будет такого вида, так же поиск являеться динамическим через запрос к базе

  • Магазин "ПАРАМПАМПАМ"
  • Магазин "ТРУЛЯЛЯ"
  • Магазин "ПИУПИУ"
  • data-id это id точки на карте в базе у которой записаны координаты.......кликая по названию магазина что бы он перемащался в карте на эту точку и открывал балун этой точки....

     

    я немного не понял что делает этот код, устанавливает обработчик на класс, а что за класс в данном случае??? или это мне вешать на название магазина которое у меня будет в результате поиска???

     

    можете объяснить как будто я дерево ^_^

    Так кто нибудь поможет?

    Посмотрите эту статью

    В ней в общих чертах описан механизм реализации того что Вы хотите

    да я читал эту статью, но проблема в том что у меня изначально не будет меню и групп, у меня будет поиск, в котором будет результат в виде описанном выше, тоесть изначально у меня нет возможности сформировать группу потому что неизвестно что пользователь будет искать и какой у него будет результат, поэтому нужно придумать что то типа активной ссылки по нажатию на которую переходил бы пользователь на метку, тоесть получается ссылка за пределами карты. Ну я так понимаю эту логику.

     

    Так же все точки беруться из базы а через поиск будет выдаваться информация которой нет в балуне.....у меня идея присвоить на выводе точек id Для каждой и с помощью ссылки вне карты как нибудь обратиться по id к точке через click().

     

    Есть у кого нибудь идеи?

    все что вы хотите сделать делается элементарно, при наличии навыков javascript

    назначить идентификаторы метке можно через параметр/поле properties, оно для этого и предназначено (это АПИ 2.0) не уверен что в первой версии есть такая возможность

    Спасибо за активную помощь. Жаль что нет идеологов в этой теме. Но все же вот решение проблемы я не эгоист, может кому пригодиться http://webmap-blog.ru/yandex-maps/sozdanie-poiska-po-svoim-metkam-na-yandeks-karte-s-ispolzovaniem-php-i-mysql