Как сохранить кластеризацию даже при высоком уровне масштабирования? - PullRequest
0 голосов
/ 24 июня 2019

Я пытаюсь сделать так, чтобы создатели оставались кластерными, даже если вы очень сильно увеличены, а маркеры не так близки друг к другу.

Проблема, которую я хочу решить, заключается в том, что я никогда не должен показывать фактическое местоположение отдельных маркеров, поэтому я хочу, чтобы даже при высоких уровнях масштабирования, и маркеры не были близко друг к другу, чтобы они по-прежнему группировались.

Как мне этого добиться?

Я пытался установить clusterMaxZoom на разные уровни, но, похоже, это не влияет на кластеризацию кластеров.

Вот код для кластеризации:

  map.on('load', function() {
    // Add a new source from our GeoJSON data and set the
    // 'cluster' option to true. GL-JS will add the point_count property to your source data.

    map.addSource('users', {
    type: "geojson",
    // Point to GeoJSON data. This example visualizes all M1.0+ users
    // from 12/22/15 to 1/21/16 as logged by USGS' Earthquake hazards program.
    data: markers,
    cluster: true,
    clusterMaxZoom: 14, // Max zoom to cluster points on
    clusterRadius: 50 // Radius of each cluster when clustering points (defaults to 50)
    });


    map.addLayer({
      id: "clusters",
      type: "circle",
      source: "users",
      filter: ["has", "point_count"],
      paint: {
        // Use step expressions (https://docs.mapbox.com/mapbox-gl-js/style-spec/#expressions-step)
        // with three steps to implement three types of circles:
        //   * Blue, 20px circles when point count is less than 100
        //   * Yellow, 30px circles when point count is between 100 and 750
        //   * Pink, 40px circles when point count is greater than or equal to 750
        "circle-color": ["step", ["get", "point_count"], "#51bbd6", 100, "#f1f075", 750, "#f28cb1" ],
        "circle-radius": ["step",["get", "point_count"], 20, 100, 30, 750, 40]
      }
    });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...