首页 / 浏览问题 / WebGIS / 问题详情
iclient for leaflet组件中的数据服务查询组件
6v6
2EXP 2023年11月22日
iclient for leaflet组件中的数据服务查询组件的oneachfeature怎么使用呢?我想用id查询中的方法使用,但运行不出来

var dataServiceQuery = new L.supermap.Components.DataServiceQuery(

                dataserviceUrl, ['Harbin:harbin'],{

                            onEachFeature: function (feature, layer) {

                                layer.bindPopup("ID: " + feature.properties.SMID +

                                    "<br>" + "区域:" + feature.properties.NAME);

                            }

                        }

                ).addTo(map);

1个回答

您好, 数据服务id查询可参考以下示例:

// 创建一个 GetFeaturesByIDsParameters 对象,指定要素的 ID 和数据集名称
var idsParam = new L.supermap.GetFeaturesByIDsParameters({
  IDs: [233, 234], 
  datasetNames: ["World:Countries"] 
});

// 创建一个 FeatureService 对象,并使用 getFeaturesByIDs 方法查询指定要素
new L.supermap.FeatureService(url).getFeaturesByIDs(idsParam, function (serviceResult) {
  // 将查询结果的要素转换为 GeoJSON,并绑定弹出窗口
  resultLayer = L.geoJSON(serviceResult.result.features, {
    onEachFeature: function (feature, layer) {
      // 给每个要素绑定一个弹出窗口,显示该要素的属性信息
      layer.bindPopup("ID: " + feature.properties.SMID +
        "<br>" + resources.text_country + ":" + feature.properties.COUNTRY);
    }
  }).addTo(map); // 将要素图层添加到地图中
});

具体实现可参考官网示例:https://iclient.supermap.io/examples/leaflet/editor.html#02_getFeatureByIDs

希望能够帮助到您!

675EXP 2023年11月22日
您好,我是想在L.supermap.Components.DataServiceQuery这个组件中使用onEachFeature,用了示例id查询里的方法,但运行不出来
您好,数据服务查询组件中的onEachFeature暂时设置不了,已上报缺陷,修复好之后会及时告知您,建议先使用ID查询或者SQL查询方法来实现。
好的,谢谢
...