jsapi4加載的首個圖層的範圍被默認作爲地圖範圍,且不能修改的解決 原

在map加載的第一個圖層的圖層範圍(fullExtent),會被默認設置爲map的全圖範圍,且不能更改,從一般地圖控件角度來說,應該有fullExtent屬性,作爲地圖的全圖範圍,但很遺憾jsapi4.9還沒有

Map有個initialExtent的屬性,從值可看出,當map沒圖層時,是null,加載第一個圖層後,就有值的,且值是第一個圖層的fullExtent,然後這個值不會再改變。我嘗試對initialExtent賦值,console有報錯,這屬性官方文檔也沒寫出來

 

如果有情況是第二個圖層的範圍比第一個大,那因爲地圖全圖範圍是第一個圖層的,所以第二個圖層不能看全,如何解決?

 

一個曲線解決辦法是,假設我們知道要加載的所有圖層的總的最大範圍,那可以建一個任意的layer,layer的大部分屬性隨意(因爲不是用來顯示的),唯一要主要是圖層範圍要設成上述的所有圖層的最大範圍。原理是既然第一個圖層的範圍就是地圖範圍,那隻要保證第一個圖層範圍比所有圖層都大,把地圖範圍撐大就行。這圖層加載後可以設visible爲false,訪問不斷獲取內容導致其他問題

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章