Ошибка кластерного поведения на мобильных устройствах - PullRequest
0 голосов
/ 01 июля 2019

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

Проблема хорошо видна на следующих примерах карт на https://developer.here.com/api-explorer/maps-js/clustering/marker-clustering

Разрешение всех кластеров наМаксимальный зум хорошо работает в настольных браузерах.В то время как на мобильных устройствах, например, браузер IOS 12 Safari не будет разрешать все кластеры при достижении максимального увеличения.

Более подробно, если я присоединяю событие касания к провайдеру кластеризации, например (или традиционным способом)

fromEvent(this.chargingstationCluster.provider, 'tap').subscribe((event: H.util.Event) => {

    try {
      event.target.getData().isCluster();
      this.map.setViewBounds(event.target.getData().getBounds(), true);

    } catch (e) {
    }

  })

На мобильных устройствах кластер не разрешается, вместо этого он только перемещается в центр.

Есть ли какие-либо советы или решения по этому поводу?

** edit На самом деле выяснилось, что мобильные устройстване увеличивайте масштаб до настроенного максимального уровня масштабирования.Например, с уровнем Max-Zoom, настроенным на 19, устройства ios только увеличивают до 17.415037499278842

1 Ответ

0 голосов
/ 04 июля 2019

Таким образом, мобильные устройства теряют 1,584962500721158 баллов при расчете максимального увеличения.Добавление 1,584962500721158 для максимального увеличения, наконец, приводит к максимальному увеличению 19

.
...