@danilr

Как изменить маркеры при зуме карты 2гис?

Есть много маркеров (с собственной версткой), создающихся в цикле при загрузке данных (координат) в методе mounted(), как сделать так, чтобы при изменении масштаба карты меньше 5 маркеры заменялись на другой шаблон верстки?
data() {
	return {
      map: null, 
      markers: null
		};
 },
methods: {
		zoom(change) {
      this.map.setZoom(this.map.getZoom() + change); // этот метод при изменении масштаба карты
    },
mounted() {
    this.markers = DG.featureGroup()
    this.popups = DG.featureGroup()
		this.getUsersinGroup()
			.then(response => {
				this.map = DG.map("map", {
					zoom: 13,
					zoomControl: false
				});
        var coordinates = [];
        for (var i = 0; i < this.residentials.length; i++) {
              coordinates[0] = this.residentials[i].latitude
              coordinates[1] = this.residentials[i].longitude

            		let myDivIcon = DG.divIcon({  // это сам маркер, создающийся для каждого объекта
                    iconSize: [30, 30],
                    className: 'non-style',
                    html: `<div class="marker-wrapper">
                            <div class="mini-marker-wrapper">
                              <div class="mini-marker"></div>
                            </div>
                            <div class="marker-info-wrapper">
                              <div class="marker-title">${this.residentials[i].title}</div>
                              <div class="marker-decor"></div>
                            </div>
                          </div>`
		              });
              DG.marker(coordinates, { icon: myDivIcon }).addTo(this.markers)
            }
          this.markers.addTo(this.map);
        this.map.fitBounds(this.markers.getBounds());
  • Вопрос задан
  • 316 просмотров
Решения вопроса 1
0xD34F
@0xD34F Куратор тега Vue.js
Например. Уверен, можно сделать и более цивилизованно (это про отслеживание зума и про замену внутренностей маркера), но ковырять документацию как-то лень.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы