2016-11-29 123 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); 
} 
相关问题