地理位置信息

使用HTML 5来获得地理位置信息是非常容易的。它可以依赖你的IP地址,设备上有的GPS装置等方法取得你当前的地理位置信息。与手机一样,取得用户当前的地理位置信息需要通过用户的许可,以浏览器为例,它会在工具栏弹出一个提示,询问用户是否容许该网站使用当前的地理位置信息。


在确认浏览器支持HTML 5的地理信息之后,可以使用navigator.geolocation.getCurrentPosition()来取得当前的位置信息。navigator.geolocation.getCurrentPosition()支持两个回调方法,一个用来处理正确的地理位置请求,一个用来进行错误处理。比如通过本文最后的页面可以取得当前所在位置的经度和纬度,并正确的处理失败信息。


getCurrentPosition支持三个查询选项:
enableHighAccuracy - 是否用高精度进行定位(使用高精度,则会使调用更慢)
timeout - 查询超时设定(以毫秒为单位)
maximumAge - 用来设定地理位置失效重查时间,以便进行实时位置跟踪


得到用户的地理位置之后就可以调用各种API完成不同的服务了,比如加载地图、基于地理位置的推荐,等等。


一个工作的示例页面(要注意的是chrome在本地无法执行地理位置请求,需要将相应页面部署在web服务器下方可开始使用地理位置服务。firefox没有该要求)


<html>
<head>
<title>Geo location</title>
</head>

<body>
<p>
<script language="Javascript">
function show_map(position)
{
        document.write("Latitude: "+position.coords.latitude);
        document.write("<br>");
        document.write("Longitude: "+position.coords.longitude);
}

function handle_error(err) {
	switch(err.code) {
		case 1:
			document.write("用户不让用地理位置信息");
			break;
		case 2:
			document.write("查询失败,当前可能无网络");
			break;
		case 3:
			document.write("查询超时");
			break;
		default:
			document.write("未知原因查询失败");
			break;
	}
}

navigator.geolocation.getCurrentPosition(show_map);

</script>
</p>
</body>

</html>


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值