2016-03-29 54 views
0

當顯示搜索結果時,通常希望在同一張地圖上看到所有結果以及請求的元素。如何將點添加到應該在地圖上但看不見的單張?

爲了做到這一點,我搜索到的點添加到同一層,使用fitBounds方法如下:

map.fitBounds(markerLayer.getBounds().pad(0.10)); 

現在的問題是我的標誌仍然是在地圖上是可見的,它不應該是。是否可以隱藏/切換單個標記的可見性?

到目前爲止已經試過:

  • 爲0設置不透明度標記確實不可見,但仍然光標懸停改變,你仍然可以點擊它。
  • 在單獨的圖層中設置請求的城市標記。無用,因爲無法獲取多個圖層的邊界,即使將這些圖層分組在LayerGroup中,也無法獲得它的邊界。

回答

2

你可以設置一個標記的不透明度:

markerLayer.setOpacity(0); 

(見http://leafletjs.com/reference.html#marker-setopacity


編輯:

如果你不希望它是您可以在創建標記時使用clickable選項:

var markerLayer = L.marker([0, 0], { clickable: false }); 

(見http://leafletjs.com/reference.html#marker-clickable

+0

這一工程,但項目仍然是可以點擊的,懸停鼠標指針的變化。 –

+0

是的,因爲問題具體詢問了關於切換*可見性*。如果你想讓它看起來**和**的行爲就好像它不在那裏一樣,最簡單的選擇當然是從地圖上移除標記? 'map.removeLayer(markerLayer)' – Nick

+0

不,因爲這意味着我會失去我不想要的所有圖層。並且您無法獲取多個圖層的邊界... –

相關問題