毫无疑问,对于开发人员而言,HTML5已是一个热点话题。如果你需要快速了解HTML5的功能的基本原理,本篇主要解释了HTML5的地理定位。
HTML5的地理定位用途
HTML5 Geolocation(地理定位)用于定位用户的位置。
定位用户的位置
HTML5 Geolocation API 用于获得用户的地理位置。
鉴于该特性可能侵犯用户的隐私,除非用户同意,否则用户位置信息是不可用的。
浏览器支持
Internet Explorer 9、Firefox、Chrome、Safari 以及 Opera 支持地理定位。
注释:对于拥有 GPS 的设备,比如 iPhone,地理定位更加精确。
HTML5 – 使用地理定位
请使用 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>
例子解释:
检测是否支持地理定位
如果支持,则运行 getCurrentPosition() 方法。如果不支持,则向用户显示一段消息。
如果getCurrentPosition()运行成功,则向参数showPosition中规定的函数返回一个coordinates对象
showPosition() 函数获得并显示经度和纬度
上面的例子是一个非常基础的地理定位脚本,不含错误处理。
处理错误和拒绝
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;
}
}
错误代码:
Permission denied – 用户不允许地理定位
Position unavailable – 无法获取当前位置
Timeout – 操作超时
在地图中显示结果
如需在地图中显示结果,您需要访问可使用经纬度的地图服务,比如谷歌地图或百度地图:
还有实例:
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+' />;
}
在上例中,我们使用返回的经纬度数据在谷歌地图中显示位置(使用静态图像)。
上面的链接向您演示如何使用脚本来显示带有标记、缩放和拖曳选项的交互式地图。
给定位置的信息
本页演示的是如何在地图上显示用户的位置。不过,地理定位对于给定位置的信息同样很有用处。
更新本地信息
显示用户周围的兴趣点
交互式车载导航系统 (GPS)
getCurrentPosition() 方法 – 返回数据
若成功,则 getCurrentPosition() 方法返回对象。始终会返回 latitude、longitude 以及 accuracy 属性。如果可用,则会返回其他下面的属性。
属性和描述:
coords.latitude(十进制数的纬度)
coords.longitude(十进制数的经度)
coords.accuracy(位置精度)
coords.altitude(海拔,海平面以上以米计)
coords.altitudeAccuracy(位置的海拔精度)
coords.heading(方向,从正北开始以度计)
coords.speed(速度,以米/每秒计)
timestamp(响应的日期/时间)
Geolocation 对象 – 其他有趣的方法
watchPosition() – 返回用户的当前位置,并继续返回用户移动时的更新位置(就像汽车上的 GPS)。
clearWatch() – 停止 watchPosition() 方法
下面的例子展示 watchPosition() 方法。您需要一台精确的 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
【相关推荐】
HTML和HTML5的发展历史
html的基础元素,让你零基础学习HTML
以上就是HTML5怎样正确的使用HTML的地理定位?的详细内容,更多请关注双恒网络其它相关文章!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 如遇到加密压缩包,请使用WINRAR解压,如遇到无法解压的请联系管理员!
8. 精力有限,不少源码未能详细测试(解密),不能分辨部分源码是病毒还是误报,所以没有进行任何修改,大家使用前请进行甄别
9.本站默认解压密码为:www.sudo1.com
本站提供的一切软件、教程和内容信息仅限用于学习和研究目的。
不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。
本站信息来自网络收集整理,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑或手机中彻底删除上述内容。
如果您喜欢该程序和内容,请支持正版,购买注册,得到更好的正版服务。
我们非常重视版权问题,如有侵权请邮件与我们联系处理。敬请谅解!
云资源网 » HTML5怎样正确的使用HTML的地理定位?
常见问题FAQ
- 免费下载或者VIP会员专享资源能否直接商用?
- 本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
- 提示下载完但解压或打开不了?
- 你们有qq群吗怎么加入?