4
所以,我知道我們在Mapbox GL Api中有Marker.togglePopup()
。 但是我們可以通過編程關閉所有彈出窗口嗎?如何在mapbox gl中以編程方式關閉所有彈出窗口?
所以,我知道我們在Mapbox GL Api中有Marker.togglePopup()
。 但是我們可以通過編程關閉所有彈出窗口嗎?如何在mapbox gl中以編程方式關閉所有彈出窗口?
下面是一個示例:https://jsfiddle.net/kmandov/eozdazdr/
單擊右上角的按鈕打開/關閉彈出窗口。
假設你有一個彈出式和標記:
var popup = new mapboxgl.Popup({offset:[0, -30]})
.setText('Construction on the Washington Monument began in 1848.');
new mapboxgl.Marker(el, {offset:[-25, -25]})
.setLngLat(monument)
.setPopup(popup)
.addTo(map);
可以通過調用關閉彈出:
popup.remove();
,或者您可以通過調用打開它:
popup.addTo(map);
正如您在Marker source中看到的,togglePopup
在內部使用這兩種方法:
togglePopup() {
var popup = this._popup;
if (!popup) return;
else if (popup.isOpen()) popup.remove();
else popup.addTo(this._map);
}