第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

單擊標(biāo)記時打開錯誤的彈出窗口

單擊標(biāo)記時打開錯誤的彈出窗口

繁星點點滴滴 2023-11-02 16:57:28
我有很多標(biāo)記,所以我將它們聚集在一起。我遇到了問題,當(dāng)用戶從集群中縮小時,我想保持彈出窗口打開,我找到了這個解決方案https://jsfiddle.net/sghL4z96/65/Leaflet Markercluster:從聚類中免除標(biāo)記效果很好。但問題是當(dāng)標(biāo)記離簇本身太近時,當(dāng)我嘗試使用相同的解決方案時,我得到了這個結(jié)果https://jsfiddle.net/s2mnvL5w/3/當(dāng)我單擊群集時,會顯示兩個標(biāo)記。例如,如果我單擊左側(cè)標(biāo)記,則會彈出文本一。當(dāng)我關(guān)閉此彈出窗口時,我會再次嘗試打開左側(cè)標(biāo)記,然后會彈出文本二是錯誤的。相反,我得到了一個。我的錯誤在哪里,希望解決方案可以調(diào)整為坐標(biāo)非常接近的標(biāo)記。clustered.on('popupopen', function(e) {    console.log('open');    const m = e.popup._source;    clustered.removeLayer(m);    unclustered.addLayer(m);    m.openPopup();});unclustered.on('popupclose', function(e) {    console.log('close');    let m = e.popup._source;    unclustered.removeLayer(m);    clustered.addLayer(m);    m.closePopup();});
查看完整描述

1 回答

?
德瑪西亞99

TA貢獻1770條經(jīng)驗 獲得超3個贊

這是因為您從組中刪除了該圖層clustered。再次將其添加到組后,它就有了新的訂單。


你可以這樣做:


let popup;

const mkMarker = function(lat, lng, txt) {

    const m = L.marker(L.latLng(lat, lng));

    m.addTo(clustered);

  m.popupText = txt;

  m.on('click',(e)=>{

    var marker = e.target;

    var latlng = marker.getLatLng();

    var offset = [0,0];

    if(marker._preSpiderfyLatlng){

        latlng = marker._preSpiderfyLatlng;

    }else{

      offset= marker.options.icon.options.popupAnchor;

    }

    

    popup = L.popup({offset: offset}).setContent(marker.popupText).setLatLng(latlng).addTo(map)

  })

    return m;

};

并去掉popupopen/close監(jiān)聽函數(shù)


查看完整回答
反對 回復(fù) 2023-11-02
  • 1 回答
  • 0 關(guān)注
  • 155 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號