Клуб API Карт

Ума не преложу как передать параметр...

mac-best
16 февраля 2015, 15:34

Нужен вариант для квартир. Тоесть показывать на карте все объекты, что бы размер карты подстраивался.

Нашел такой вариант, точки появляютя, но как передать параметры для баллуна? Если они у меня в массиве и прокручиваются, там где идет добавление координат. То есть: 

<script>
    ymaps.ready(init);
    var myMap;
    function init ( ) {
        myMap = new ymaps.Map("map", {
            center: [55.585749, 37.915356],
            zoom: 3
        }),
            clusterer = new ymaps.Clusterer({
                preset: 'islands#invertedDarkOrangeClusterIcons',
                clusterHideIconOnBalloonOpen: false,
                geoObjectHideIconOnBalloonOpen: false
}) ;

        getPointData = function (index) {
            return {
                balloonContentBody: 'балун <strong>метки ' + index + '</strong>',
                clusterCaption: 'метка <strong>' + index + '</strong>'
};
        },
            getPointOptions = function () {
                return {
                    preset: 'islands#violetIcon'
};
            },

            geoObjects = [ ],
            points = [
                <?while($element = $result->GetNextElement()) {
                $arItem = $element->GetFields();?>
[<?=$arItem['PROPERTY_MAPKA_VALUE']?>],
// Вот тут идет выборка данных.
// Но тут наполняются координаты.
// Как мне в боллуты передать имена? - $arItem['NAME']
// Если я только в этом цикле могу их вытащить.
// Или может какой другой способ для моей задачи есть?
                <?}?>
];
        for(var i = 0, len = points.length; i < len; i++) {
            geoObjects[i] = new ymaps.Placemark(points[i],getPointData(i), getPointOptions()) ;
        }
        clusterer.add(geoObjects) ;
        myMap.geoObjects.add(clusterer) ;
        myMap.setBounds(clusterer.getBounds( ) , {
            checkZoomRange: true
}) ;
        $("#map").show( ) ;
        fix( ) ;
        myMap.setBounds(clusterer.getBounds( ) , {
            checkZoomRange: true
}) ;
    }
    function fix( ){
        myMap.container.fitToViewport( ) ;
    }
</script>

 

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

вместо вызова getPointData(i) должны быть ваши данные