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 相关文章推荐
js 跨域和ajax 跨域问题小结
Jul 01 Javascript
js弹窗代码 可以指定弹出间隔
Jul 03 Javascript
jQuery Tools tab(幻灯片)
Jul 14 Javascript
jQuery中extend函数的实现原理详解
Feb 03 Javascript
js小数计算小数点后显示多位小数的实现方法
May 30 Javascript
JavaScript常用代码书写规范的超全面总结
Sep 11 Javascript
node.js中debug模块的简单介绍与使用
Apr 25 Javascript
详解angular 中的自定义指令之详解API
Jun 20 Javascript
JS多个异步请求 按顺序执行next实现解析
Sep 16 Javascript
微信小程序绑定手机号获取验证码功能
Oct 22 Javascript
使用JS来动态操作css的几种方法
Dec 18 Javascript
JavaScript实现多个物体同时运动
Mar 12 Javascript
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
《OVERLORD》手游英文版即将上线 手机上也能扮演骨王
2020/04/09 日漫
JavaScipt基本教程之JavaScript语言的基础
2008/01/16 Javascript
JavaScript 语法集锦 脚本之家基础推荐
2009/11/15 Javascript
分享XmlHttpRequest调用Webservice的一点心得
2012/07/20 Javascript
iframe中使用jquery进行查找的方法【案例分析】
2016/06/17 Javascript
jquery配合.NET实现点击指定绑定数据并且能够一键下载
2016/10/28 Javascript
js实现用户输入的小写字母自动转大写字母的方法
2017/01/21 Javascript
基于Angularjs+mybatis实现二级评论系统(仿简书)
2017/02/13 Javascript
整理关于Bootstrap导航的慕课笔记
2017/03/29 Javascript
jquery 校验中国身份证号码实例详解
2017/04/11 jQuery
Angular2使用Angular CLI快速搭建工程(一)
2017/05/21 Javascript
mac上node.js环境的安装测试
2017/07/03 Javascript
详解Vue的computed(计算属性)使用实例之TodoList
2017/08/07 Javascript
javascript算法之二叉搜索树的示例代码
2017/09/12 Javascript
小程序自定义单页面、全局导航栏的实现代码
2019/03/15 Javascript
利用vue-i18n实现多语言切换效果的方法
2019/06/19 Javascript
原生JavaScript创建不可变对象的方法简单示例
2020/05/07 Javascript
python实现批量改文件名称的方法
2015/05/25 Python
Python的Django框架中模板碎片缓存简介
2015/07/24 Python
Python字符串拼接、截取及替换方法总结分析
2016/04/13 Python
python使用MQTT给硬件传输图片的实现方法
2019/05/05 Python
对django layer弹窗组件的使用详解
2019/08/31 Python
Python对接支付宝支付自实现功能
2019/10/10 Python
python字典排序的方法
2019/10/12 Python
python定间隔取点(np.linspace)的实现
2019/11/27 Python
利用OpenCV和Python实现查找图片差异
2019/12/19 Python
python中的django是做什么的
2020/07/31 Python
python能做哪些生活有趣的事情
2020/09/09 Python
英国森林假期:Forest Holidays
2021/01/01 全球购物
EJB2和EJB3在架构上的不同点
2014/09/29 面试题
文明餐桌活动方案
2014/02/11 职场文书
ktv总经理岗位职责
2014/02/17 职场文书
初三学生个人自我评定
2014/04/06 职场文书
高中学生评语大全
2014/04/25 职场文书
十佳青年事迹材料
2014/08/21 职场文书
新员工入职感言范文!
2019/07/04 职场文书