我正在尝试使用Leaflet library修改一个已经被另一个脚本初始化的map。这个脚本没有把map对象存储在全局变量中,也没有存储在我可以使用脚本访问的任何其他位置。所以目前我的页面上有一个map,但是我没有map对象。
我想做的是检索一个已经初始化的map的对象,并对其进行修改。例如,如果存在一个函数L.getMap('myID')
,我想使用这样的方法来检索链接到容器myID
的map对象。
TL;DR:是否有办法使用容器的id来获取已经初始化的传单Map的Map对象?
我正在尝试使用Leaflet library修改一个已经被另一个脚本初始化的map。这个脚本没有把map对象存储在全局变量中,也没有存储在我可以使用脚本访问的任何其他位置。所以目前我的页面上有一个map,但是我没有map对象。
我想做的是检索一个已经初始化的map的对象,并对其进行修改。例如,如果存在一个函数L.getMap('myID')
,我想使用这样的方法来检索链接到容器myID
的map对象。
TL;DR:是否有办法使用容器的id来获取已经初始化的传单Map的Map对象?
3条答案
按热度按时间xytpbqjk1#
为了记录在案,如果您有可能在Map初始化之前(即在“其他脚本”执行之前)注入/执行一些JS代码,您可以非常容易地定制Leaflet,以保持对每个创建的Map的引用。
例如,在
L.Map
类上使用addInitHook
构造函数挂钩:演示:https://plnkr.co/edit/mywpSbfRPFOnJ8c1RNsZ?p=preview
njthzxwz2#
您可以从mediawiki扩展创建的全局数组中访问Map。
Es:用于访问页面的第一个Map
polkgigr3#
如果您使用的是leaflet for WordPress plugin,您可以按如下方式访问map: