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 相关文章推荐
JavaScript flash复制库类 Zero Clipboard
Jan 17 Javascript
弹出最简单的模式化遮罩层的js代码
Dec 04 Javascript
jquery实现搜索框常见效果的方法
Jan 22 Javascript
jquery.mobile 共同布局遇到的问题小结
Feb 10 Javascript
JavaScript简单修改窗口大小的方法
Aug 03 Javascript
javascript性能优化之DOM交互操作实例分析
Dec 12 Javascript
如何用js实现鼠标向上滚动时浮动导航
Jul 18 Javascript
使用snowfall.jquery.js实现爱心满屏飞的效果
Jan 05 Javascript
基于ES6作用域和解构赋值详解
Nov 03 Javascript
js时间戳与日期格式之间转换详解
Dec 11 Javascript
从零开始搭建一个react项目开发
Feb 09 Javascript
详解vue中在父组件点击按钮触发子组件的事件
Nov 13 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
php之CodeIgniter学习笔记
2013/06/17 PHP
使用php 获取时间今天明天昨天时间戳的详解
2013/06/20 PHP
2014最热门的24个php类库汇总
2014/12/18 PHP
php 类自动载入的方法
2015/06/03 PHP
WordPress开发中短代码的实现及相关函数使用技巧
2016/01/05 PHP
Javascript 八进制转义字符(8进制)
2011/04/08 Javascript
jQuery源码分析-03构造jQuery对象-工具函数
2011/11/14 Javascript
javaScript实现滚动新闻的方法
2015/07/30 Javascript
JavaScript中innerHTML,innerText,outerHTML的用法及区别
2015/09/01 Javascript
jquery判断复选框是否被选中的方法
2015/10/16 Javascript
jQuery日历插件datepicker用法详解
2016/03/03 Javascript
整理关于Bootstrap列表组的慕课笔记
2017/03/29 Javascript
详解nodejs异步I/O和事件循环
2017/06/07 NodeJs
Mui使用jquery并且使用点击跳转新窗口的实例
2017/08/19 jQuery
vue 组件 全局注册和局部注册的实现
2018/02/28 Javascript
JS判断字符串是否为整数的方法--简单的正则判断
2018/07/23 Javascript
js中实例与对象的区别讲解
2019/01/21 Javascript
ES6中Set和Map用法实例详解
2020/03/02 Javascript
vue实现前端列表多条件筛选
2020/10/26 Javascript
vue 数据双向绑定的实现方法
2021/03/04 Vue.js
Python中asyncore的用法实例
2014/09/29 Python
Python 批量合并多个txt文件的实例讲解
2018/05/08 Python
Python实现的爬取百度贴吧图片功能完整示例
2019/05/10 Python
K近邻法(KNN)相关知识总结以及如何用python实现
2021/01/28 Python
Urban Outfitters英国官网:美国平价服饰品牌
2016/11/25 全球购物
6号汽车旅馆预订:Motel 6
2018/02/11 全球购物
俄罗斯玩具、儿童用品、儿童服装和鞋子网上商店:MyToys.ru
2019/10/14 全球购物
企业面试题试卷附带答案
2015/12/20 面试题
物理研修随笔感言
2014/02/14 职场文书
篮球兴趣小组活动总结
2014/07/07 职场文书
门面房租房协议书
2014/08/20 职场文书
卖房协议书样本
2014/10/30 职场文书
邀请函格式范文
2015/02/02 职场文书
导游词之云南丽江古城
2019/09/17 职场文书
python基础之匿名函数详解
2021/04/21 Python
td 内容自动换行 table表格td设置宽度后文字太多自动换行
2022/12/24 HTML / CSS