當地圖中增加了很多元素後,對不同的元素需要進行一定的控制,最簡單的控制就是能對元素有選擇的進行清空删除。在本節中,還将介紹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的操作可以隻用在此圖層上進行監聽即可。
用過arcmap的朋友應該用過arcmap中的地圖定位工具,其能夠在輸入了X和Y坐标後,将地圖縮放到該坐标處。Arcmap中該工具界面如下所示:
在設計該功能時,我們首先還是要對瓦片換算有個基本的了解(可檢視此系列的第三章節)。這裡我直接給出整個流程圖:
在arcmap中,滑鼠在地圖上移動時,地圖右下角會顯示出此時滑鼠所在的地理坐标。在WebGIS中,我們也可以加上此功能,但是展示的方式需要設計。
在設計地圖定位功能時,我将拾取滑鼠地理坐标的功能也融入到了此功能中:
a.滑鼠移動時,XY輸入框會實時顯示滑鼠所在處的地理坐标。
b.點選定位按鈕,地圖會縮放到輸入框XY坐标處。
效果圖如下:
在此章中,我跟大家一起探讨了WebGIS中兩個基本的功能,地圖清空以及地圖定位。在下一章節中,我們開始探索WebGIS中一個很重要的功能,I查詢。并且探讨如何能使I查詢變得可配置、可擴充、以及如何界面展現。