• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

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

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

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

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

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

      1 引言

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

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

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

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

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

      2.1.1 百度地圖API

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

      2.1.2 AngularJS

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

      2.1.3 AJAX(Asynchronous JavaScirpt and XML)

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

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

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

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

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

      3.1 初始化百度地圖

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

      地圖容器設(shè)置:

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

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

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

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

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

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

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

      主頁(yè)(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 無(wú)刷新查詢(xún)

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

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

      if ($scope.kw) {

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

      function(data) {

      $scope.geotableList = data;

      }

      });

      3.4 步行規(guī)劃

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

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

      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ò)第三方地圖控件控制規(guī)劃面板的顯示與隱藏

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

      div.onclick = function(e) {

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

      }

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

      4 結(jié)束語(yǔ)

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

      參考文獻(xiàn)

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

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

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

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

      作者簡(jiǎn)介

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

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

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

      作者單位

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

      猜你喜歡
      服務(wù)器端百度頁(yè)面
      大狗熊在睡覺(jué)
      刷新生活的頁(yè)面
      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
      百度年度熱搜榜
      在Windows中安裝OpenVPN
      百度遭投行下調(diào)評(píng)級(jí)
      百度“放衛(wèi)星”,有沒(méi)有可能?
      太空探索(2014年4期)2014-07-19 10:08:58
      網(wǎng)頁(yè)防篡改中分布式文件同步復(fù)制系統(tǒng)
      同一Word文檔 縱橫頁(yè)面并存
      彭州市| 邮箱| 红桥区| 卢龙县| 兴山县| 丹棱县| 九台市| 沙河市| 来安县| 土默特左旗| 廉江市| 合肥市| 郴州市| 津南区| 天台县| 黄冈市| 安国市| 衢州市| 平武县| 永泰县| 海伦市| 翁源县| 梁河县| 曲松县| 元朗区| 通城县| 上林县| 平利县| 镇原县| 华坪县| 绥阳县| 永川市| 琼中| 工布江达县| 惠东县| 龙海市| 广西| 西乌| 南岸区| 武山县| 铁力市|