Клуб API Карт

Кластеры - пусто

pcheliakov
1 октября 2013, 13:32

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

Практически пример из документации. TypeError: ymaps.GeoObject is not a constructor - iconImageOffset: [-15, -20]

Где ошибка?

<script type="text/javascript">
        function init() {
       
        var myMap = new ymaps.Map("map", {
                center: [55.724545,37.569692],
                zoom: 11
            });
        myMap.controls.add('zoomControl').add('typeSelector').add('mapTools');
   
           
            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]
                },
                properties: {
                    clusterCaption: 'Город № '+(i+1),
                    balloonContentBody: 'Название - '+(i+1),
                    balloonContentHeader: "Балун метки",
                    balloonContentFooter: "Подвал",
                    hintContent: "Хинт метки",
                    iconContent: 'Метка',
                    balloonContent: 'Меня можно перемещать'
                }
              },{
                preset: 'twirl#redStretchyIcon',
                iconImageHref: 'assets/img/metka.png',
                iconImageSize: [35, 33],
                iconImageOffset: [-15, -20]
              });
            }

            var myClusterer = new ymaps.Clusterer(
                {clusterDisableClickZoom: true}
            );
           
            myClusterer.add(myGeoObjects);
            myMap.geoObjects.add(myClusterer);
        }
    </script>

 

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

1. проверьте все ли требуемые для вашей задачи пакеты Вы подключили

2. не вижу вызова ymaps.ready(init);

Перед

и в подключение jquery

 

надо так

?load=package.standard,package.clusters

Спасибо. Попробовал - ваш вариант опять в консоле ошибка, надо было full и всё.

 

Второй вопрос.

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]
                },
                properties: {
                    clusterCaption: 'Город № '+(i+1),
                    balloonContentBody: 'Название - '+(i+1),
                    balloonContentHeader: "Балун метки",
                    balloonContentFooter: "Подвал",
                    hintContent: "Хинт метки",
                }
              },{
                preset: 'twirl#redStretchyIcon'
              }
              );
            }

Содержание в примере одинаковое (

clusterCaption: 'Город № '+(i+1),
                    balloonContentBody: 'Название - '+(i+1),
                    balloonContentHeader: "Балун метки",
                    balloonContentFooter: "Подвал",
                    hintContent: "Хинт метки",)

 

Как можно написать для разного содержания? Ну то есть метки естественно с разными городами и координатами и т.д..

Не понял вопроса.

Разные города, разный текст в метках, значит исходным массив должен состоять не только из массивов координат, но и из описаний, что по этим координатам находится