Geolocation 实例demo

1.使用watchPosition()监听客户端位置

  1. var watchOne=null;
  2. if (navigator.geolocation) {
  3. //watchPosition()---用于监听客户端位置
  4. //此方法没有固定的时间间隔,尤其在PC端很多时候会获取位置出错
  5. //在监听的过程中有时也会出错,在PC端很多时候从https://www.googleapis.com/获取位置信息
  6. //在火狐中关于位置的描述:https://www.mozilla.org/zh-CN/firefox/geolocation/,也是使用Google的位置服务
  7. //在IE中的没整理
  8. watchOne= navigator.geolocation.watchPosition(successCB,errorCB);
  9. } else {
  10. console.log('你的浏览器不支持地理定位');
  11. }
  12. //清空监听
  13. function clear(){
  14. navigator.geolocation.clearWatch(watchOne);
  15. }
  16. //获取地理位置成功
  17. function successCB(position) {
  18. console.info(position);
  19. console.log('位置精度:'+position.coords.accuracy);
  20. console.log('维度:'+position.coords.latitude);
  21. console.log('经度:'+position.coords.longitude);
  22. }
  23. //获取地理位置失败
  24. function errorCB(error) {
  25. console.error(error);
  26. }

微信WebView监听如下:

2.getCurrentPosition() 获取客户端位置,并显示到百度地图

  1. <div id="container" style='width:500px;height:300px;'></div>
  2. <script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=BPr36B36O2I3dEumnp3TQ8AX"></script>

js代码

  1. if (navigator.geolocation) {
  2. navigator.geolocation.getCurrentPosition(successCB, errorCB);
  3. } else {
  4. console.log('你的浏览器不支持地理定位');
  5. }
  6. //获取地理位置成功
  7. function successCB(position) {
  8. console.info(position.coords);
  9. var latitude = position.coords.latitude;
  10. var longitude = position.coords.longitude;
  11. //显示到百度地图
  12. var map = new BMap.Map("container"); // 创建地图实例
  13. var point = new BMap.Point(longitude, latitude); // 创建点坐标
  14. map.centerAndZoom(point, 10); // 初始化地图,设置中心点坐标和地图级别
  15. addMarker(point,0);
  16. //添加标注
  17. function addMarker(point, index) { // 创建图标对象
  18. // 创建标注对象并添加到地图
  19. var marker = new BMap.Marker(point, {
  20. //icon: myIcon
  21. });
  22. map.addOverlay(marker);
  23. }
  24. }
  25. //获取地理位置失败
  26. function errorCB(error) {
  27. console.error(error);
  28. }

更多:

HTML5 Geolocation API地理定位整理(一)

HTML5 离线缓存详解(转)

HTML5 History对象,Javascript修改地址栏而不刷新页面(二)

HTML5 Geolocation API地理定位整理(二)的更多相关文章

  1. HTML5 Geolocation API地理定位整理(一)

    HTML5 Geolocation API 用于获得用户的地理位置. 鉴于该特性可能侵犯用户的隐私,除非用户同意,否则用户位置信息是不可用的. 浏览器支持 Internet Explorer 9+, ...

  2. HTML5: HTML5 Geolocation(地理定位)

    ylbtech-HTML5: HTML5 Geolocation(地理定位) 1.返回顶部 1. HTML5 Geolocation(地理定位) HTML5 Geolocation(地理定位)用于定位 ...

  3. HTML5 Geolocation(地理定位)

    一.背景 在HTML规范中,增加了获取用户地理信息的API,这样使得可以基于用户位置开发互联网应用,即基于位置服务 鉴于该特性可能侵犯用户的隐私,除非用户同意,否则用户位置信息是不可用的. Inter ...

  4. HTML5 学习06——Geolocation(地理定位)

    HTML5 Geolocation(地理定位) HTML5 Geolocation API 用于获得用户的地理位置. 鉴于该特性可能侵犯用户的隐私,除非用户同意,否则用户位置信息是不可用的. HTML ...

  5. HTML5学习笔记 Geolocation(地理定位)

    HTML5 Geolocation(地理定位)用于定位用户的位置. 定位用户的位置 html5 Geolocation API用于获得用户的地理位置 鉴于该特性可能低侵犯用户的隐私,除非用户同意,否则 ...

  6. HTML5 调用百度地图API地理定位

    <!DOCTYPE html> <html> <title>HTML5 HTML5 调用百度地图API地理定位实例</title> <head&g ...

  7. HTML5 Geolocation API工作原理[转载]

    大家都知道,HTML5 Geolocation 可以使用 IP 地址.基于 Web 的数据库.无线网络连接和三角测量或 GPS 技术来确定经度和纬度. 问题: 在一个基于地理位置服务的个人业余项目(小 ...

  8. HTML5 Geolocation用来定位用户的位置。

    HTML5 Geolocation用来定位用户的位置. 定位用户的位置 HTMl5 Geolocation API用来得到用户的地理位置. 由于这个可能和个人隐私相关.除非用户同意否则不能使用. 浏览 ...

  9. HTML5学习(七)----地理定位

    参考教程:http://www.w3school.com.cn/html5/html_5_geolocation.asp 说明:设备必须有GPS定位功能才能定位的 定位用户的位置 HTML5 Geol ...

随机推荐

  1. kaldi 三个脚本cmd.sh path.sh run.sh

    参考   kaldi 的全部资料_v0.4 cmd.sh 脚本为: 可以很清楚的看到有 3 个分类分别对应 a,b,c.a 和 b 都是集群上去运行这个样子, c 就是我们需要的.我们在虚拟机上运行的 ...

  2. 【AtCoder】ARC091

    C - Flip,Flip, and Flip...... 只有一个这一个是反面 只有一行那么除了两边以外都是反面 否则输出\((N - 2)*(M - 2)\) #include <bits/ ...

  3. spring中注册bean(通过代码动态注册)

    看公司的源代码,在一个类中使用到了BeanDefinitionBuilder这个类,在学习之后才知道在项目中可能没有注册bean,在使用的时候才会进行注册,就涉及到了动态bean的注册,所以,在文章中 ...

  4. 利用angular指令监听ng-repeat渲染完成后执行脚本

    业务中有时需要在异步获取数据并用ng-repeat遍历渲染完页面后执行某个操作,angular本身并没有提供监听ng-repeat渲染完成的指令,所以需要自己动手写.有经验的同学都应该知道,在ng-r ...

  5. 【BZOJ 4819】 4819: [Sdoi2017]新生舞会 (0-1分数规划、二分+KM)

    4819: [Sdoi2017]新生舞会 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 601  Solved: 313 Description 学校 ...

  6. Android activity之间数据传递和共享的方式之Application

    1.基于消息的通信机制  Intent ---bundle ,extra 数据类型有限,比如遇到不可序列化的数据Bitmap,InputStream,或者LinkedList链表等等数据类型就不太好用 ...

  7. BZOJ3779 : 重组病毒

    一个点的感染时间为它到根路径上虚边数+1. 用Link-Cut Tree模拟虚实边切换,每次切换时等价于在一段或两段DFS序区间更新,线段树维护即可. 时间复杂度$O(n\log^2n)$. #inc ...

  8. CentOS 7 上安装vim 解決 centos -bash: vim: command not found

    用CentOS上使用vim竟然用不了,报错没有该命令 centos -bash: vim: command not found 那么如何安裝 vim 呢? ---------------------- ...

  9. 老菜鸟致青春,程序员应该选择java 还是 c#-

    致青春 还记得自己那年考清华失败,被调剂到中科大软院,当初有几个方向可以选,软件设计.嵌入式.信息安全等等,毫不犹豫地选择了信息安全. 为什么选信息安全?这四个字听起来多牛多有感觉,我本科是学物理的, ...

  10. mysql函数的使用

    最近总感觉sql语句不对劲,所以就看了一些官方文档发现了一些以前没有注意的函数:感觉在查询的时候可以用得上,毕竟是内置函数,用起来效率应该会好一些的: FIND_IN_SET(str,strlist) ...