如何阅读图层的自定义属性?
例如,我添加了一个自定义属性测试且值 sam 的图层。
createG4U('#g4u-map', 'conf/client.commented.json', 'conf/layers.commented.json').then(function (map) {
map.asSoonAs('ready', true, function () {
map.get('api').addFeatureLayer({
"id": "1",
"type": "GeoJSON",
"style": stylefunction,
"source": {
"url": "files/sample.json"
},
"visible": true,
"test" : "sam"
});
map.getLayers().forEach(function (layer) {
console.log(layer);
});
});
});
亲切的问候,
萨姆
答案 0 :(得分:0)
这可以通过layer.get('test')
进行。
你不会得到getLayers()
的图层,因为图层嵌套在不同的图层组中。
方法addFeatureLayer
将返回对图层的引用。您可以保存并稍后使用。
或者您可以使用recursiveForEach
,它将递归遍历所有嵌套层。
您可以使用map.getLayerGroup().recursiveForEach(function (layer) { ... })
为地图中的所有图层执行此操作,也可以仅使用map.get('featureLayers').recursiveForEach(function (layer) { ... })