iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > html >HTML5地理位置与LBS应用开发的方法
  • 481
分享到

HTML5地理位置与LBS应用开发的方法

2024-04-02 19:04:59 481人浏览 八月长安
摘要

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

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

1. LBS应用开发示例

在5年前,我们不敢想象会有如此众多的供应商提供免费的电子地图服务,而现在,开发者拥有众多选择:阿里云电子地图,百度电子地图,新浪电子地图,谷歌电子地图等。这里我们演示的是阿里云电子地图。

下面表示一个典型的LBS服务,通过GPS,Wi-Fi或其他方式查找设备所在的位置信息,通过此信息,在方圆1000米的范围内查找所有的酒店,总共前10个酒店显示在地图上。

具体示例代码如下所示。

<html  xmlns = “ Http://www.w3.org/1999/xhtml” >

<head>

  <meta  charset = “ UTF-8”  />

  <title>定位功能</ title>

  <meta  http-equiv = “ pragma“  content = ” no-cache“  />

  <meta  name = ” viewport“  content = ”宽度=设备宽度,高度=设备高度,初始比例= 1.0,最小比例= 1.0,最大比例= 1.0 ,user-Scalable = no“  />

  <link  href = ” opera.CSS“  rel = ”stylesheet“  type = ” text / css“ />

  <script  src = “ http://api.ditu.aliyun.com/map.js”  type = “ text / javascript” >

</ script> <!-上面提到的是阿里云地图->

  <脚本 类型= “ text / javascript”  charset = “ utf-8”  src = “ foropera.js” >

</ script>

</ head>

<body>

  <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;“ >

   = “ helpme” 样式= “不透明度:0.9;位置:绝对; z-index:1000;顶部:100px;左侧:20px;显示:无;背景颜色:#333; -WEBkit-border-radius:15px;右侧:20px;“ >

    <center  style = “ margin-left:10px; margin-right:10px; border-bottom:1px#777 solid;” >

      <span  style = “ color:#fff; height:30px; line-height:60px; font-size:26px;” >定位功能</ span>

    </ center>

    <div  style = “ color:#ccc; font-size:18px; margin-left:20px; margin-right:20px; margin-top:16px;” >

    </ div> <br  />

    <center>

      <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>

    </ center> <br  />

  </ div>

  <div  id = “ help”  style = “ z-index:1000; position:absolute; left:0px; top:30px;” > </ div> <script  type = “ text / javascript” >

// <!

'helpme')。样式.display = 'none' ;

  }

  函数showhelp(){

  document.getElementById('helpme')。样式.display = '' ;

  }

  // ]] >

  </ script>

  <div  id = “ mapDiv”  style = “ width:480px; height:800px” > </ div>

  <div  id = “ lsResultDiv” > </ div> <script  type = “ text / javascript“ >

// <![CDATA [

  $('+ window.innerWidth + “ px; height:” + window.innerHeight + “

  px ”;

  function func_control(){

  alert('此处可以定制为某项功能');

  }

  Jla.require(“ Ali.Map.MapType.AliMobile”); //加载手机地图的功能

  Jla.onReady(onLoad);

  函数onLoad(){

  $('divLayer')。style.top =((window.innerHeight / 2)-20)+ “ px” ;

  $('divLayer').style.left =((window.innerWidth / 2)-150)+ “ px” ;

  $('divLayer').style。

  $('divLayer').innerHTML = '正在加载地图......' ;

  var hasGeolocation = !!(navigator.geolocation);

  if(!hasGeolocation){

  alert(“浏览器不支持Geolocation”);

  }

  var map,markers = [];

  var map = new AliMap(“ mapDiv”); //使用id为mapDiv的层创建一个地图对象

  AliEvent.addListener(map,  “ click”,function(){ //监听事件

  alert(“有人放置了地图。”);

  });

  localStorage.wd = “ 0” ; //如果没有获取到任何地理坐标,则直接替换为0

  localStorage.jd = “ 0” ;如果没有获取到任何地理坐标,则

  直接替换为0 showmap(localStorage.wd,localStorage.jd,localStorage.cx); //展示地图

  var geolocationOptions = {timeout:30000,enableHighAccuracy:true,maximumAge:5000};

  $('divLayer').innerHTML = '正在获取坐标......' ;

  navigator.geolocation.getCurrentPosition(geolocationSuccess,geolocationError,

  geolocationOptions);

  function geolocationSuccess(position){

  alert(“北纬:” + position.coords.latitude + “,东经:” + position.coords.longitude);

  //打开当前的经纬度坐标

  localStorage.wd = position.coords.latitude;

  localStorage.jd = position.coords.longitude;

  localStorage.cx = position.coords.heading;

  showmap(localStorage.wd,localStorage.jd,localStorage.cx); //展示地图

  }

  setInterval(function(){

  //每隔20秒重新刷新地图

  showmap(localStorage.wd,localStorage.jd,localStorage.cx);

  },20000);

  function geolocationError(err){

  switch(err.code){

  case 1:

  $('divLayer').innerHTML = '坐标获取被拒绝,地图加载失败' ;

  休息;

  情况2:

  $('divLayer')。innerHTML = '连不上GPS卫星或网络断了' ;

  休息;

  情况3:

  $('divLayer').innerHTML = ';

  休息;

  默认值:

  $('divLayer').innerHTML = '发生严重异常,请刷新页面' ;

  休息;

  }

  }

  函数showmap(wd,jd,cx){

  $('divLayer').innerHTML = '正在展示数据......' ;

  //在该坐标处创建一个标记

  var MAPMAP = new AliLatLng(localStorage.wd,localStorage.jd);

  if(cx === null){

  alert('对不起,取不到当前朝向');

  }

  yycontrol = new AliMapOverviewControl({open:true}); //创建一个鹰眼控件

  map.addControl(yycontrol); //将鹰眼控件添加到地图

  //设置调用的地图类型为手机版地图

  map.setMapType(new(Jla.get(“ Ali.Map.MapType.AliMobile”))());

  map.centerAndZoom(MAPMAP,14); //定位地图

  search =新的AliLocalSearch(); //设置搜索结果处理函数

  AliEvent.addListener(search,“ searchcomplete”,onSearchComplete);

  AliEvent.addListener(search,“ searchexception ”,onSearchException);

  var search_keyWord = “酒店” ;

  var search_radius = 1000; //搜索

  国会是1000米search.keyword = search_keyword; //设置关键字

  search.pageSize = 10; //设置返回结果数量

  search.center = map.getCenter();

  search.execute(); //开始搜索

  marker = new AliMarker(MAPMAP); //将标记添加到地图

  //创建事件监视器,在MapMove函数

  map.openInfoWindow(MAPMAP,'我的位置','<div>附近的蓝点,是方圆

  '+ search_radius +'米内的'+ search_keyword +' < \ / div> ');

  var icons = [

  newAliIcon(“ icon1.gif”,{x:16,y:27},{x:8,y:27}),

  newAliIcon(“ icon2.png”,{x:23,y:29} ,{x:13,y:14}),

  newAliIcon(“ icon3.png”,{x:49,y:59},{x:24,y:56})

  ]];

  marker.setIcon(icons [1]);

  map.addOverlay(marker);

  椭圆形=新

  AliOvalOverlay(map.getProjection()。getSquare(MAPMAP,search_

  radius),{editSymbolCtl:128}); //以中心为中心,3000米为直径的圆

  map.addOverlay(oval);

  椭圆形。开始编辑({keepRatio:true});

  椭圆形.endEditting({keepRatio:true});

  函数onSearchException(exception){

  alert(exception.message);

  }

  函数onSearchComplete(){  //处理搜索结果

  变量标记,resultDiv = document.getElementById(“ lsResultDiv”);

  AliEvent.deposenode(resultDiv,true);

  while(marker = markers.pop()){

  map.removeOverlay(marker);

  }

  for(var i = 0; i < search.points.length; i++){

  var  poi = search.points [ i ];

  标记=新AliMarker(poi.latlng,{标题:POI名称});

  映射.addOverlay(marker);

  //将标记的信息浮窗内容记录下来

  marker._desc = “我是第” +(i + 1)+ “个” + search_keyword;

  AliEvent.bind(marker,  “ click”  ,marker,onMarkerclick);

  markers.push(marker);

  }

  }

  函数onMarkerclick(){

  //确保信息浮窗在视图范围内

  无功 infowin = this.openInfoWindow(此。标题,this._desc);

  infowin.moveIntoView();

  }

  $('divLayer').innerHTML = “” ;

  $('divLayer')。样式.top = “ 0px” ;

  $('divLayer')。样式.left = “ 0px” ;

  $('divLayer')。风格。width = “ 0px” ;

  $('divLayer')。样式.display = 'none' ;

  }

  }

  // ]] >

  </ script>

</ body>

关于“HTML5地理位置与LBS应用开发的方法”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注编程网html频道,小编每天都会为大家更新不同的知识点。

--结束END--

本文标题: HTML5地理位置与LBS应用开发的方法

本文链接: https://www.lsjlt.com/news/92564.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • HTML5地理位置与LBS应用开发的方法
    这篇文章主要介绍“HTML5地理位置与LBS应用开发的方法”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“HTML5地理位置与LBS应用开发的方法”文章能帮助大家解决...
    99+
    2024-04-02
  • html5中地理位置定位api接口开发应用
    这篇文章主要介绍“html5中地理位置定位api接口开发应用”,在日常操作中,相信很多人在html5中地理位置定位api接口开发应用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解...
    99+
    2024-04-02
  • HTML5的地理位置功能怎么用
    这篇文章主要讲解了“HTML5的地理位置功能怎么用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“HTML5的地理位置功能怎么用”吧! 这是一个 HTML5...
    99+
    2024-04-02
  • HTML5地理定位返回数据的方法
    这篇文章主要讲解了“HTML5地理定位返回数据的方法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“HTML5地理定位返回数据的方法”吧!   &...
    99+
    2024-04-02
  • 如何使用MongoDB开发一个基于地理位置的应用系统
    如何使用MongoDB开发一个基于地理位置的应用系统在当今互联网应用的发展中,越来越多的应用需要基于地理位置信息进行开发,例如附近的人、附近的商家等等。MongoDB作为一款非关系型数据库,具有丰富的地理位置支持,可以提供方便、高效的地理位...
    99+
    2023-10-22
    MongoDB 地理位置 应用系统
  • html5开发中viewport的使用方法
    这篇文章给大家介绍html5开发中viewport的使用方法,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。随着高端手机(Andriod,Iphone,Ipod,WinPhone等)的盛...
    99+
    2024-04-02
  • linux下显示IP地理位置的方法
    本篇内容主要讲解“linux下显示IP地理位置的方法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“linux下显示IP地理位置的方法”吧!一、简介  nali,名字取自中文“哪里”的拼音。nal...
    99+
    2023-06-12
  • SpringBoot使用ip2region获取地理位置信息的方法
    目录1、简介2、引入依赖3、测试4、测试结果1、简介 ip2region,准确率99.9%的离线IP地址定位库,0.0x毫秒级查询,数据库文件大小只有1.5M,提供了java,php...
    99+
    2024-04-02
  • HTML5中地理定位与第三方工具百度地图如何结合使用
    这篇文章给大家分享的是有关HTML5中地理定位与第三方工具百度地图如何结合使用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。一、HTML5的新特性--地理定位既然地理定位是HTM...
    99+
    2024-04-02
  • 应用与发展前景的快速静态定位方法
    快速静态定位方法的应用与发展前景 摘要:快速静态定位方法是一种利用多传感器数据进行目标定位的方法。本文将介绍快速静态定位方法的基本原理及其在实际应用中的具体示例。同时,还探讨了该方法的发展前景。 一、引言在无人机、机器人、自动驾...
    99+
    2024-01-18
    发展前景 静态定位 快速定位
  • 小程序开发中如何获取当前的地理位置、速度
    这篇文章主要为大家展示了小程序开发中如何获取当前的地理位置、速度,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带大家一起来研究并学习一下“小程序开发中如何获取当前的地理位置、速度”这篇文章吧。获取当前的地理位置、速度。当用户...
    99+
    2023-06-26
  • 如何使用Redis和Objective-C开发实时地理位置跟踪功能
    如何使用Redis和Objective-C开发实时地理位置跟踪功能地理位置跟踪功能已成为许多应用程序不可或缺的一部分,例如实时位置共享、打车应用和社交媒体等。在移动应用程序中实现实时地理位置跟踪功能面临许多挑战,例如数据存储、定位服务和数据...
    99+
    2023-10-22
    redis Objective-C 实时地理位置跟踪
  • Android开发:RecyclerView获取item位置的几种方法比较
    一.前言         当使用 RecyclerView 来展示列表数据时,获取 item 的位置是一个常见的需求。RecyclerView 提供了多种获取 item 位置的方法,包括 getAdapterPosition()、getBi...
    99+
    2023-09-09
    android android studio ide
  • Rainbond应用分享与发布的方法
    这篇文章主要介绍“Rainbond应用分享与发布的方法”,在日常操作中,相信很多人在Rainbond应用分享与发布的方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Rainbond应用分享与发布的方法”的疑...
    99+
    2023-06-30
  • html5本地存储中的localstorage和本地数据库与sessionStorage的使用方法
    这篇文章给大家介绍html5本地存储中的localstorage和本地数据库与sessionStorage的使用方法,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。html5的一个非常c...
    99+
    2024-04-02
  • WebSocket在实时地理位置共享应用中的应用案例和技巧
    WebSocket是一种网络通信协议,它提供了在客户端和服务器之间实时、双向通信的能力。这使得WebSocket成为实时地理位置共享应用的理想选择。本文将介绍一些应用案例和技巧,并附上具体的代码示例。一、应用案例实时地理位置共享应用主要用于...
    99+
    2023-10-21
    技巧 应用案例 实时 地理位置共享 关键词:WebSocket
  • div width应用与width设置的方法
    本文小编为大家详细介绍“div width应用与width设置的方法”,内容详细,步骤清晰,细节处理妥当,希望这篇“div width应用与width设置的方法”文章能帮助大家解决疑惑,下面跟着小编的思路慢...
    99+
    2024-04-02
  • Android开发实现popupWindow弹出窗口自定义布局与位置控制方法
    本文实例讲述了Android开发实现popupWindow弹出窗口自定义布局与位置控制方法。分享给大家供大家参考,具体如下:布局文件:主布局文件:activity_main:<?xml version="1.0" encodi...
    99+
    2023-05-30
    android popupwindow 弹出窗口
  • Android开发之Kotlin委托的原理与使用方法是什么
    今天小编给大家分享一下Android开发之Kotlin委托的原理与使用方法是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧...
    99+
    2023-07-05
  • GO语言开发的新趋势:实时函数的应用与实现方法
    随着计算机技术的不断发展,实时数据处理变得越来越重要。越来越多的应用需要实时响应数据,并根据数据做出决策。为了满足这些需求,开发人员需要使用新的技术和工具来实现实时数据处理。其中,实时函数是一种非常有用的技术,特别是在应用程序中处理数据时。...
    99+
    2023-08-17
    响应 实时 函数
软考高级职称资格查询
推荐阅读
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作