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 用于获得用户的地理位置,鉴于该特性可能侵犯用户的隐私权,除非用户同意,否则不能获取 ...
随机推荐
- Python: 复数的数学运算
写的最新的网络认证方案代码遇到了一个难题,唯一的解决办法就是使用复数空间,需要使用复数来执行一些计算操作. 复数可以用使用函数complex(real, imag) 或者是带有后缀j 的浮点数来指定. ...
- Springmvc的拦截器执行顺序及各方法作用
实现HandlerInterceptor接口或者继承HandlerInterceptor的子类,比如Spring 已经提供的实现了HandlerInterceptor 接口的抽象类HandlerInt ...
- 2018-2019-1 20189215《Linux内核原理与分析》第五周作业
<庖丁解牛>第四章书本知识总结 系统调用的三层机制 API(应用程序编程接口) 中断向量(系统调用处理入口) 服务程序(系统调用内核处理系统) 计算机的硬件资源是有限的,为了减少有限资源的 ...
- ubuntu 16.04下更换源和pip源【转】
本文转载自:https://blog.csdn.net/weixin_41500849/article/details/80246221 写在前面的话 本文主要内容是更换系统源为清华大学源,更换pyt ...
- MyBatis小案例完善增强
https://blog.csdn.net/techbirds_bao/article/details/9233599 上链接为一个不错的Mybatis进阶博客 当你把握时间,时间与你为伍. 将上一个 ...
- 【eclipse】查看jar乱码问题解决
- [QT]QApplication和QCoreApplication的用法
转自:http://www.tuicool.com/articles/qmI7Bf 故事的背景是这样的,我们在写QT程序的时候或者在开始写QT程序之前总会看到这样的语句 QApplication ap ...
- python 正则表达式详解
正则表达式是一个很强大的字符串处理工具,几乎任何关于字符串的操作都可以使用正则表达式来完成,作为一个爬虫工作者,每天和字符串打交道,正则表达式更是不可或缺的技能,正则表达式的在不同的语言中使用方式可能 ...
- WPF——RenderTransform特效
WPF: RenderTransform特效 WPF中的变形(RenderTransform)类是为了达到直接去改变某个Silverlight对象的形状(比如缩放.旋转一个元素)的目的而设计的,Ren ...
- 使用AspNetPager进行分页,查询条件丢失问题
在Asp.Net中使用AspNetPager进行分页时,发现一个问题: 当通过查询条件进行查询后,对查询结果进行翻页操作时,查询条件会丢失. 当修改UrlPaging属性后(设置UrlPaging=“ ...