Клуб API Карт

Поиск по группе меток

macrelll
28 февраля 2011, 13:47

Здравствуйте! Пытаюсь сделать пользовательский поиск по моей группе меток.

Функцию поиска пробовала переделать из примера Яндекса:

function showAddress (value) {
    var obj = group.filter(function (obj) {                   
         return obj.name == value
     });                   
     obj[0].openBalloon();
}

Просто фильтр с наперед заданным значением работает, но мне обязательно нужно, чтобы пользователь мог вводить значения сам. Где ошибка?

12 комментариев
Подписаться на комментарии к посту
Вы хотите поле ввода () чтобы пользователь вводил в него текст и при нажатии кнопки искать открывался балун?

Да! Это делаю с помощью следующего кусочка:


       


           
           
       

вроде бы должно работать

есть ссылка на страницу?

Без тайлов не смотрится, но примерно так: http://macrelll.narod2.ru


showAddress определена локально внутри обработчика загрузки

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

втыкать надо осмысмленно

у вас в ней используется переменная group

ее объявление тоже надо вынести в глобальную область

ну либо использовать jQuery вместо onsubmit="..."

Это нбудет работать внутри window.onload

 

YMaps.jQuery('form').submit(function (e) {
    e.preventDefault();
    showAddress($('#address').val());
});

 

Можно ли Вас попросить немного разжевать? Я очень начинающий программист, только и умею, что готовый код переделывать.

По поводу первого способа: непонятно, как вынести это в глобальную область, за границами window.onload вообще никакие строки не обрабатываются, как я понимаю.

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

Большое Вам спасибо.

От второго способа мне вообще жутко, я прочитала все, что нашла, но все равно не поняла, как им пользоваться.
Прочитайте про фреймворк jquery он встроен в АПИ в объект YMaps.jQuery
По поводу первого способа: непонятно, как вынести это в глобальную область, за границами window.onload вообще никакие строки не обрабатываются, как я понимаю.
Нет Вы не правильно понимаете 
Ну неужели же я совсем ничего не понимаю... Попробовала идти первым путем - ссылка та же, http://macrelll.narod2.ru

 тут надо убрать "var" (вы же объявили ее наверху) иначе получается еще одна переменная

var group = new YMaps.GeoObjectCollection();

оставить только

 

group = new YMaps.GeoObjectCollection();
почитайте про области видимости в javascript

 

охх, сто спасиб Вам! все работает! почитаю! люблю! целую.. урря короче)