賀仁宇
【摘要】本文主要基于iPhone的特性,結合實踐,對實現webGIS應用系統進行探究,文章從系統的功能設計、布局、Canvas繪圖、Ajax等關鍵技術對該系統進行研究,餅圖存在的問題進行解決,webGIS技術滿足的用戶的需求,對于面向iPhone的Web應用也是有一定的借鑒意義的。
【關鍵詞】iPhone;webGIS;Canvas;
【中圖分類號】P208;TP311.52 【文獻標識碼】A 【文章編號】1672-5158(2013)01—0136-01
1、iPhone及其特征
自蘋果公司推出iPhone至今,其發展經歷了非常大的變化,將移動電話、寬屏觸摸ipad以及桌面網頁瀏覽、電子郵件、地圖功能、搜索功能的多種產品有機的結合在一起,只要所在之處有WiFi網絡,iPhone就可以隨時自由的接入互聯網絡,不管身處何處,都能夠享受到互聯網生活,這是iPhone主要特定之一,即可以自動搜尋無線網絡,并可以自動接入其中。iPhone之前,還沒有任何一款支持web應用的手機,因此,要在iphone基礎上開發web應用程序就需要對iPhone網頁瀏覽器的特點進行了解,因此專門建立一個供人們了解iPhone的網站,需要首先了解iPhone桌面及界面的特點。
1.1 瀏覽器
iPhone是采用Safar Mobile作為自己特有的瀏覽器,具有相當的優勢。蘋果公司所開發的這款瀏覽器以自身先進的界面帶給人們最佳的瀏覽體驗。這款瀏覽器也是第一款在手機上提供了和PC機類似的瀏覽器。在iPhone之前,主要采用的WAP技術聯網,根據WAP標準,需要重新建設所有的互聯網內容。而iPhone攜帶的瀏覽器則對一般的網頁都可以直接訪問,雖然體驗后感覺沒有那么好,但主要進行簡單的修改即可。因此,眾多網站都對自己的網頁進行了修改,并且制定了專門的iPhone網站,從而使客戶的體驗度大大提高,贏得更多的市場份額。
1.2 頁面布局設計
以般情況下,瀏覽器在iPhone上顯示一個URL文本框、一個狀態欄及一個按鈕欄。根據不同的位置,iPhone可以自動對新界面的方向進行調整,包括豎屏和橫屏。豎屏的URL文本框及狀態欄指示與橫屏是相同的,可視區域的大小設置為480px×280px。在進行iPhone網站頁面設計的時候,要注意在不同的方向要保持一定的美觀性和一致性,一般設計為根據不同的方向變化,設計動態界面調整。在WebGIS電子地圖的設計及實現展示中,要特別了解以上顯示指標,要對兼容的方法充分進行考慮,切忌在一個寬度上將頁面固定死。
2、基于iPhone的WebGIS實現中的問題及對策
2.1 布局及調整
對于iPhone而言,其瀏覽器是在Viewport基礎上呈現的頁面,用戶可以對頁面進行放大或收縮,收縮之后,Viewport保持不管,只是將頁面的內容根據顯示比例進行了縮放。所以在Viewport屬性沒有修改的情況下,Viewport的默認寬度為980像素。此時,頁面所呈現出的布局與Viewport的桌面寬度是980像素的結果相同,但是由于iPhone屏幕寬度的限制,因此只是按照相應的比例進行了縮放。就Web應用程序而言,要是根據980像素的寬度來設計的話,那么客戶在體驗的時候,效果就體現不出來,而需要通過對Viewport的像素寬度進行調整來設計頁面。對Viewport像素寬度可以進行設計的屬性主要有:height Viewgort的高度;width Viewport的寬度;maximum-scale所允許的最大縮放比例;minimum-scale所允許的最小縮放比例;initial-scale的初始縮放比例;user-scalable能否手動縮放。通過對以上幾種屬性中的一個或者多個進行設置,iPhone可以按照設置屬性,自動對其屬性值進行推算,并非直接采取默認值。通過對Viewport寬度的調整,實現iPhone在網頁瀏覽時取得更佳的瀏覽效果。
2.2 A jax技術
基于Web Applications瀏覽器的開發模式,A jax在幾種技術的整合中,創造出更強大的新應用,構成了A jax的模型,半酣JavaScript、XML、XHTML、HTTP等,這些技術在目前已經被廣泛的采用。在進行異步數據傳輸時,A jax采用XMLH ttpReques技術,利用XSLT及XML技術進行數據處理與交換,最后通過DOM來實現交互與顯示,這些過程通過JavaScfipt聯系在一起。A jax技術的核心是XMLH ttoReques,這是一種支持異步請求的技術。簡單的說,在用戶向服務器發出請求時,不會出現阻塞現象。
基于iPhone的WebGIS應用系統采用目前流行的,NET三層架構,即數據服務層、事物處理層、事物表現層。其中,事物處理層也成為邏輯層。數據服務層主要作用是對專業的應用數據進行存儲以及管理,對服務器存儲數據的請求進行響應。事物處理層主要提供GIS服務和Web服務,對用戶的請求進行響應和處理,把因用戶請求而產生的數據任務及時的傳輸到數據層,然后將數據層的處理結果返回到Web瀏覽器中。事物表現層就是客戶端所使用的Web瀏覽器,主要是對用戶請求的結果進行顯示。在這個三個層次中,事物表現層采用標準的HTML頁面,在頁面中消息的傳遞主要使用A jax技術來實現用戶的請求,進而完成對用戶請求的交互及處理。通過A jax技術所提供的異步通信功能,用戶的請求及響應擺脫了傳統的數據傳輸模式,大大的提高了系統對請求的響應和處理效率。
在GIS中,A jax技術主要用于電子地圖的放大、縮小、加載、移動等顯示,并且對地圖數據進行計算。例如,在進行電子地圖的加載時,可以動態的加載,這與傳統的加載方法是不同的,傳統的方式是在對所有數據進行查詢完以后再進行加載,影響了相應的效率,而在A jax技術的應用下,用戶等待加載的時間大大降低,在很短時間內即可完成地圖的查詢,節省了網絡流量及用戶時間,受到用戶的好評。在數據查詢方面,A jax技術主要針對的是地圖上物實體的數據庫位置數據查詢及定位等,采用異步數據傳輸,杜絕了白屏現象的發生,給用戶良好的體驗感覺。需要注意的是Safari瀏覽器中,不需要對Content-Length進行設置。
2.3 Canvas繪圖
在WebGIS應用系統中,最常用的矢量繪圖語言是SVG及VML兩種,而Canvas繪圖語言在該應用系統中也有重要的應用,這主要是針對iPhone基礎上的WebGIS而言的。三種繪圖語言中,SVG在IE下不需要插件,支持Opera、Hirefox及W3C標準;VML支持Ⅲ;Canvas不支持IE,支持Safari、Opera、Firefox。對于iPhone環境下的Safari瀏覽器在目前只支持Canvas矢量繪圖,而Windows基礎上的Safari桌面瀏覽器支持SVG及Canvas矢量繪圖。Canvas繪圖語言是一個新的HTML元素,可以被用來進行繪圖、圖像合成以及簡單動畫的應用。在進行繪圖的過程中需要對高度和寬度兩個屬性進行注意,要根據所繪圖形的大小對默認的像素寬度及高度進行調整,以此來保證得到完整的圖形,在繪畫區域建立完成后,就可以添加代碼進行繪圖。
參考文獻
[1]張亦含,李旭文,黃丙湖等.基于WebGIS的環境監測數據管理平臺設計與開發[J].計算機應用與軟件,2007(5)
[2]歐德漫.深度解析iPhone未來在我手中與iPhone邂逅的72小時[J].微型計算機,2007,(8)