OpenLayers如何顯示/隱藏ol.Overlay. Popup


  背景:

  由於項目需要,預警的點文件要用.gif來渲染,但是ol.feature暫時只支持普通靜態圖片,不支持用動畫做樣式的。所以只能考慮用ol.Overlay(大部分是用了ol-ext的ol.Overlay. Popup,這個也是繼承了ol.Overlay,所以ol.Overlay里的方法也能用)。

    參考資料:

                      

     

                  

 

 

 

  解決方案:

       ol.ol.Overlay. Popup.hide() 應該跟 ol.Overlay.setPosition(undefined) 效果是一樣的

       ol.ol.Overlay. Popup.show(coordinate,html) 應該跟 ol.Overlay.setPosition(coordinate) 效果是一樣的,但是

       ol.ol.Overlay. Popup.show()里面需要兩個參數,控制顯隱性時很不方便。

       所以可以用ol.ol.Overlay. Popup.hide()和ol.Overlay.setPosition(undefined)來隱藏popup,用

       ol.Overlay.setPosition(coordinate)來顯示popup。

  

   總結:

      不要拘泥於以前的代碼和邏輯,有些現有的不合理的地方要大膽改進,不能偷懶敷衍了事,對於最細節的東西,深究API才是王道!另外希望OpenLayers能研究下把feature的樣式設置為.gif。

  參考網址:

          https://viglino.github.io/ol-ext/doc/doc-pages/ol.Overlay.Popup.html

       https://openlayers.org/en/v4.6.5/apidoc/ol.Overlay.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM