天天看點

(十八)WebGIS中清空功能和地圖定位功能的設計以及實作

當地圖中增加了很多元素後,對不同的元素需要進行一定的控制,最簡單的控制就是能對元素有選擇的進行清空删除。在本節中,還将介紹WebGIS中另外一個常用功能,即地圖定位功能。具體描述便是:當輸入一個坐标點後,能夠将地圖縮放到該點處。下面我便就以上兩個功能展開此章節的内容。

根據功能點,我們可以将清空分為如下幾個情形:

a.清空某個或者指定個數元素

b.清空某類或多類元素

c.清空所有元素

在之前的矢量圖層原理章節中,我已經就WebGIS中的矢量圖層原理做了詳細的講解,其核心便是一個矢量圖層對應一個Canvas,而元素均是以element的方式添加到其中。是以,對以上清空所涉及到的三種情形,這裡可以做出如下設計:

a.根據childname在Canvas中清除該對應element。

b.如果是删除一個Canvas中的某些類,此時應将childname的命名方式進行規範,即:catalogname_childname,删除時根據catalogname來删除Canvas中的對應類element。如果要删除的類将好根據Canvas進行了區分,此時直接清空該類所對應的canvas即可。

c.周遊所有的canvas,清空所有canvas中的element。

為了便于對所有的canvas進行管理。具體實作時,有必要做一個管理canvas的類,該類提供擷取指定canvas,删除指定canvas,清空指定canvas等管理功能。

如果将此管理類本身設計成一個繼承與Canvas的類,将其他Canvas均視作element添入其中,那麼其本身就已經具有了對canvas的管理。并且還有一個優點在于,由于其他矢量canvas均是其element,滑鼠對canvas的操作可以隻用在此圖層上進行監聽即可。

(十八)WebGIS中清空功能和地圖定位功能的設計以及實作

用過arcmap的朋友應該用過arcmap中的地圖定位工具,其能夠在輸入了X和Y坐标後,将地圖縮放到該坐标處。Arcmap中該工具界面如下所示:

(十八)WebGIS中清空功能和地圖定位功能的設計以及實作

在設計該功能時,我們首先還是要對瓦片換算有個基本的了解(可檢視此系列的第三章節)。這裡我直接給出整個流程圖:

(十八)WebGIS中清空功能和地圖定位功能的設計以及實作

在arcmap中,滑鼠在地圖上移動時,地圖右下角會顯示出此時滑鼠所在的地理坐标。在WebGIS中,我們也可以加上此功能,但是展示的方式需要設計。

在設計地圖定位功能時,我将拾取滑鼠地理坐标的功能也融入到了此功能中:

a.滑鼠移動時,XY輸入框會實時顯示滑鼠所在處的地理坐标。

b.點選定位按鈕,地圖會縮放到輸入框XY坐标處。

效果圖如下:

(十八)WebGIS中清空功能和地圖定位功能的設計以及實作

在此章中,我跟大家一起探讨了WebGIS中兩個基本的功能,地圖清空以及地圖定位。在下一章節中,我們開始探索WebGIS中一個很重要的功能,I查詢。并且探讨如何能使I查詢變得可配置、可擴充、以及如何界面展現。