У кого-нибудь есть примеры сгруппированных штифтов, расширяющихся в людных местах? - PullRequest
0 голосов
/ 14 февраля 2019

Я нахожусь в процессе реализации веб-приложения JS here.com, для которого потребуются накладные кнопки (многие из них находятся в одном месте).Есть ли какой-либо плагин или пример того, как решить эту проблему, подобную этой плагин для Google Maps https://github.com/jawj/OverlappingMarkerSpiderfier.

1003 * Я искал долго и упорно, но не могу найти где-нибудь, чтобы приступить к решению этой проблемы.

Мне просто нужен какой-то способ разгрузить перекрывающиеся маркеры, чтобы разрешить сенсорные события на всех маркерах.Любая помощь будет оценена.

Ответы [ 2 ]

0 голосов
/ 15 февраля 2019

Я не знаю ни одного готового решения, но вы, вероятно, могли бы начать с модуля кластеризации и взять его оттуда.Напишите пользовательскую тему , которая позволит кластерам расширяться при щелчке (например, упорядочивать их в виде сетки или чего-то подобного).

0 голосов
/ 14 февраля 2019

Пожалуйста, обратитесь https://developer.here.com/api-explorer/maps-js/v3.0/markers/ordering-overlapping-markers о том, как вы можете добиться наличия нескольких маркеров на почти одной и той же точке.

function orderMarkers() {
  var zIndex = 1,
      // create a set of markers
      marker = new mapsjs.map.Marker(
        {lat: 52.508249, lng: 13.338931}
      ),
      marker2 = new mapsjs.map.Marker(
        {lat: 52.506682, lng: 13.332107}
      ),
      marker3 = new mapsjs.map.Marker(
        {lat: 52.503730, lng: 13.331678}
      ),
      marker4 = new mapsjs.map.Marker(
        {lat: 52.531, lng: 13.380}
      );

  // add markers to the map
  map.addObjects([marker, marker2, marker3, marker4]);

  map.addEventListener('tap', function (evt) {
    if (evt.target instanceof mapsjs.map.Marker) {
      // increase z-index of the marker that was tapped
      evt.target.setZIndex(zIndex++);
    }
 });
}

...