首页 / 浏览问题 / WebGIS / 问题详情
leaflet不能高亮显示
7EXP 2021年04月25日

打印出来的feature是可以获取到的,选择鼠标不能点击,鼠标的小手是张开的,无法点击 

//空间数据分析
    queryMarker() {
      let _this = this;
      let cetext = "";
      var sqlParam = new SuperMap.GetFeaturesBySQLParameters({
        queryParameter: {
          name: "陕西省_行政边界",
          attributeFilter: cetext,
        },
        datasetNames: ["基础:陕西省_行政边界"],
        toIndex: -1, //-1返回所有
      });
      //清除旧标注
      _this.map.removeLayer(_this.resultLayerpop);
      L.supermap
        .featureService(_this.urlList.dataUrl)
        .getFeaturesBySQL(sqlParam, function (serviceResult) {
          var resultLayerpop = L.geoJSON(serviceResult.result.features, {
            onEachFeature: function (feature, layer) {
              console.log(feature, "feature");
              layer.on("click", function (e) {
                console.log(e.target.feature.properties, "layerE");
                
              });
            },
            coordsToLatLng: function (coords) {
              return L.CRS.EPSG3857.unproject(L.point(coords[0], coords[1]));
            },
          }).addTo(_this.map);
          
        });
    },

1个回答

你是打过电话对吧,就是对这个layer添加一个click事件,resultLayer = L.geoJSON(result).addTo(map);然后对resultLayer绑定click事件,而且你的这个问题是原生leaflet的问题,可以去leaflet官网看API: https://leafletjs.com/reference-1.7.1.html

865EXP 2021年04月26日
我没有打过电话,没明白你在说什么
你的代码就是对 resultLayerpop绑定click事件!
但是选中click失效,地图上图层无法点击
检查你代码的逻辑,看一下是不是图层覆盖。
...