文章版權由作者李曉暉和博客園共有,若轉載請於明顯處標明出處:http://www.cnblogs.com/naaoveGIS/。
1.背景
當地圖中增加了很多元素后,對不同的元素需要進行一定的控制,最簡單的控制就是能對元素有選擇的進行清空刪除。在本節中,還將介紹WebGIS中另外一個常用功能,即地圖定位功能。具體描述便是:當輸入一個坐標點后,能夠將地圖縮放到該點處。下面我便就以上兩個功能展開此章節的內容。
2.清空功能
2.1設計思路
根據功能點,我們可以將清空分為如下幾個情形:
a.清空某個或者指定個數元素
b.清空某類或多類元素
c.清空所有元素
在之前的矢量圖層原理章節中,我已經就WebGIS中的矢量圖層原理做了詳細的講解,其核心便是一個矢量圖層對應一個Canvas,而元素均是以element的方式添加到其中。所以,對以上清空所涉及到的三種情形,這里可以做出如下設計:
a.根據childname在Canvas中清除該對應element。
b.如果是刪除一個Canvas中的某些類,此時應將childname的命名方式進行規范,即:catalogname_childname,刪除時根據catalogname來刪除Canvas中的對應類element。如果要刪除的類將好根據Canvas進行了區分,此時直接清空該類所對應的canvas即可。
c.遍歷所有的canvas,清空所有canvas中的element。
2.2具體實現
為了便於對所有的canvas進行管理。具體實現時,有必要做一個管理canvas的類,該類提供獲取指定canvas,刪除指定canvas,清空指定canvas等管理功能。
如果將此管理類本身設計成一個繼承與Canvas的類,將其他Canvas均視作element添入其中,那么其本身就已經具有了對canvas的管理。並且還有一個優點在於,由於其他矢量canvas均是其element,鼠標對canvas的操作可以只用在此圖層上進行監聽即可。
3.地圖定位功能
用過arcmap的朋友應該用過arcmap中的地圖定位工具,其能夠在輸入了X和Y坐標后,將地圖縮放到該坐標處。Arcmap中該工具界面如下所示:
3.1設計思路
在設計該功能時,我們首先還是要對瓦片換算有個基本的了解(可查看此系列的第三章節)。這里我直接給出整個流程圖:
3.2具體實現
在arcmap中,鼠標在地圖上移動時,地圖右下角會顯示出此時鼠標所在的地理坐標。在WebGIS中,我們也可以加上此功能,但是展示的方式需要設計。
在設計地圖定位功能時,我將拾取鼠標地理坐標的功能也融入到了此功能中:
a.鼠標移動時,XY輸入框會實時顯示鼠標所在處的地理坐標。
b.點擊定位按鈕,地圖會縮放到輸入框XY坐標處。
效果圖如下:
4.總結
在此章中,我跟大家一起探討了WebGIS中兩個基本的功能,地圖清空以及地圖定位。在下一章節中,我們開始探索WebGIS中一個很重要的功能,I查詢。並且探討如何能使I查詢變得可配置、可擴展、以及如何界面展現。
——歡迎轉載,但保留版權,請於明顯處標明出處:http://www.cnblogs.com/naaoveGIS/