0

我想显示标记以及特定纬度和经度中可用的点数。

在此处输入图像描述

我期待与上面类似的东西。

但我添加了另外 2 层以在其上显示不同的颜色和数字。如果我这样做,我会在显示弹出窗口时收到“未定义”错误。由于数据来自另一层。如果它取自图层“位置”,它会按预期工作。但是当我们多次出现弹出内容时显示“未定义”。下面是我的实现输出和代码

在此处输入图像描述

 map.on('load', function () {

  map.addSource("place", {
    type: "geojson",
    data: liveData,
    cluster: true,
    clusterMaxZoom: 14,
    clusterRadius: 50 
  });

 map.addLayer({
    "id": "locations",
    "type": "circle",
    "source": "location",
    "paint": {
      "circle-radius": 7,
      "circle-color": "#FFF000",
      "circle-stroke-width": 4,
      "circle-stroke-color": "#FFFFFF"
    }

  });

     map.addLayer({
      id: "clusters",
      type: "circle",
      source: "location",
      filter: ["has", "point_count"],
      paint: {
          "circle-color": {
              property: "point_count",
              type: "interval",
              stops: [
                  [0, "#FFF000"],
                  [2, "#DC143C"],
              ]
          },
          "circle-radius": {
              property: "point_count",
              type: "interval",
              stops: [
                  [0, 7],
                  [2, 7],
              ]
          }
      }
  });

  map.addLayer({
      id: "cluster-count",
      type: "symbol",
      source: "location",
      filter: ["has", "point_count"],
      layout: {
          "text-field": "{point_count_abbreviated}",
          "text-font": ["DIN Offc Pro Medium", "Arial Unicode MS Bold"],
          "text-size": 12,
          "text-offset": [0, 5]
      }
  });

 map.on('click', 'locations', function (e) {
    let htmlString = "";
    for (let i = 0; i < e.features.length; i++) {
      htmlString = htmlString + e.features[i].properties.description;
      if (i != e.features.length - 1) {
        htmlString = htmlString + "</br>";
      }
    }
    new mapboxgl.Popup()
      .setLngLat(e.features[0].geometry.coordinates)
      .setHTML(htmlString)
      .addTo(map);

  });
 }

我的工作小提琴

我想实现这一点,因为第一张图片或弹出窗口应该在我的方法中起作用?

4

1 回答 1

0

据我所知,目前无法通过 mapbox 的集群功能获得在集群中组合的所有功能。

见这里:https ://github.com/mapbox/mapbox-gl-js/issues/3318

于 2017-07-10T10:33:00.463 回答