從底層開發談WebGIS中實現地理長度固定的可視窗口的思路和方法

文章版權由做者李曉暉和博客園共有,若轉載請於明顯處標明出處:http://www.cnblogs.com/naaoveGIS/緩存

1.具體問題

在公司某邊界城市的項目中,對方提出由於本身的地圖安全度要求比較高,須要實現如下兩個需求:安全

a.地圖的可視範圍永遠控制在6平方千米之內。blog

b.系統退出時自動刪掉全部緩存到本地的瓦片。get

第二個問題比較簡單,不作討論,這裏主要談談第一個問題解決的思路。博客

2.問題分析

a.不能經過單純的固定地圖大小。由於是地理長度固定,而不是屏幕可視長度固定,換句話說是指,在不一樣的地圖級別下,可視屏幕長度是變化的,由於此時固定的地理長度對應的可視長度是變化的。因此,單純的經過調整地圖可視屏幕大小是行不通的。原理

b.在可視窗體內,能夠進行地圖平移。甲方的要求不是僅僅指在地圖每一個級別顯示固定可見的6平方千米,而是指在能夠拖動地圖的條件下,只顯示可見的6平方千米。擴展

3.解決思路

解決這個問題我考慮了兩種方案:請求

a.每次控制地圖的瓦片請求範圍,即只請求以屏幕中心地理座標爲中心點擴展出來的6平方千米地理範圍的瓦片。而後將該瓦片請求出來後,換算出各瓦片應該在地圖上的屏幕座標,而後進行添加便可。方法

b.利用遮罩原理,一樣以屏幕中心地理座標爲中心點擴展出一個6平方千米的地理範圍矩形,而後再將此矩形的四角轉換成此時的屏幕座標,用屏幕四角座標繪製出此時的遮罩,添加到地圖上。im

4.具體實現

這裏我採用了第二種方法,有興趣的朋友能夠對第一種方法也進行下實驗。如下我給出第二種實現方法中具體實現流程:

                       

5.例子圖

 

 

                                                                                     ——歡迎轉載,但保留版權,請於明顯處標明出處:http://www.cnblogs.com/naaoveGIS/

相關文章
相關標籤/搜索