【发布时间】:2020-08-06 21:01:36
【问题描述】:
OpenLayers 库是否提供了一种方法来为添加到地图的图层分配/获取唯一标识符,还是我必须自己实现它?
这个问题源于我需要唯一标识我添加到地图中的各种类型的图层(主要是 LayerGroup 和 TileLayer),并为我在内容表中并行创建的每个图层提供相同的参考 ID -像 DIV(像 ol-layerswitcher)。 通过这种方式,我将能够在地图中唯一标识我的图层/图层组及其 DOM 上下文(我可以在其中控制它的可见性、缩放等)。
我认为类似的东西会存在,因为它似乎相当重要,但我似乎无法在文档中而不是在 API 中找到它。
这个问题与this other question of mine 有关,我基本上假设不存在用于为层分配/检索 id 的内置方法,并且我试图弄清楚如何扩展 OpenLayers 类和方法来实现和随时随地获取这些属性。
【问题讨论】:
-
所有 OpenLayers 对象都有一个未记录的
ol_uid属性,例如console.log(myLayer.ol_uid);但请注意,不支持使用未记录的属性,并且可能会在未来版本中更改,恕不另行通知。 -
@Mike 谢谢。是的,我正在阅读有关
ol/util.getUid的信息,这显然是在获取您正在谈论的ol_uid属性(here)。因为它似乎有文档记录,你认为我可以依赖它吗? -
是的,没关系,虽然 getUId 不是 api,因为我尝试过 layer,getUId() 而不是 getUid(layer)。
标签: openlayers uuid openlayers-6