2016-11-29 51 views

回答

4

下面是一個示例: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); 
}