gpt4 book ai didi

controls - 如何使用JS和传单层控件更改基础层

转载 作者:行者123 更新时间:2023-12-04 00:07:17 27 4
gpt4 key购买 nike

我必须修改使用传单图层控件的现有应用程序 - 我需要在启动 map 时显示基础图层之一。有没有办法,如何从 JS 脚本的图层控件中调用一些函数 - 像 control.select(1) ....?如果没有,如何以与控件相同的方式添加切片图层 - 当我在 map 初始化期间添加新的 L.TileLayer 时,它不会被手动图层控件选择更改覆盖?

最佳答案

您可以尝试模拟用户单击传单图层控件,但有一种更简单的方法可以实现您最初描述的内容。

通常只需向 map 添加一个图层(例如 myTileLayer.addTo(map) ),如果该图层是 base layers or overlays of the Layers Control 的一部分,后者将自动更新其状态(如果您添加了基础图层,将相应地选择单选按钮;对于叠加,相应的复选框将被勾选)。

现在我不确定我是否正确理解了您的最后一部分(“当我在 map 初始化期间添加新的 L.TileLayer 时,它不会被手动图层控制选择更改覆盖”)。

如果你的意思是你有一个意外的行为,因为你添加的平铺层没有被图层控制改变,这可能是因为你没有重新使用图层控制知道的平铺层:不要使用 new L.TileLayer ,但是 重新使用 基础层或覆盖层之一。

例如:

var baselayers = {
"Tile Layer 1": L.tileLayer(/* ... */),
"Tile Layer 2": L.tileLayer(/* ... */),
"Tile Layer 3": L.tileLayer(/* ... */)
};

var overlays = {};

L.control.layers(baselayers, overlays).addTo(map);

baseLayers["Tile Layer 1"].addTo(map);

关于controls - 如何使用JS和传单层控件更改基础层,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33759578/

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