удалить кластеризацию onclick bingmaps - PullRequest
0 голосов
/ 05 августа 2020

Я использую Bingmaps angular -maps (Xmap) в своем проекте, и я использую слой кластеризации, как показано на снимке экрана ниже. Clustering layer on Bingmaps

And on Click of a cluster the parent cluster in getting clustered again into smaller Clusters like below screenshot.

enter image description here

But what i want to achieve is when a user clicks on particular cluster, I want to avoid the further clustering of my Pushpins, instead i want to show all my pushpins under that cluster. Please help !!

I am using Angular-maps(xmap) Bingmap.

Stackblitz link for the infusioncode Bing-maps with clustering layer is as below.

стекблиц

1 Ответ

0 голосов
/ 12 августа 2020

Похоже, кнопки расположены слишком близко, а размер сетки слишком велик для автоматической обработки.

У меня была аналогичная проблема, и моей первой идеей было удалить весь слой кластеризации, но после его удаления также содержащий puspins были удалены

Я нашел решение, изменив размер сетки на определенном уровне масштабирования, и работает как шарм

let lastZoomLevel = map.current.getZoom();
const handleChangeZoom = e => {
  if (lastZoomLevel !== map.current.getZoom()) {
    lastZoomLevel = map.current.getZoom();
  
    if (map.getZoom() >= 12) {
      map.layers[0].setOptions({ gridSize: 1 });
    } else {
      map.layers[0].setOptions({ gridSize: 80 });
    }
  }
}

window.Microsoft.Maps.Events.addHandler(map.current, 'viewchangeend', handleChangeZoom);
...