HTML5 Geolocation用来定位用户的位置。
HTML5 Geolocation用来定位用户的位置。
定位用户的位置
HTMl5 Geolocation API用来得到用户的地理位置。
由于这个可能和个人隐私相关。除非用户同意否则不能使用。
浏览器支持
IE9。Firefox,Chrome,Opera和Safari 5都支持这个特性。
注意:假设使用带有GPS的设备,比如iphone。Geolocation将会更加准确。
HTML5 - 使用Geolocation
使用getCurrentPosition()方法得到用户的位置。
以下这个样例是一个简单的返回用户所在地点经纬度的样例:
- <script>
- var x=document.getElementById("demo");
- function getLocation()
- {
- if (navigator.geolocation)
- {
- navigator.geolocation.getCurrentPosition(showPosition);
- }
- else{x.innerHTML="Geolocation is not supported by this browser.";}
- }
- function showPosition(position)
- {
- x.innerHTML="Latitude: " + position.coords.latitude +
- "<br />Longitude: " + position.coords.longitude;
- }
- </script>
在线演示
代码说明:
- 首先检查Geolocation是否支持
- 假设支持,执行getCurrentPosition()方法,假设不支持,显示给用户信息
- 假设getCurrentPosition()方法成功了,返回一个坐标的对象到參数指定的方法(showPosition)中
- showPosition()方法得到显示的经纬度
上面的样例是一个主要的Geolocation脚本。没有做错误处理。
处理错误和拒绝
getCurrentPosition()方法的第二个參数用来处理错误。
指定一个方法当无法得到用户位置的时候来处理错误。
- function showError(error)
- {
- switch(error.code)
- {
- case error.PERMISSION_DENIED:
- x.innerHTML="User denied the request for Geolocation."
- break;
- case error.POSITION_UNAVAILABLE:
- x.innerHTML="Location information is unavailable."
- break;
- case error.TIMEOUT:
- x.innerHTML="The request to get user location timed out."
- break;
- case error.UNKNOWN_ERROR:
- x.innerHTML="An unknown error occurred."
- break;
- }
- }
在线演示
错误代码例如以下:
- 权限拒绝:用户不须要执行Geolocation
- 位置不存在:无法得到用户位置
- 超时:操作超时
在Map中显示结果
为了在map中显示结果。你须要訪问一个能够处理经纬度的地图服务,比如,GoogleMaps:
- function showPosition(position)
- {
- var latlon=position.coords.latitude+","+position.coords.longitude;
- var img_url="http://maps.googleapis.com/maps/api/staticmap?
center="
- +latlon+"&zoom=14&size=400x300&sensor=false";
- document.getElementById("mapholder").innerHTML="<img src=""+img_url+""+img_url+"" />";
- }
在上面的样例中,我们使用返回的经纬度来展示位置到Google地图中。怎样使用脚本来展示一个互动的地图,带有标记,缩放和拖动功能。
在线演示
地理位置指定信息
这里我们演示了怎样展示用户位置到地图上。然而。Geolocation也相同对于地理指定的信息很实用。
比如:
- 最新的本地信息
- 展示用户周围的有趣地方
- 导航(GPS)
getCurrentPosition()方法 - 返回数据
假设成功getCurrentPosition()方法将返回一个对象。经纬度和准确的信息也会返回。
其他属性假设存在也返回。
Property Description
coords.latitude The latitude as a decimal number
coords.longitude The longitude as a decimal number
coords.accuracy The accuracy of position
coords.altitude The altitude in meters above the mean sea level
coords.altitudeAccuracy The altitude accuracy of position
coords.heading The heading as degrees clockwise from North
coords.speed The speed in meters per second
timestamp The date/time of the response
Geolocation 对象 - 其他方法
watchPosition()方法 - 返回眼下的用户位置而且当用户移动后继续返回更新的位置(比如车里的GPS)。
clearWatch()方法 - 停止watchPosition()方法
以下的代码展示了怎样使用watchPositin()方法,注意你须要一个准确的GPS设备来測试(比如,iphone)
- <script>
- var x=document.getElementById("demo");
- function getLocation()
- {
- if (navigator.geolocation)
- {
- navigator.geolocation.watchPosition(showPosition);
- }
- else{x.innerHTML="Geolocation is not supported by this browser.";}
- }
- function showPosition(position)
- {
- x.innerHTML="Latitude: " + position.coords.latitude +
- "<br />Longitude: " + position.coords.longitude;
- }
- </script>
HTML5 Geolocation用来定位用户的位置。的更多相关文章
- HTML5 Geolocation API地理定位整理(一)
HTML5 Geolocation API 用于获得用户的地理位置. 鉴于该特性可能侵犯用户的隐私,除非用户同意,否则用户位置信息是不可用的. 浏览器支持 Internet Explorer 9+, ...
- HTML5: HTML5 Geolocation(地理定位)
ylbtech-HTML5: HTML5 Geolocation(地理定位) 1.返回顶部 1. HTML5 Geolocation(地理定位) HTML5 Geolocation(地理定位)用于定位 ...
- HTML5 Geolocation API地理定位整理(二)
Geolocation 实例demo 1.使用watchPosition()监听客户端位置 var watchOne=null; if (navigator.geolocation) { //watc ...
- HTML5 Geolocation(地理定位)
一.背景 在HTML规范中,增加了获取用户地理信息的API,这样使得可以基于用户位置开发互联网应用,即基于位置服务 鉴于该特性可能侵犯用户的隐私,除非用户同意,否则用户位置信息是不可用的. Inter ...
- html5 geolocation配合百度地图api实现定位
1.了解html5 geolocation HTML5 Geolocation(地理定位)用于定位用户的位置.鉴于该特性可能侵犯用户的隐私,除非用户同意,否则用户位置信息是不可用的.=> 使用时 ...
- HTML5 学习06——Geolocation(地理定位)
HTML5 Geolocation(地理定位) HTML5 Geolocation API 用于获得用户的地理位置. 鉴于该特性可能侵犯用户的隐私,除非用户同意,否则用户位置信息是不可用的. HTML ...
- HTML5学习笔记 Geolocation(地理定位)
HTML5 Geolocation(地理定位)用于定位用户的位置. 定位用户的位置 html5 Geolocation API用于获得用户的地理位置 鉴于该特性可能低侵犯用户的隐私,除非用户同意,否则 ...
- HTML5学习(七)----地理定位
参考教程:http://www.w3school.com.cn/html5/html_5_geolocation.asp 说明:设备必须有GPS定位功能才能定位的 定位用户的位置 HTML5 Geol ...
- HTML5 Geolocation(地理位置)
HTML5 Geolocation(地理位置).是用来定位用户的位置的. HTML5 Geolocation API 用于获得用户的地理位置,鉴于该特性可能侵犯用户的隐私权,除非用户同意,否则不能获取 ...
随机推荐
- Oozie的详细启动步骤(CDH版本的3节点集群)
不多说,直接上干货! 我的机器情况是,bigdatamaster(Oozie是安装在这台节点上).bigdataslave1和bigdatalsave2. 启动步骤 第一:先启动mysqld服务进程 ...
- 项目中使用protobuf
在互种系统中数据通信或数据交换可以使用protobuf,他比json.xml的数据量要小一些. 另外因为消息要单独写一个.proto文件,来生成各平台的代码,所以对跨平台通信来说也比较友好. 一.使用 ...
- 20155201 第十一周Java课堂实践
一.表达式后缀表达式: a b x c d e / - f x + 二.mini dc MyDC.java import java.util.StringTokenizer; import java. ...
- 20145325张梓靖 《Java程序设计》第5周学习总结
20145325张梓靖 <Java程序设计>第5周学习总结 教材学习内容总结 try catch Java中所有错误都会被打包为对象.如果某个方法声明会抛出Throwable或子类实例,只 ...
- linux使用vi浏览python源码
一.背景 2018/8/15,这一天要分析一个python项目,因此需要浏览代码,而我使用的是ubuntu 16.04,于是作此文 二.步骤 2.1 获取生成tags文件的脚本 http://svn. ...
- Java字符串分割(转)
java.lang.String 的 split() 方法, JDK 1.4 or later public String[] split(String regex,int limit) 示例代码 p ...
- sapply
列表并非总是存储结果的最佳容器.有时,我们希望将结果放在一个向量或者矩阵中.sapply( )函数可以根据结果的结构将其合理简化.假设,我们将平方运算应用到 1:10 的每个元素上.如果使用 lapp ...
- Rails Guide--Working with JavaScript in Rails; 如何把jquery转化为原生js
1 An Introduction to Ajax 打开网页的的过程也叫:request response cycel. JavaScript也可以request然后parse the respons ...
- C++ lower_bound 和upper_bound
二分查找的函数有 3 个: 1.lower_bound(起始地址,结束地址,要查找的数值) 返回的是数值 第一个 出现的位置. 2.upper_bound(起始地址,结束地址,要查找的数值) 返回的是 ...
- Ubuntu 分区方安
方案一: / 40G/boot 200MBswap 1G-2G /home 20G 剩 下的分为几个独立的分区,不用指定挂载点,而是安装完成后修改 /etc/fstab ,将这些区挂载在/home的子 ...