Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

GeoObject.properties недоступны в Clusterer #163

Open
amorphine opened this issue Aug 30, 2019 · 2 comments
Open

GeoObject.properties недоступны в Clusterer #163

amorphine opened this issue Aug 30, 2019 · 2 comments
Labels

Comments

@amorphine
Copy link

Прежде всего спасибо за плагин)
Есть небольшой вопрос, но прежде вступление: хочу сделать возможность задавать произвольные картинки placemark-у и кластеру. Вот в таком стиле
image

С placemark все довольно понятно: кастомный layout, генерируется по одному на одну метку с "запеченной" картинкой.
А вот как задать изображение проекта, попавшего в кластер, в качестве картинки кластера - вопрос.
Прежде всего я создал шаблон

export function makeClusterLayout() {
    return ymaps.templateLayoutFactory.createClass(
        '{% for n, project in properties.geoObjects %}<div class="ymaps__placemark" style="background-image: url({{project.properties.imageThumb}}); background-size: contain;"></div>{% endfor %}'
    );
}

Надеясь в последствии брать первый элемент массива объектов и выдавать его изображение за изображение кластера.
Но я столкнулся с тем, что properties меток не существуют, т.е. здесь {{project.properties.imageThumb}} ничего нет
При этом они у меня явно заданы:

<yandex-map-marker
                    v-for="project in projects"
                    :key="project.id"
                    :marker-id="project.id"
                    :coords="[project.mapArray[0], project.mapArray[1]]"
                    :properties="iconProperties(project)"
                    :options="iconOptions(project)"
                    cluster-name="previewCluster"
            ></yandex-map-marker>

где iconProperties -

iconProperties(project) {
            return {
                imageThumb: 'https://via.placeholder.com/200x100',
            };
        },

*placeholder.com использовал, чтобы убедиться, что данные действительно не существуют

Я перепробовал различные комбинации:

  • project.properties.imageThumb
  • project.imageThumb
  • и т.д...
    но это уже совсем не то и кажется ошибка именно в том, что properties геообъектов действительно теряется.
@amorphine
Copy link
Author

Решение:

  1. Если не включаем ObjectManager: обращаться к property так: geoObject.properties._data.imageThumb
  2. Если включаем ObjectManager: обращаться к property как обычно: geoObject.properties.imageThumb
    Наверное, это баг

@PNKBizz
Copy link
Member

PNKBizz commented Aug 31, 2019

Привет! Спасибо за отзыв. Обязательно посмотрю, что можно сделать. К сожалению не располагаю достаточным количеством времени, чтоб оперативно реагировать на замечания.

@PNKBizz PNKBizz closed this as completed Aug 31, 2019
@PNKBizz PNKBizz reopened this Aug 31, 2019
@daniluk4000 daniluk4000 added the bug label Mar 5, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants