HTML5地理位置与LBS应用开发的方法
这篇文章主要介绍“HTML5地理位置与LBS应用开发的方法”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“HTML5地理位置与LBS应用开发的方法”文章能帮助大家解决问题。

香洲网站建设公司创新互联,香洲网站设计制作,有大型网站制作公司丰富经验。已为香洲数千家提供企业网站建设服务。企业网站搭建\成都外贸网站建设公司要多少钱,请找那个售后服务好的香洲做网站的公司定做!
1. LBS应用开发示例
在5年前,我们不敢想象会有如此众多的供应商提供免费的电子地图服务,而现在,开发者拥有众多选择:阿里云电子地图,百度电子地图,新浪电子地图,谷歌电子地图等。这里我们演示的是阿里云电子地图。
下面表示一个典型的LBS服务,通过GPS,Wi-Fi或其他方式查找设备所在的位置信息,通过此信息,在方圆1000米的范围内查找所有的酒店,总共前10个酒店显示在地图上。
具体示例代码如下所示。
定位功能</ title></p><p> <meta http-equiv = “ pragma“ content = ” no-cache“ /></p><p> <meta name = ” viewport“ content = ”宽度=设备宽度,高度=设备高度,初始比例= 1.0,最小比例= 1.0,最大比例= 1.0 ,user-scalable = no“ /></p><p> <link href = ” opera.css“ rel = ”stylesheet“ type = ” text / css“ /></p><p> <script src = “ http://api.ditu.aliyun.com/map.js” type = “ text / javascript” ></p><p></ script> <!-上面提到的是阿里云地图-></p><p> <脚本 类型= “ text / javascript” charset = “ utf-8” src = “ foropera.js” ></p><p></ script></p><p></ head></p><p><body></p><p> <div id = “ divLayer” 样式= “ background-color:#333 ; font-size:20px; color:#FFF; margin-top:200px; margin -left:0px; text-align:center; height:40px; line-height:40px;“ ></p><p> = “ helpme” 样式= “不透明度:0.9;位置:绝对; z-index:1000;顶部:100px;左侧:20px;显示:无;背景颜色:#333; -webkit-border-radius:15px;右侧:20px;“ ></p><p> <center style = “ margin-left:10px; margin-right:10px; border-bottom:1px#777 solid;” ></p><p> <span style = “ color:#fff; height:30px; line-height:60px; font-size:26px;” >定位功能</ span></p><p> </ center></p><p> <div style = “ color:#ccc; font-size:18px; margin-left:20px; margin-right:20px; margin-top:16px;” ></p><p> </ div> <br /></p><p> <center></p><p> <button onclick = “ hiddeDiv('helpme')”“ style = ” opacity:1; background-color:#777; border:0px; height:35px; line-height:25px ; color:#eee; width:140px; font-size:18px; -webkit-border-radius:5px;“ >关闭提示</ button></p><p> </ center> <br /></p><p> </ div></p><p> <div id = “ help” style = “ z-index:1000; position:absolute; left:0px; top:30px;” > </ div> <script type = “ text / javascript” ></p><p>// <!</p><p>'helpme')。样式.display = 'none' ;</p><p> }</p><p> 函数showhelp(){</p><p> document.getElementById('helpme')。样式.display = '' ;</p><p> }</p><p> // ]] ></p><p> </ script></p><p> <div id = “ mapDiv” style = “ width:480px; height:800px” > </ div></p><p> <div id = “ lsResultDiv” > </ div> <script type = “ text / javascript“ ></p><p>// <![CDATA [</p><p> $('+ window.innerWidth + “ px; height:” + window.innerHeight + “</p><p> px ”;</p><p> function func_control(){</p><p> alert('此处可以定制为某项功能');</p><p> }</p><p> Jla.require(“ Ali.Map.MapType.AliMobile”); //加载手机地图的功能</p><p> Jla.onReady(onLoad);</p><p> 函数onLoad(){</p><p> $('divLayer')。style.top =((window.innerHeight / 2)-20)+ “ px” ;</p><p> $('divLayer').style.left =((window.innerWidth / 2)-150)+ “ px” ;</p><p> $('divLayer').style。</p><p> $('divLayer').innerHTML = '正在加载地图......' ;</p><p> var hasGeolocation = !!(navigator.geolocation);</p><p> if(!hasGeolocation){</p><p> alert(“浏览器不支持Geolocation”);</p><p> }</p><p> var map,markers = [];</p><p> var map = new AliMap(“ mapDiv”); //使用id为mapDiv的层创建一个地图对象</p><p> AliEvent.addListener(map, “ click”,function(){ //监听事件</p><p> alert(“有人放置了地图。”);</p><p> });</p><p> localStorage.wd = “ 0” ; //如果没有获取到任何地理坐标,则直接替换为0</p><p> localStorage.jd = “ 0” ;如果没有获取到任何地理坐标,则</p><p> 直接替换为0 showmap(localStorage.wd,localStorage.jd,localStorage.cx); //展示地图</p><p> var geolocationOptions = {timeout:30000,enableHighAccuracy:true,maximumAge:5000};</p><p> $('divLayer').innerHTML = '正在获取坐标......' ;</p><p> navigator.geolocation.getCurrentPosition(geolocationSuccess,geolocationError,</p><p> geolocationOptions);</p><p> function geolocationSuccess(position){</p><p> alert(“北纬:” + position.coords.latitude + “,东经:” + position.coords.longitude);</p><p> //打开当前的经纬度坐标</p><p> localStorage.wd = position.coords.latitude;</p><p> localStorage.jd = position.coords.longitude;</p><p> localStorage.cx = position.coords.heading;</p><p> showmap(localStorage.wd,localStorage.jd,localStorage.cx); //展示地图</p><p> }</p><p> setInterval(function(){</p><p> //每隔20秒重新刷新地图</p><p> showmap(localStorage.wd,localStorage.jd,localStorage.cx);</p><p> },20000);</p><p> function geolocationError(err){</p><p> switch(err.code){</p><p> case 1:</p><p> $('divLayer').innerHTML = '坐标获取被拒绝,地图加载失败' ;</p><p> 休息;</p><p> 情况2:</p><p> $('divLayer')。innerHTML = '连不上GPS卫星或网络断了' ;</p><p> 休息;</p><p> 情况3:</p><p> $('divLayer').innerHTML = ';</p><p> 休息;</p><p> 默认值:</p><p> $('divLayer').innerHTML = '发生严重异常,请刷新页面' ;</p><p> 休息;</p><p> }</p><p> }</p><p> 函数showmap(wd,jd,cx){</p><p> $('divLayer').innerHTML = '正在展示数据......' ;</p><p> //在该坐标处创建一个标记</p><p> var MAPMAP = new AliLatLng(localStorage.wd,localStorage.jd);</p><p> if(cx === null){</p><p> alert('对不起,取不到当前朝向');</p><p> }</p><p> yycontrol = new AliMapOverviewControl({open:true}); //创建一个鹰眼控件</p><p> map.addControl(yycontrol); //将鹰眼控件添加到地图</p><p> //设置调用的地图类型为手机版地图</p><p> map.setMapType(new(Jla.get(“ Ali.Map.MapType.AliMobile”))());</p><p> map.centerAndZoom(MAPMAP,14); //定位地图</p><p> search =新的AliLocalSearch(); //设置搜索结果处理函数</p><p> AliEvent.addListener(search,“ searchcomplete”,onSearchComplete);</p><p> AliEvent.addListener(search,“ searchexception ”,onSearchException);</p><p> var search_keyword = “酒店” ;</p><p> var search_radius = 1000; //搜索</p><p> 国会是1000米search.keyword = search_keyword; //设置关键字</p><p> search.pageSize = 10; //设置返回结果数量</p><p> search.center = map.getCenter();</p><p> search.execute(); //开始搜索</p><p> marker = new AliMarker(MAPMAP); //将标记添加到地图</p><p> //创建事件监视器,在MapMove函数</p><p> map.openInfoWindow(MAPMAP,'我的位置','<div>附近的蓝点,是方圆</p><p> '+ search_radius +'米内的'+ search_keyword +' < \ / div> ');</p><p> var icons = [</p><p> newAliIcon(“ icon1.gif”,{x:16,y:27},{x:8,y:27}),</p><p> newAliIcon(“ icon2.png”,{x:23,y:29} ,{x:13,y:14}),</p><p> newAliIcon(“ icon3.png”,{x:49,y:59},{x:24,y:56})</p><p> ]];</p><p> marker.setIcon(icons [1]);</p><p> map.addOverlay(marker);</p><p> 椭圆形=新</p><p> AliOvalOverlay(map.getProjection()。getSquare(MAPMAP,search_</p><p> radius),{editSymbolCtl:128}); //以中心为中心,3000米为直径的圆</p><p> map.addOverlay(oval);</p><p> 椭圆形。开始编辑({keepRatio:true});</p><p> 椭圆形.endEditting({keepRatio:true});</p><p> 函数onSearchException(exception){</p><p> alert(exception.message);</p><p> }</p><p> 函数onSearchComplete(){ //处理搜索结果</p><p> 变量标记,resultDiv = document.getElementById(“ lsResultDiv”);</p><p> AliEvent.deposeNode(resultDiv,true);</p><p> while(marker = markers.pop()){</p><p> map.removeOverlay(marker);</p><p> }</p><p> for(var i = 0; i < search.points.length; i++){</p><p> var poi = search.points [ i ];</p><p> 标记=新AliMarker(poi.latlng,{标题:POI名称});</p><p> 映射.addOverlay(marker);</p><p> //将标记的信息浮窗内容记录下来</p><p> marker._desc = “我是第” +(i + 1)+ “个” + search_keyword;</p><p> AliEvent.bind(marker, “ click” ,marker,onMarkerclick);</p><p> markers.push(marker);</p><p> }</p><p> }</p><p> 函数onMarkerclick(){</p><p> //确保信息浮窗在视图范围内</p><p> 无功 infowin = this.openInfoWindow(此。标题,this._desc);</p><p> infowin.moveIntoView();</p><p> }</p><p> $('divLayer').innerHTML = “” ;</p><p> $('divLayer')。样式.top = “ 0px” ;</p><p> $('divLayer')。样式.left = “ 0px” ;</p><p> $('divLayer')。风格。width = “ 0px” ;</p><p> $('divLayer')。样式.display = 'none' ;</p><p> }</p><p> }</p><p> // ]] ></p><p> </ script></p><p></ body></p><p>关于“HTML5地理位置与LBS应用开发的方法”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注创新互联行业资讯频道,小编每天都会为大家更新不同的知识点。</p>
<br>
名称栏目:HTML5地理位置与LBS应用开发的方法 <br>
文章转载:<a href="http://myzitong.com/article/gphhhs.html">http://myzitong.com/article/gphhhs.html</a>
</div>
</div>
<div class="contentr fr">
<h3>其他资讯</h3>
<ul>
<li>
<a href="/article/ddiicoe.html">wordpress换主机 wordpress怎么迁移网站</a>
</li><li>
<a href="/article/ddiiddd.html">路由器连电脑 荣耀路由器连电脑</a>
</li><li>
<a href="/article/ddiidhp.html">腾讯云售服务器 腾讯云服务器便宜吗</a>
</li><li>
<a href="/article/ddiidhj.html">zblog置顶摘要 置顶标签</a>
</li><li>
<a href="/article/ddiidhg.html">百度免费服务器安全 百度免费服务器安全吗</a>
</li> </ul>
</div>
</div>
</div>
<!--底部-->
<footer>
<div class="foot">
<div class="container">
<h1>梓潼大橙子建站您身边的网站制作服务商</h1>
<div class="foot1">
<ul>
<li>
<dl><i class="iconfont"></i><b>地址ADDRESS</b></dl>
<p>四川-成都青羊区太升南路288号<br>
锦天国际A座10楼
</p>
</li>
<li>
<dl><i class="iconfont"></i><b>电话/TEL</b></dl>
<p><a href="tel:02886922220" target="_blank">028 86922220</a> (工作日)<br>
<a href="tel:18980820575" target="_blank">1898082 0575</a> ( 7x24 )
</p>
</li>
<li>
<dl><i class="iconfont"></i><b>QQ咨询</b></dl>
<p> 244261566 (售前)<br>
631063699 (售后)
</p>
</li>
<li>
<dl><i class="iconfont"></i><b>邮箱/E: mail</b></dl>
<p> service@cdcxhl.com (业务)<br>
hr@cdcxhl.com (求职)
</p>
</li>
</ul>
</div>
<div class="link">
友情链接:
<a href="http://www.scyanting.com/" title="盐亭网站设计" target="_blank">盐亭网站设计</a> <a href="https://www.cdcxhl.com/ssl/chengdu.html" title="域名ssl证书" target="_blank">域名ssl证书</a> <a href="http://www.cqcxhl.com/service/" title="高端网站定制" target="_blank">高端网站定制</a> <a href="http://www.36103.cn/baojia/" title="网站设计制作报价" target="_blank">网站设计制作报价</a> <a href="http://www.bzwzjz.com/serve/" title="专业网站设计" target="_blank">专业网站设计</a> <a href="http://www.whxishu.com/" title="led电子产品" target="_blank">led电子产品</a> <a href="https://www.cdcxhl.com/" title="成都网站制作" target="_blank">成都网站制作</a> <a href="http://www.cdhuace.com/baozhuang.html" title="产品包装设计" target="_blank">产品包装设计</a> <a href="http://www.pswzsj.com/" title="成都展台设计" target="_blank">成都展台设计</a> <a href="https://www.cdcxhl.com/tuoguan/dianxin/" title="绵阳服务器托管" target="_blank">绵阳服务器托管</a> </div>
</div>
</div>
<div class="copy container">
Copyright