基于HTML5的网络地图研究与实现

来源 :无线互联科技 | 被引量 : 0次 | 上传用户:ilove19830517
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘 要:随着互联网技术的飞速发展,互联网地图的应用已经越来越广泛。文章就基于html5技术下进行的网络地图开发的一些关键问题进行了阐述和说明。
  关键词:网络地图;html5技术;导航
  HTML5,万维网的核心语言、标准通用标记语言下的一个应用超文本标记语言(HTML)的第五次重大修改,包括HTML和XHTML的标签,相关的API、Canvas等,同时HTML5的图像img标签及svg也进行了改进,性能得到进一步提升,而且较之前几个版本HTML5又提供了一些新的元素和属性。HTML5技术具有很好的跨平台性,HTML5技术能够实现网页的及时更新。HTML5技术,实际指的是包括HTML、CSS和JavaScript在内的一套技术组合。
  1 HTML5技术的新特性
  HTML5是HTML的下一代产品,目前仍然处于完善阶段。为了推动Web标准化运动的发展,一些公司联合起来,成立了WHATWG的组织,在2006年,万维网决定双方展开合作,来创建一个新版本的HTML,以期能在互联网应用迅速发展的时候,使网络标准达到符合当代的网络需求。2014年10月29日,万维网联盟泪流满面地宣布,经过几乎8年的艰辛努力,HTML5标准规范终于最终制定完成了,并已公开发布。这特就意味着HTML5将推动Web进入新的时代。
  1.1 新的API提高了设备的兼容性
  HTML5拥有一些新的API。例如:canvas,用于渲染图形或是其他的视觉图像,甚至可以直接做出伪3D游戏;地理位置共享,通过Geolocation功能从而获取用户的地理位置信息;一个和draggable属性一起使用的拖放API;跨文档请求,websocket,一种更加高效的通讯方式,等等一些新的API。HTML5提供了前所未有的数据与应用接入开放接口,使外部应用可以直接与浏览器内部的数据直接相连,来帮助开发者构建精彩的桌面和移动应用程序。
  1.2 HTML5拥有更加有效的服务器推送技术
  更有效的连接工作效率,使得基于页面的实时聊天,更快速的网页游戏体验,更优化的在线交流得到了实现。HTML5拥有更有效的服务器推送技术,Server-Sent Event和WebSockets就是其中的两个特性,这两个特性能够帮助我们实现服务器将数据“推送”到客户端的功能。其中主要是Web Sockets协议,能让浏览器和服务器保持链接,这意味着网页能够承载需要即时通信的网络应用:聊天、在线游戏等等。
  1.3 离线功能和本地存储
  HTML5提供了一个非常重要的特性,可以编写离线应用程序。所以理论上,我们可以有离线的Gmail,可以在没有网络连接的时候编写邮件在上线时发送;对于手机,我们可以有HTML5版本的Google Reader,在有网络的时候下载新闻供离线时阅读。而有了离线功能,也能让网页应用程序可以和原生应用程序竞争了。HTML5中定义的WebStorage已经被广泛的支持,利用本地存储技术,可以缓存一些不经常变更的数据,比如导航,脚部申明等,保存用户的一些个性化设置;用户的浏览历史等。
  2 基于HTML5的网络地图的创建
  在HTML5中,利用window.navigator对象的新增属性geolocation,通过Geolocation API对该属性进行访问。如果浏览器支持地理定位,就能够直接使用这组API来获取当前位置信息,对于拥有GPS的设备,比如iPhone,地理定位更加精确。借助地理位置(geolocation)这个特性,我们可以确定用户的位置,从而开发基于位置信息的应用。此外,HTML5的Geolocation API主要特点还包括以下两个方面:其一,API不去获取用户的具体位置信息,而是通过其他三方接口来获取,例如IP,GPS,WIFI等方式。其二,用户拥有自足选择权,程序执行时会首先征得用户同意,基于这个特性我们能够很好的保护用户的隐私。
  2.1 检测浏览器是否支持W3C地理位置API
  如果浏览器支持W3C地理位置API,则执行方法getCurrentPosition,参数showPositionMes,showErrorMes分别为后续具体方法。否则提示浏览器不支持HTML5地理位置信息,下面的代码实现检测浏览器是否支持navigator.geolocation。
  if(navigator.geolocation) { navigator.geolocation.getCurrentPosition(showPositionMes, showErrorMes); }else { alert("您的浏览器不支持Html5地理位置信息"); }
  2.2 获取地理位置信息
  浏览器支持W3C地理位置API,执行方法getCurrentPosition获取位置信息,若获取位置信息失败则执行回调函数function showErrorMes(),若获取位置信息成功则执行回调函数showPositionMes()并获得位置信息详细数据,代码如下:
  function showPositionMes(position) {
  x.innerHTML = "纬度:" + position.coords.latitude + "
经度: " + position.coords.longitude
  + "
海拔高度: " + position.coords.altitude;}
  function showErrorMes(error) {
  switch (error.code) {
  case error.PERMISSION_DENIED:   x.innerHTML = "拒绝请求";
  break;
  case error.POSITION_UNAVAILABLE:
  x.innerHTML = "位置信息不可用";
  break;
  case error.TIMEOUT:
  x.innerHTML = "请求超时";
  break;
  case error.UNKNOWN_ERROR:
  x.innerHTML = "未知错误";
  break;
  }
  }
  2.3 地图的初始化
  首先获取百度地图API:
  
  利用获取到的经纬度数值进行地图的初始化定位,设置地图中心为当前获取的地理信息(经度,纬度),同时在地图上添加比例尺以及默认缩放平移控件,具体代码实现如下:
  var map = new BMap.Map("yplmap");
  var point = new BMap.Point(position.coords.longitude,position.coords.latitude);
  map.centerAndZoom(point,14);
  var top_left_control = new BMap.ScaleControl({anchor: BMAP_ANCHOR_TOP_LEFT});
  var top_left_navigation = new BMap.NavigationControl();
  map.addControl(top_left_control);
  map.addControl(top_left_navigation);
  3 基于HTML5的网络地图的功能实现
  3.1 实时定位跟踪
  使用watchPosition方法可以持续获取用户的当前地理位置信息,它会时刻监视用户的位置,只要用户的位置发生变化,浏览器就会自动触发watchPosition()的回调函数。watchPosition方法与getCurrentPosition使用方法基本相同。另外watchPosition()有返回值,返回一个ID,可以使用clearWatch()方法清除掉,类似于延迟函数/间隔函数(setTimeout/setInterval)。getCurrentPosition()没有返回值。
  执行语句如:navigator.geolocation.watchPosition(showPositionMes,showErrorMes,{frequency:1000}),第三个参数决定每秒更新一次,最后可以利用clearWatch()方法终止定位跟踪。clearWatch()接收一个watchPosition()方法返回的数据,实现的功能是清除对用户位置的循环监视,从而终止实时定位。
  3.2 路线搜索与规划
  首先添加百度地图jquery ,然后确定路线的起点和终点,随后根据对路线规划的需求,在地图上规划出路线,以下为代码示例:
  var routePolicy = [BMAP_DRIVING_POLICY_LEAST_TIME,BMAP_DRIVING_POLICY_LEAST_DISTANCE,BMAP_DRIVING_POLICY_AVOID_HIGHWAYS];
  $("#yplresult").click(function(){
  map.clearOverlays();
  var i=$("#ypldriving_way select").val();
  search(start,end,routePolicy[i]);
  function search(start,end,route){ var driving = new BMap.DrivingRoute(map, {renderOptions:{map: map, autoViewport: true},policy: route});
  driving.search(start,end);}});
  4 结语
  当下,移动智能设备泛滥的情况下,越来越多的人都热衷于开发独立的移动应用,而HTML5技术也许将会成为独立移动应用的强有力的竞争者。它广而化之的网络标准,以及支持多设备跨平台应用的特性,受到大众的广泛青睐。而基于此而开发的网络地图,规避了多平台多操作系统的制约,将会是浏览器实现地理定位与导航的有效手段。不管你是想开发出传统网页进行信息展示平台交流还是想开发出视听结合多姿多彩的3D网络游戏,不论是PC客户端应用还是手持移动应用,HTML5都将是创新的主旋律。
  [参考文献]
  [1]孙鑫,付永杰.HTML5、CSS和JavaScript开发[M].北京:电子工业出版社,2012.
  [2]陆凌牛.HTML5与CSS3权威指南[M].北京:机械工业出版社,2013.
其他文献
摘要:随着网络视频公开课开放教育资源的普及共享,“爱课程”网络视频课日益受到广大高校师生的欢迎,对改变其学习方式,激发其学习热情,进而深化高校课堂教学改革产生了重要的积极作用。论文在对“爱课程”网络视频公开课的基和情况进行阐释的基础上,结合一门“名家名著导读与鉴赏”通识课程,分别从平行辅助学习模式、重合辅助学习模式和相交辅助学习模式对“爱课程”网络视频公开课在通识课程辅助教学中的共享应用进行了探究
期刊
摘 要:新世纪海峡上2012-2013年中国的天宫一号神九,神十两次载人交会对接成功(各两男一女宇航员)。神十空中授课。蛟龙号深水两次试验成功。2013-2014年“嫦娥三号”携“玉兔”登月成功。2014年“嫦娥五号”发射,着陆成功后,龙凤逞强程进均衡定理引理经济角度验证证明解决海峡上发误差发落差费马定理和七道国际数学难题。  关键词:程进均衡定理;误差发落差;数学难题  以白令海峡为中,直布罗陀
期刊
摘要:观望2014年,当代科技引领者苹果公司所发布的各项新品中,受关注程度最高的莫过于iPhone 6。在中国的三个苹果官网中,苹果大陆官网与苹果香港官网是点击量最高的两个网站。双方对于产品页面的译文也可谓是各有千秋、同时也各有瑕疵。文章从交际翻译的视角出发,就大陆官网与香港官网中iPhone 6产品宣传语及产品标题的译文进行批评与赏析。  关键词:交际翻译;苹果官网;iPhone;汉译;目的语读
期刊
摘 要:随着航空航天技术的发展,研究液体晃动显得越来越重要。液体晃动对飞行器燃油供给、飞行状态以及机体结构变形产生较大影响。如何准确模拟液面变化、计算液体对壁面的冲击力是目前存在的难点。针对这些问题,简要介绍了SPH方法的基本原理,对导弹油箱内燃油的晃动进行了仿真计算,模拟出液面变化。计算了液体重心位置的变化曲线,同时得到油箱与燃油之间的相互作用力,并对结果做出了分析。对导弹油箱内燃油晃动研究提供
期刊
摘 要:本文详细的介绍了中央人民广播电台第一、二、三套节目在陕西广播电视台广播总控中心机房如何利用内部切换、选择系统进行两路节目信号源(卫星、光缆)切换使用。保证了两路信号的正常工作,并提高了节目传输的安全性和可靠性。  关键词:音频分配放大器;模拟二切一分四;中星6B;阈值;信号失锁  中央人民广播电台第一、二、三套节目在陕西成功落地后,陕西广播电视台进行了转播和信号使用,除第一套节目直接进行传
期刊
摘 要:毕业设计是对高职学生学习成果、综合能力和自身素质的综合检验,本文通过对武威职业學院(以下简称“我院”)网络专业毕业设计的现状及存在问题进行分析,并提出了几点建议,以促进高职网络专业毕业设计质量的提升。  关键词:高职;毕业设计教学;思考  1 我院网络专业培养目标  网络技术专业主要培养面向信息系统集成、信息安全产品及应用软件开发、信息工程监理、IT产品销售与服务的企业,以及一般企事业单位
期刊
摘 要:随着计算机的发展,电子商务销售是一种新的模式,对于汽车销售实务课程而言,作为汽车技术服务与营销专业的核心课程之一,要求学生汽车销售顾问这一工作的实际工作能力。基于工作过程建立和开发理实一体化课程有助于培养学生的理论联系实践的能力,提高学生职业能力和职业素养。本文从实际岗位工作过程入手,对教学内容、教学方法和手段等方面作了初步研究探索。  关键词:工作过程;典型工作任务;课程开发  1 基于
期刊
摘 要:随着网络技术与通信技术的迅猛发展,广播电视业面临着新兴媒体的巨大挑战,应用新技术提升广电行业的核心竞争力已成为主流共识。频道互动系统实现了支持播出方对频道的快速改版、后台监控与插播等集中式的控制和多样化的营销要求,支持电视观众通过交互机顶盒等终端设备在电视上参与互动操作以及享受个性化服务。本文通过对深圳广电集团(新闻频率)频道互动系统的设计与实现,提出了频道互动系统的具体设计方案,主要介绍
期刊
摘 要:英国作为近代历史上的超级帝国,其殖民地遍及世界各地。形形色色的殖民地在大英帝国体系中扮演着不同的角色发挥着不同的作用,其独立后发展的历程也各不相同。本文将以北美殖民地和印度殖民地为案例来比较分析因地而异的殖民政策及其对殖民地发展历程所产生的影响。  关键词:直接统治;间接统治;北美;印度  1 北美、印度英属殖民地政策内容  1607年英国人在北美大陆建立了第一个殖民城市詹姆斯敦,开启了在
期刊
摘 要:行业院校应该充分依托优势资源,彰显专业特色,适应经济发展需要培养社会人才。本文以南京信息工程大学电子与信息工程学院为例,从创新理念培养、课程体系改革、局校合作及创新团队建设等方面探讨了气象行业工科院校学生创新能力培养的思路和方法,对具有相似背景工科院校学生创新能力培养具有借鉴意义。  关键词:行业院校;理念培养;课程体系;创新团队建设  胡锦涛总书记曾提出“建设创新型国家,加快转变经济发展
期刊