gpt4 book ai didi

javascript - 在没有变量引用的情况下查找页面上存在的 Leaflet map 对象

转载 作者:行者123 更新时间:2023-11-29 18:11:07 26 4
gpt4 key购买 nike

我有一个浏览器插件的想法,它可以在第三方网站上操作 Leaflet map 。但我坚持一个简单的事情:我不确定如何在页面上发现 Leaflet map DOM 元素,然后访问关联的 Leaflet map 对象。

  1. $('.leaflet-container') 是查找所有 map 对象的可靠方法吗?

  2. 如何从那个对象实际访问 map 对象,这样我就可以做类似的事情:$('.leaflet-container').eachLayer(...) ,这是行不通的。

这个问题本质上和How can I get a leaflet.js instance using only a DOM object?是一样的,但答案是有一个无济于事的解决方法。

最佳答案

  1. 是的,这应该足够了,尽管它没有记录在案的行为,并且至少理论上可以在 Leaflet 的 future 版本中进行更改
  2. 没有办法做到这一点。对 map 的引用由创建 map 的代码拥有,它可能已将其丢弃或可能将其存储在您无权访问的位置。 Leaflet 本身不会在您可以访问的任何地方存储对 map 的引用

附带说明一下,我认为您应该让代码的用户明确地将引用传递给您,而不是您尝试自动查找引用。参见例如 inversion of control principle ,其中调用者提供依赖项; Law of Demeter也有点适用 - 不要窥探其他代码内部(除非你真的,真的必须)。

关于javascript - 在没有变量引用的情况下查找页面上存在的 Leaflet map 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27351067/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com