H5 API 地理定位

地理定位在日常生活中应用比较广泛,例如,互联网打车、在线地图等。在HTML 5的规范中,增加了获取用户地理位置信息的接口Geolocation,开发者可以通过经纬度来获取用户的地理位置信息,Geolocation接口的特点如下。

  • Geolocation接口封装了获取位置信息的技术细节。
  • 开发者不需要关心信息的来源,只需关注如何使用即可,这极大地简化了开发的难度。
  • 目前,该接口已经得到了大部分浏览器的支持,如Firefox、IE 9、Opera、Safari和Chrome等。
  • 对于拥有GPS的设备,定位会更加准确,如iPhone和Android手机等。

navigator.geolocation对象提供了getCurrentPosition()方法来获取当前地理位置。

其中,navigator是浏览器的内置对象。

getCurrentPosition()方法被调用时,会发起一个异步请求,浏览器会去调用底层的硬件来更新当前的位置信息。

position对象中的coords属性包含的信息如表所示。

属性名 描述
latitude 十进制表示的纬度坐标
longitude 十进制表示的经度坐标
accuracy 当前经纬度信息的精度(单位米)
altitude 海拔高度(单位米)
altitudeAccuracy 当前海拔高度的精度
heading 当前设备的朝向(以弧度为单位),从正北开始计算

获取当前位置

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head><body><p id="demo">获得您的坐标:</p><button onclick="getLocation()">试一下</button><script>var x = document.getElementById('demo');function getLocation() {if (navigator.geolocation) {navigator.geolocation.getCurrentPosition(showPosition, showError);} else {x.innerHTML = '当前浏览器不支持地理定位';}}// 获取定位成功,显示位置信息function showPosition(position) {x.innerHTML ='Latitude(纬度): ' + position.coords.latitude + // 纬度'<br>Longitude(经度): ' + position.coords.longitude; // 经度}// 获取定位失败,显示错误信息function showError(error) {switch (error.code) {case error.PERMISSION_DENIED:x.innerHTML = '用户拒绝地理定位请求';break;}}</script>
</body></html>

为了查看获取定位后的效果,我们可以手动设置一个虚拟的位置,单击开发者工具右上角的“︙”按钮,选择“More tools”-“Sensors”(传感器),然后在Geolocation对应的下拉菜单中选择“Shanghai”

调用百度全景地图

百度地图开放平台 | 百度地图API SDK | 地图开发 (https://lbsyun.baidu.com/)

<!DOCTYPE html>
<html>
<head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><meta name="viewport" content="initial-scale=1.0, user-scalable=no" /><style type="text/css">body, html,#allmap {width: 100%;height: 100%;overflow: hidden;margin:0;font-family:"微软雅黑";}</style><script type="text/javascript" src="//api.map.baidu.com/api?v=2.0&ak=您的密钥"></script><title>地图展示</title>
</head>
<body><div id="allmap"></div>
</body>
</html>
<script type="text/javascript">// 百度地图API功能var map = new BMap.Map("allmap");    // 创建Map实例map.centerAndZoom(new BMap.Point(116.404, 39.915), 11);  // 初始化地图,设置中心点坐标和地图级别//添加地图类型控件map.addControl(new BMap.MapTypeControl({mapTypes:[BMAP_NORMAL_MAP,BMAP_HYBRID_MAP]}));      map.setCurrentCity("北京");          // 设置地图显示的城市 此项是必须设置的map.enableScrollWheelZoom(true);     //开启鼠标滚轮缩放
</script>

自己去申请密钥,并替换在上述代码中

制作地图名片

百度地图名片 (http://api.map.baidu.com/mapCard/)

【前端】【H5 API】地理定位(获取经纬度)相关推荐

  1. Android百度定位获取经纬度

    Android百度定位获取经纬度 一.百度定位误差问题:参考一片文章 http://blog.csdn.net/shaoyezhangliwei/article/details/44830301 1. ...

  2. android 高德地图定位获取经纬度

    android 高德地图定位获取经纬度 之前开发定位都是集成百度的,领导说要用高德的,没办法干吧,官方的文档太详细了看着真累. 我们得先去官网注册开发者账号,创建应用,填写自己项目的包名和SHA1, ...

  3. Android系统定位获取经纬度

    Android系统定位获取经纬度 直接上代码 public class LocaltionUtil {private double latitude = 0.0;private double long ...

  4. 前端web用腾讯地图api根据地址获取经纬度

    需求:使用腾讯地图,通过输入的地址获取经纬度 1.先引入腾讯地图,参考https://blog.csdn.net/l13620804253/article/details/117254651 2.要调 ...

  5. reactnative 获取定位_【React Native】定位获取经纬度,当前城市等地址信息

    最近做React Native时,需要用到城市定位的功能,React Native中文网的定位部分中也提供了相应的方法.主要用到的方法有: 这里只需要获取到经纬度,城市等信息,持续监听的函数就不需要了 ...

  6. 百度地图API调用实现获取经纬度以及标注

    一.申请AK 百度搜索百度地图API,进入官网文档,按照官网文档提示注册百度账号并申请AK.申请AK 填写相关信息,应用名称随意.应用类型根据协议来选择. 二.编写代码 根据官网的代码(入门引用和获取 ...

  7. vue - vue使用腾讯api进行定位获取,绘制地图、标点、搜索、路线规划

    章节目录 1,前言 2,准备 3,开始引入api 4,获取定位 5,绘制地图和标点 6,关键字搜索功能 7,驾车线路规划 8,两点经纬度的直线距离计算 9,使用过程中的一些常见问题 10,参考链接 1 ...

  8. android定位获得经纬度,android 定位(获取经纬度)

    直接上代码: 重要的 是 获取位置权限,否则  是获取不到的!!! LocationManager lm = (LocationManager) getSystemService(Context.LO ...

  9. 微信小程序-地理授权-获取经纬度-权限相关 流程总结

    想要获取当前位置,大前提:1.微信允许访问位置信息,2.手机定位开启 所以,我们进入小程序时,要获取位置,需要考虑权限问题. 怎样才能在每次进入都获取,并且大部分用户进入 执行的代码更少?怎样避免每次 ...

  10. iOS开发——定位 获取经纬度

    最近公司提供了一个学习iOS的机会,问我是否愿意学习iOS,还是继续只做android开发.我感觉非常幸运,能有此机会去学习iOS,当即说要学习iOS开发. 学习了几天啦,做了一个小demo实现了获取 ...

最新文章

  1. HDu 3449 (有依赖的01背包) Consumer
  2. 拒绝从入门到放弃_《鸟哥的 Linux 私房菜 — 基础学习篇(第三版)》必读目录
  3. centos7 yum 安装 openssl 1.1.1k
  4. 《SQL Server企业级平台管理实践》读书笔记——几个系统库的备份与恢复
  5. 巨省显存的重计算技巧在TF、Keras中的正确打开方式
  6. Java面试知识点:集合、Set、泛型、HashSet、HashMap
  7. Ajax方法详解以及多个Ajax并发执行
  8. 手机5g什么时候普及_5G手机什么时间普及,现在买4G手机划算吗?
  9. c语言qsort函数对结构体的一级排序,sort和qsort函数对结构体的二级排序
  10. 浅谈漏洞来源(CVE,NVD,CNVD,CNNVD)
  11. vue制作圆形进度条
  12. 简洁免费的内网穿透工具
  13. CAD插件学习系列教程(一) 贱人工具箱的使用
  14. 男孩取名分享:光彩夺目、聪明机灵的男孩名
  15. php版本大屏幕,PHP现场抽奖大屏幕互动系统
  16. 钉钉考勤-获取需要记录考勤的人员
  17. 字节跳动 录屏功能_免费屏幕录制软件有哪些?原来这么多
  18. Java位语句_卫语句 - 宿小帅的个人空间 - OSCHINA - 中文开源技术交流社区
  19. NAXX Demo4_GZQ_03
  20. spring cloud gateway实现https访问

热门文章

  1. C语言圆角矩形画法,UI们:圆角矩形环快速画法
  2. 织梦网站安全防范操作
  3. 2013年,各大IT公司待遇—公司更多,数据更加真实(最终版)
  4. 对等网中计算机网卡是怎么安装的,实验三 对等网的组建
  5. Microsoft Lookback Adapter添加并设置回环网卡(转)
  6. 东阳东白山之一处看日出的好地方
  7. 把grb2文档转化为nc文档,并使用matlab查看
  8. matlab半张量积,半张量积原理.doc
  9. PX4IO的编译过程、代码构架以及与PX4FMU的通讯分析
  10. 神经网络属于符号主义吗,神经网络符号表示