2010年8月20日 星期五

MapGuide+Flex = ? Part4

最近專案"好像"很忙,一直在想還要繼續玩這個自製Viewer嗎?早上趕了一些專案的東西,然後開了一個不知何謂的會,下午又趕了一些東西,耳朵束起來聽了一些事情以後,傍晚又覺得算了,還是做些有趣的事情好了。

其實列了好多要實做出來的功能,經過10秒鐘的長思,我決定要先把基本的功能先補一補,既然上次做了屬性查詢,也就是所謂的圖查文,那當然就必須要有文查圖;應用上最常用的圖查文功能就是"定位查詢"!

講了一堆,所以今天實作的就是"定位查詢",雖然非常的普通,但畢竟是很多變化功能的基礎。好~~~說了很多不知道是說給誰看的廢話,先來想想我們要做出怎麼樣的定位功能?

功能需求:由介面輸入要定位的圖層、查詢的條件,系統會列出符合的項目,再利用點選的方式來選擇真正要進行定位的圖元。

如果要達成以上的功能,必須先實作幾個部分:
前端:
1. 可以輸入圖層名稱、查詢條件的使用者介面。
2. 可以列出篩選後的屬性列表。
3. 點選列表項目後進行定位動作。
後端:
1. 依照圖層名稱、查詢條件篩選MgFeatureReader,並且回傳必要資料的函式。
2. 依照點選的項目回傳定位的相關資訊

來看一下實做出來的效果:
1. 首先,在工具列上面增加一個查詢定位的按鈕。

2. 實作一個彈跳的查詢介面,沒有花很多時間在介面的設定上面,所以先跳過利用程式組查詢語法的介面,直接利用一個文字輸入框來承接查詢語法。

3. 按下查詢後,會呼叫服務取回符合查詢條件的資料列表,利用Repeater來做出點取列表。

4. 點取其中一個項目後,會透過事件傳遞,呼叫寫在Viewer裡面的ZoomToView,地圖讀取回來以後,會有一個簡單的定位位置動畫。


回家測試的時候,發現當時為了方便測試動畫寫在框選放大點擊上,忘記拿掉了。XDDDD

最後還是,若是你不幸逛到這裡,又加上我沒有在改程式,也沒有換網址了話,請批評指教。多蝦!

4 則留言:

kolen 提到...

Bravo,ola哥。熱情才是動力阿,時間花在哪裡,你的成就就在那裡,加油。

ola的家 提到...

Bravo,這不是董大偉的座右銘嗎? XD

kolen 提到...

那我改說,"讚啦"。

ola的家 提到...

「時間花在哪裡,你的成就就在那裡」我是說這句啦 XD

張貼留言