Mapbox GL 菜单(图层切换器)不响应第一次点击
Mapbox GL Menu (Layer Switcher) Doesn't Respond to First Click
我正在构建一个 mapbox gl 工具,显示带有弹出工具提示的多层 geojson 标记。我的问题是菜单或层切换器对用户第一次单击每个菜单项没有反应。只有在第二次点击后它才会起作用,打开和关闭图层。
在我的开发站点上查看问题 here。
任何和所有正确方向的帮助或要点都会受到欢迎。非常感谢!
问题在于您如何检查图层的 visibility
属性。
第一次点击 visibility
属性 是 undefined
:
要解决此问题,您可以在层上显式定义初始 visibility
:
map.addLayer({
"id": "Colleges with campus programs",
"type": "symbol",
"source": "Colleges with prison programs",
"layout": {
"visibility": "visible", // <======= add default visibility
"icon-image": "college-marker",
"icon-size": 0.5,
"text-font": ["Open Sans Semibold", "Arial Unicode MS Bold"],
"text-offset": [0, 0.6],
"text-anchor": "top"
},
});
我正在构建一个 mapbox gl 工具,显示带有弹出工具提示的多层 geojson 标记。我的问题是菜单或层切换器对用户第一次单击每个菜单项没有反应。只有在第二次点击后它才会起作用,打开和关闭图层。
在我的开发站点上查看问题 here。
任何和所有正确方向的帮助或要点都会受到欢迎。非常感谢!
问题在于您如何检查图层的 visibility
属性。
第一次点击 visibility
属性 是 undefined
:
要解决此问题,您可以在层上显式定义初始 visibility
:
map.addLayer({
"id": "Colleges with campus programs",
"type": "symbol",
"source": "Colleges with prison programs",
"layout": {
"visibility": "visible", // <======= add default visibility
"icon-image": "college-marker",
"icon-size": 0.5,
"text-font": ["Open Sans Semibold", "Arial Unicode MS Bold"],
"text-offset": [0, 0.6],
"text-anchor": "top"
},
});