Клуб API Карт

Не работает пример из документации кластеризатора

waitingg
28 июня 2013, 15:26

Есть страничка во введении по картам  http://api.yandex.ru/maps/doc/jsapi/2.x/dg/concepts/geoobjects.xml

На ней есть образец кода для работы с кластером. Пробывыл работать  с кластерми из образца не получается. При работе с одиночными метками проблем не возникает. Наверняка что-то не учел. Но на то и есть образец, что бы на нем поучиться....  В чем причина?  неполный образец?

 

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

 

<head>

    <title>Отображение адресов контрагентов на карте</title>

    <meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />

    <script src="http://api-maps.yandex.ru/2.0-stable/?load=package.standard&lang=ru-RU&mode=release" type="text/javascript"></script>

    <script src="http://yandex.st/jquery/1.6.4/jquery.min.js" type="text/javascript"></script>

    <script type="text/javascript">

        function addEr(a, n) {

            $('#err').append('<p>Не найден адрес: ' + a + ' (' + n + ')</p>');

        }

        ymaps.ready(init);

 

        function init() {

 

            var myMap = new ymaps.Map("map", {

                center: [56.023, 36.988],

                zoom: 14,

                type: 'yandex#publicMap'

            });

            myMap.controls.add("zoomControl").add("mapTools").add("typeSelector");

 

            var coords = [

                [56.023, 36.988],

                [56.025, 36.981],

                [56.020, 36.981],

                [56.021, 36.983],

                [56.027, 36.987]

            ]

 

 

            var myGeoObjects = [];

 

            for (var i = 0; i < coords.length; i++) {

                myGeoObjects[i] = new ymaps.GeoObject({

                    geometry: {

                        type: "Point",

                        coordinates: coords[i]

                    }

                });

            }

 

            var myClusterer = new ymaps.Clusterer();

            myClusterer.add(myGeoObjects);

            myMap.geoObjects.add(myClusterer);

 

            return false;

        }

    </script>

</head>

 

<body>

    <div id="map" style="width: 100%; height: 768px"></div>

    <div id="err"></div>

</body>

 

</html>

 

 

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

     myClusterer.add(myGeoObjects);

 

вы пытаетесь добавить массив в кластер, а добавлять нужно гео-объект, либо гео-коллекцию

Кластеризатор принимает на вход как раз массивы и не умеет работать с коллекциями.

не хочу показаться занудным, но этот код из Руководства разработчика http://api.yandex.ru/maps/doc/jsapi/2.x/dg/concepts/geoobjects.xml

 

Мало того я сам год назад "упражнялся" с кластерами и у меня все работало!  Нашел решение без кластеров.

Теперь же мне нужны кластеры. А они спустя год стали хуже работать ??? 

Сделайте перепост работащих кластеров. Я поюзал несколько простых вариантов из инета с кластерами. Не работает!!!

Да, не знал о таком, просто попытался указать на самое очевидное.

Попробуйте ссылку подключения поменять на package.full, в стандарте вроде конструктор GeoObject не поддерживается.

Да и воопще скажите какая ошибка в фаербаге вылетает

да все дело было в пакете. А вот вариант с коллекциями не взлетел;  добавлял в кластер просто Placemark.

 

Всем спс.