国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Web APP的校園地理信息系統(tǒng)設(shè)計與實現(xiàn)

2016-12-21 09:53:08王海穎樓鋮超張鵬
電子技術(shù)與軟件工程 2016年20期
關(guān)鍵詞:服務(wù)器端百度頁面

王海穎++樓鋮超++張鵬

摘 要 隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展,移動端校園信息化產(chǎn)品是高校信息化發(fā)展的必然趨勢。本文從數(shù)字化校園建設(shè)及應(yīng)用群體的需求出發(fā),通過Web APP調(diào)用百度地圖API方式,設(shè)計了一款校園地理信息系統(tǒng)——“掌上紡服”。

【關(guān)鍵詞】Web APP 百度地圖AngularJS Ajax

1 引言

數(shù)字校園是高校信息化發(fā)展的必然趨勢,通過數(shù)字校園建設(shè),可以快速有效地獲得大量校園信息,并實現(xiàn)信息之間的交互共享。隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展,數(shù)據(jù)網(wǎng)絡(luò)傳輸更加快捷,移動終端設(shè)備迅速普及。當(dāng)前運用移動端人均上網(wǎng)時間已經(jīng)超過PC端,應(yīng)用程序研發(fā)重心也正由傳統(tǒng)的PC平臺向智能終端平臺傾斜??梢?,智能終端的發(fā)展正在逐步影響高校數(shù)字化建設(shè)的方式。本文根據(jù)數(shù)字化校園建設(shè)及應(yīng)用群體的需求分析,設(shè)計并實現(xiàn)了一款基于Web APP的校園地理信息系統(tǒng)——“掌上紡服”。

2 校園地理信息系統(tǒng)設(shè)計

鑒于當(dāng)前存在很多新生因為不熟悉地理環(huán)境而導(dǎo)致走錯教室、上課遲到等現(xiàn)象,在當(dāng)前新生擁有智能手機(jī)比例已經(jīng)達(dá)到90%以上的今天,為方便學(xué)生盡快熟悉校園地理、盡快適應(yīng)校園生活,設(shè)計一款能通過智能手機(jī)方便操作的校園地理信息系統(tǒng)。

Web APP,是運行于網(wǎng)絡(luò)和標(biāo)準(zhǔn)瀏覽器上,基于網(wǎng)頁技術(shù)開發(fā)實現(xiàn)特定功能的應(yīng)用,該開發(fā)具有跨平臺的優(yōu)勢,編寫一次、可到處運行的移動開發(fā)方法構(gòu)建的跨平臺移動應(yīng)用程序可以在多個設(shè)備上運行。為了更好的推廣應(yīng)用,選用了Web APP方式進(jìn)行開發(fā),用戶只需要輸入網(wǎng)址或者掃面二維碼就能夠簡單方便地使用,同時Web APP的自適應(yīng)性能夠很好的適應(yīng)不同分辨率的手機(jī)屏幕。

2.1 相關(guān)技術(shù)簡介

2.1.1 百度地圖API

百度地圖API是為開發(fā)者免費提供的一套基于百度地圖服務(wù)的應(yīng)用接口,包括JavaScript API、Web服務(wù)API、Android SDK、iOS SDK、定位SDK、車聯(lián)網(wǎng)API、LBS云等多種開發(fā)工具與服務(wù)。其中百度地圖JavaScript API是一套由JavaScript語言編寫的應(yīng)用程序接口,不僅包含構(gòu)建地圖的基本功能接口,還提供了諸如本地搜索、路線規(guī)劃等數(shù)據(jù)服務(wù)。適用于PC或移動設(shè)備端的基于瀏覽器的開發(fā)。

2.1.2 AngularJS

AngularJS是一款由Google公司開發(fā)的前端JS框架。AngularJS支持單頁動態(tài)應(yīng)用程序的開發(fā),簡化了開發(fā)過程及測試的復(fù)雜度,在編寫 Web APP的過程中可以實時看到代碼產(chǎn)生的效果。AngularJS的核心思想是將管理數(shù)據(jù)的代碼(model)、應(yīng)用邏輯代碼(controller),以及向用戶展示數(shù)據(jù)的代碼(view)清晰地分離開,實現(xiàn)View層與model層數(shù)據(jù)同步,一方的改變會影響另一方。

2.1.3 AJAX(Asynchronous JavaScirpt and XML)

是一種創(chuàng)建交互式網(wǎng)頁應(yīng)用的網(wǎng)頁開發(fā)技術(shù),整合了幾種現(xiàn)有的技術(shù):JavaScirpt、CSS、DOM和XmlHttpRequest。jQuery是一個輕量級的Ajax框架,對Ajax操作進(jìn)行了良好的封裝,提供了一套完整的Ajax功能,使Ajax應(yīng)用開發(fā)過程簡單化。同時在無刷新技術(shù)實現(xiàn)上引入jQuery很多優(yōu)勢。

2.2 系統(tǒng)框架設(shè)計

“掌上紡服”校園地理信息系統(tǒng)的設(shè)計原則為:在實現(xiàn)客戶端簡潔、易操作的同時,盡量減少響應(yīng)時間、占用較小的帶寬。

基于上述設(shè)計原則,前端采用AngularJS框架實現(xiàn)單頁應(yīng)用,服務(wù)器端采用SSH框架來實現(xiàn),而前端與服務(wù)器端之間的交互通過JSON數(shù)據(jù)來實現(xiàn)。JSON(JavaScript Object Notation)是一種輕量級的數(shù)據(jù)交互格式,簡單,易于讀寫,占用帶寬小,服務(wù)器端和客戶端的解析較為方便。系統(tǒng)的整體設(shè)計框架如圖1所示。

3 主要功能實現(xiàn)

3.1 初始化百度地圖

百度地圖JavaScript API是一套由JavaScript語言編寫的應(yīng)用程序接口,通過

地圖容器設(shè)置:

創(chuàng)建Map實例,初始化地圖:

var map=new BMap.Map("allmap", { enableMapClick : false }); // 創(chuàng)建Map實例

map.centerAndZoom(CurrentPoint, 18); // 初始化地圖,設(shè)置中心點坐標(biāo)和地圖級別

3.2 單頁應(yīng)用架構(gòu)

傳統(tǒng)的網(wǎng)頁,頁面加載時會重繪整張頁面,當(dāng)瀏覽器從服務(wù)器獲取數(shù)據(jù)時,頁面會假死并有“閃爍”現(xiàn)象。單頁應(yīng)用頁面加載時只重繪界面上需要變化的部分,擁有和Native APP一樣的響應(yīng)速度。

AngularJS的單頁應(yīng)用執(zhí)行流程如圖2所示。

在應(yīng)用執(zhí)行過程中,完整的頁面只加載一次,就是“ng-APP”所在的頁面。對于客戶端的請求,頁面只是重繪“ng-APP”中的內(nèi)容。

主頁(index.jsp)中“ng-APP”的設(shè)置:

路由規(guī)則設(shè)置:

var APP = angular.module(zjff, [ ng, ngRoute, ngAnimate ]);

APP.config(function($routeProvider) {

$routeProvider.when(/main, {templateUrl : main.jsp,controller : mainCtr})

});

控制器:

APP.controller(mainCtr, function($scope, $location) {

createMap();//初始化地圖

});

3.3 無刷新查詢

$watch是AngularJs的scope函數(shù),用于監(jiān)聽查詢關(guān)鍵字的變化。jQuery是一個輕量級的Ajax框架,對Ajax操作進(jìn)行了良好的封裝。當(dāng)查詢關(guān)鍵字變化時通過jQuery的$.getJSON()方法向服務(wù)器發(fā)送請求,異步查詢。查詢結(jié)果返回后通過$scope.geotableList = data; $scope.$APPly();重新綁定數(shù)據(jù),顯示最新查詢結(jié)果。

$scope.$watch(kw, function() {

if ($scope.kw) {

$.getJSON(geotableByKw.action?kw= + $scope.kw,

function(data) {

$scope.geotableList = data;

}

});

3.4 步行規(guī)劃

步行路線規(guī)劃功能通過調(diào)用百度API實現(xiàn)

創(chuàng)建一個步行導(dǎo)航實例:

var walking = new BMap.WalkingRoute(map, {renderOptions : {map : map, panel : "r-result",autoViewport : true} });

發(fā)起檢索,變量CurrentPoint是當(dāng)前位置,p1是目標(biāo)位置:

walking.search(CurrentPoint, new BMap.Point(p1.getPosition().lng,p1.getPosition().lat));

通過第三方地圖控件控制規(guī)劃面板的顯示與隱藏

var div = document.createElement("div");// 創(chuàng)建一個DOM元素

div.onclick = function(e) {

$("#r-result").toggle("normal");//控件綁定顯示/隱藏事件

}

map.getContainer().APPendChild(div);//將控件添加到地圖容器中

4 結(jié)束語

本文在當(dāng)前互聯(lián)網(wǎng)技術(shù)水平和智能手機(jī)普及率均較高的應(yīng)用背景下,提出了基于Web APP的校園地理信息系統(tǒng)的設(shè)計與實現(xiàn)。Web APP前端采用AngularJS實現(xiàn)單頁應(yīng)用,服務(wù)器端采用SSH框架,前端與服務(wù)端之間通過JSON數(shù)據(jù)實現(xiàn)交互,凸顯了本款Web APP 簡潔、易操作、響應(yīng)速度快的特點,更易于推廣。

參考文獻(xiàn)

[1]劉玉萍.HTML5從零開始學(xué)[M].北京:清華大學(xué)出版社,2015.

[2]孫迪,李沛鴻.百度地圖在WebGIS中的應(yīng)用[J].交通與建筑科學(xué),2013(11):165-166.

[3]董英茹.簡談AngularJS在下一代Web開發(fā)中的應(yīng)用[J].軟件工程師,2015(05):30-31.

[4]張佳佳,王楊,韓力英.基于SSH+jQuery框架的餐飲Web APP的設(shè)計與實現(xiàn)[J].電子設(shè)計工程,2016(03):20-22.

作者簡介

王海穎(1982-),女,浙江省寧波市人。碩士學(xué)位?,F(xiàn)為浙江紡織服裝職業(yè)技術(shù)學(xué)院講師。主要研究方向移動端軟件開發(fā)。

樓鋮超(1995-),男,浙江省寧波市人?,F(xiàn)為浙江紡織服裝職業(yè)技術(shù)學(xué)院在讀。主要研究方向軟件開發(fā)。

張鵬(1996-),男,浙江省溫州市人?,F(xiàn)為浙江紡織服裝職業(yè)技術(shù)學(xué)院在讀。主要研究方向軟件開發(fā)。

作者單位

浙江紡織服裝職業(yè)技術(shù)學(xué)院 浙江省寧波市 315211

猜你喜歡
服務(wù)器端百度頁面
大狗熊在睡覺
刷新生活的頁面
Robust adaptive UKF based on SVR for inertial based integrated navigation
淺析異步通信層的架構(gòu)在ASP.NET 程序中的應(yīng)用
成功(2018年10期)2018-03-26 02:56:14
百度年度熱搜榜
青年與社會(2018年2期)2018-01-25 15:37:06
在Windows中安裝OpenVPN
百度遭投行下調(diào)評級
IT時代周刊(2015年8期)2015-11-11 05:50:22
百度“放衛(wèi)星”,有沒有可能?
太空探索(2014年4期)2014-07-19 10:08:58
網(wǎng)頁防篡改中分布式文件同步復(fù)制系統(tǒng)
同一Word文檔 縱橫頁面并存
房产| 迭部县| 北宁市| 明光市| 柳河县| 新绛县| 社旗县| 皮山县| 昆山市| 海南省| 东乡| 安顺市| 安平县| 基隆市| 张家港市| 七台河市| 望城县| 定安县| 自贡市| 安仁县| 电白县| 罗源县| 克什克腾旗| 宁津县| 永安市| 保康县| 清流县| 和静县| 辰溪县| 逊克县| 华池县| 柳江县| 伊春市| 兴安县| 明星| 彭泽县| 昭通市| 荃湾区| 黎城县| 保亭| 昌江|