Клуб API Карт

Добавление обьектов

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

Здравствуйте!

такая задача:


есть массив адресов, их нужно разместить на карте, моя реализация:

функция add_mark() получает данные, и создает из них массив, после в цикле вызываю функцию showAddress()

 

        function add_mark(value)
        {
            var url = value.split(":");

              for(a=0; a<url.length; a++)
              {
                showAddress (url[a]);
              }           

        }


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


        function showAddress (value)
        {
            var geocoder = new YMaps.Geocoder(value, {results: 1, boundedBy: map.getBounds()});
            var objManager = new YMaps.ObjectManager();
            map.addOverlay(objManager);
     
            YMaps.Events.observe(geocoder, geocoder.Events.Load, function ()
            {        
                if (this.length())
                {                  
                    var geoResult = this.get(0);  
                    var placemark = new YMaps.Placemark(new YMaps.GeoPoint(geoResult.getGeoPoint()));
                    objManager.add(placemark, '');          
                }
                else alert("Ничего не найдено")             
             });           
        }


Подскажите пожалуйста, где ошибка.

4 комментария
Sergey Konstantinov
28 января 2016, 08:45
1. А зачем Вы создаете по экземпляру objectManager'а на каждую метку? Это несколько неэкономично, мне кажется.
2. geoResult есть сам по себе метка, можно добавлять его на карту/в ObjectManager напрямую.

Что касается собственно ошибки, то дайте лучше URL страницы :)
1. А зачем Вы создаете по экземпляру objectManager'а на каждую метку? Это несколько неэкономично, мне кажется.

согласен, это уже в процессе убереться. Сейчас мне нужно просто знать как размещать множество меток.
все, разобрался, огромное спасибо что откликнулись:)