JavaScript地理位置信息API


Posted in Javascript onJune 11, 2016

对于一个Web开发程序员来说,开发工作中一个最有意思的方面就是获取地理位置信息;试想一下,浏览你的网页的用户是在什么地方?程序员可以根据用户的地理位置信息来调整网站的语言、特定产品介绍等。下面我们将要演示的就是通过浏览器里JavaScript地理位置信息API来获取详细地理信息!

检查你的浏览器是否支持地理位置信息API

目前主流的浏览器都已经对JavaScript地理位置信息API有了较好的支持。但如果你还不放心,那么,确认地理位置信息API支持情况最好的方式是浏览器的功能特征测试。

if("geolocation" in navigator) {
 //w00t!
}
else {
 alert("很不幸!你的浏览器并不支持Geolocation API功能");
}

对于判断浏览器是否支持地理位置API,最主要的就是看看navigator.geolocation这个对象,使用in,而不是简单的使用if(navigator.geolocation),这一点非常重要,因为后者有可能会因此初始化地理位置信息对象,从而占用/锁定了设备资源。

查询地理位置信息

这个navigator.geolocation.getCurrentPosition方法是获取详细位置信息最关键的一个接口:

if("geolocation" in navigator) {
 navigator.geolocation.getCurrentPosition(function(position) {
 console.log(position);
 });
}

一旦你调用了这个方法(如果请求成功,它会执行你在参数里提供的回调方法),浏览器会询问用户是否允许程序获取他们的地理位置信息。

当用户运行网页获取他们的位置信息后,浏览器就可以开始读取地理信息,它会返回给你一个位置信息对象,对象的结构基本是这样的:

// "Position" object
{
 coords: { "Coordinates" object
 accuracy: 65,
 altitude: 294.4074401855469,
 altitudeAccuracy: 10,
 heading: -1,
 latitude: 43.01256284360166,
 longitude: -89.44531987692744,
 speed: -1
 },

 timestamp: 1429722992094269
}

如果你觉得这些地理位置信息(地理经纬度坐标)还不够充足,还想要这些地理坐标属于哪个国家、城市,则你需要再调用其它的第三方数据库——这里我们就不细述了。
这个地理位置信息API在很多移动应用里是最常见的API运用,作为Web程序员,它应该是你必须具备的一项知识技巧。幸运的是,目前所有流行的浏览器都支持了这种技术。

以上就是本文的全部内容,希望对大家学习javascript程序设计有所帮助。

Javascript 相关文章推荐
jquery 字符串切割函数substring的用法说明
Feb 11 Javascript
jQuery UI插件自定义confirm确认框的方法
Mar 20 Javascript
js检测判断日期大于多少天的方法
May 04 Javascript
JS+CSS实现仿msn风格选项卡效果代码
Oct 22 Javascript
原生javascript实现的一个简单动画效果
Mar 30 Javascript
jquery自定义表单验证插件
Oct 12 Javascript
JS排序之选择排序详解
Apr 08 Javascript
详解node nvm进行node多版本管理
Oct 21 Javascript
vue实现淘宝购物车功能
Apr 20 Javascript
Javascript幻灯片播放功能实现过程解析
May 07 Javascript
vue3自定义dialog、modal组件的方法
Jan 04 Vue.js
Vue全家桶入门基础教程
May 14 Vue.js
jQuery自定义数值抽奖活动代码
Jun 11 #Javascript
浅谈JavaScript的全局变量与局部变量
Jun 10 #Javascript
javaScript知识点总结(必看篇)
Jun 10 #Javascript
浅谈javascript基础之客户端事件驱动
Jun 10 #Javascript
用JavaScript获取页面文档内容的实现代码
Jun 10 #Javascript
老生常谈JavaScript数组的用法
Jun 10 #Javascript
jquery输入数字随机抽奖特效的简单实现代码
Jun 10 #Javascript
You might like
关于PHP结束标签的使用细节探讨及联想
2013/03/04 PHP
php无限极分类实现的两种解决方法
2013/04/28 PHP
PHP实现链式操作的原理详解
2016/09/16 PHP
PHP反射原理与用法深入分析
2019/09/28 PHP
javscript对象原型的一些看法
2010/09/19 Javascript
jquery offset函数应用实例
2012/11/14 Javascript
jQuery中 attr() 方法使用小结
2015/05/03 Javascript
JS组件Form表单验证神器BootstrapValidator
2016/01/26 Javascript
jQuery使用中可能被XSS攻击的一些危险环节提醒
2016/05/24 Javascript
jQuery操作DOM_动力节点Java学院整理
2017/07/04 jQuery
提高Node.js性能的应用技巧分享
2017/08/10 Javascript
JS实现全屏预览F11功能的示例代码
2018/07/23 Javascript
jQuery实现的点击图片居中放大缩小功能示例
2019/01/16 jQuery
vue 解决路由只变化参数页面组件不更新问题
2019/11/05 Javascript
JS函数进阶之prototy用法实例分析
2020/01/15 Javascript
JavaScript实现HSL拾色器
2020/05/21 Javascript
vue 导航菜单刷新状态不消失,显示对应的路由界面操作
2020/08/06 Javascript
Javascript异步流程控制之串行执行详解
2020/09/27 Javascript
vue+elementui通用弹窗的实现(新增+编辑)
2021/01/07 Vue.js
[01:11:48]Fnatic vs IG 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/18 DOTA
Apache如何部署django项目
2017/05/21 Python
定制FileField中的上传文件名称实例
2017/08/23 Python
python使用KNN算法手写体识别
2018/02/01 Python
Python使用combinations实现排列组合的方法
2018/11/13 Python
python抓取网页内容并进行语音播报的方法
2018/12/24 Python
解决django前后端分离csrf验证的问题
2019/02/03 Python
Looking4Parking美国:全球排名第一的机场停车比较品牌
2019/08/26 全球购物
梅西百货官网:Macy’s
2020/08/04 全球购物
学习雷锋演讲稿
2014/05/10 职场文书
党支部党的群众路线对照检查材料
2014/09/24 职场文书
升职自荐信范文
2015/03/27 职场文书
微观世界观后感
2015/06/10 职场文书
2016年社区“我们的节日·中秋节”活动总结
2016/04/05 职场文书
教师学期述职自我鉴定
2019/08/16 职场文书
python爬取新闻门户网站的示例
2021/04/25 Python
HTML实现仿Windows桌面主题特效的实现
2022/06/28 HTML / CSS