Клуб API Карт

GeoObjectCollection не выводит все метки

ThiefCC
21 апреля 2011, 18:47

Здравствуйте. Есть проблема.

Вот

//  При выборе из списка номера маршрута, посылается запрос к скрипту
//  который выбирает из БД координаты остановок (в формате GeoPoint)
//  и возвращает их мне в массиве ( echo json_encode( busStopsArray ) )
$.getJSON(
        //  имя скрипта
        "getBusStops.php",
        //  передаваемый номер маршрута
        {route: routeNumber},
        //  callback-функция data - массив точек координат (возвращается всегда успешно и корректно)
        //  выводил в алертах все точки, всё правильно
        function( data ){
            //  создаем группу для всех этих остановок ( чтобы легче было работать с принадлежащими одному маршруту остановками )
            //  параметр s задает стиль метки, и успешно применяется
            busStopsGroup = new YMaps.GeoObjectCollection( s );
            //  создаем в цикле метки остановок, и...
            for( var i = 0; i < data.length / 2; i++ ){
                var plmk = new YMaps.Placemark(new YMaps.GeoPoint( data[(i*2)+1], data[i*2] ));
                plmk.name = "Default name";
                //  добавляем их в группу (добавляются успешно -> проверял количество элементов группы
                // оно соответствует количеству остановок на маршруте
                busStopsGroup.add(plmk);
            }
            //  отображаю группу на карте
            map.addOverlay(busStopsGroup);
        });

 , который построил Я, а вот проблема, которая мне спать не дает, с ума меня сводя:

Отображаются не все метки, которые успешно добавлены в Группу.

Подумал, может быть я не указал параметр bounds, и метки за пределами окна не отображаются поэтому.

Пробовал 

busStopsGroup.setBounds(
        new YMaps.ICoordBounds(
                new YMaps.ICoordPoint( 0, 1024 ),
                new YMaps.ICoordPoint( 1024,0 )
        )
);

 Но ничего не вышло - тогда метки вообще не выводятся.

Подскажите, как правильно задать bounds для группы? Размером примерно 3х3 экрана ( центральный [1][1] - тот на который глядим).

 

2 комментария
Подписаться на комментарии к посту

 

        busStopsGroup = new YMaps.GeoObjectCollection( s );        boundsBusStopsGroup = new YMaps.GeoCollectionBounds();            //  создаем в цикле метки остановок, и...            for( var i = 0; i < data.length / 2; i++ ){               var point = new YMaps.GeoPoint( data[(i*2)+1], data[i*2] );               var plmk = new YMaps.Placemark(point)               boundsBusStopsGroup.add(point)               ...}            //  отображаю группу на карте            map.addOverlay(busStopsGroup);            map.setBounds(boundsBusStopsGroup);              

 

Fuck yeah! Спасибо!