js的navigator.geolocation的API笔记

本文详细介绍了如何使用Navigator.geolocation API获取用户设备的地理位置信息,包括getCurrentPosition与watchPosition方法的使用方式及其参数说明。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Navigator.geolocation:
	返回一个 'Geolocation' 对象

	Geolocation - 获取用户设备位置。鉴于该特性可能侵犯用户的隐私,除非用户同意,否则用户位置信息是不可用的。同时,对于请求许可,不同浏览器有自己不同的策略和方法。
		
		属性 - 无
		方法:
			Geolocation.getCurrentPostion(success[, error[, options]]) - 检查设备当前位置,并返回一个 'Position' 对象

				success - 成功获取到设备位置后的回调函数,该函数有唯一参数 'Position' 对象
					function (Position) {}

					Position对象

						属性:
							Position.coords - 返回一个定位当前位置的 'Coordinates' 独享

								Coordinates对象:

									属性:
										Coordinates.latitude - 十进制数的纬度
										Coordinates.longitude - 十进制数的经度
										Coordinates.altitude - 相对于水平面的海拔,以米为单位。如未实现,可为null
										Coordinates.accuracy - 返回上面的维度和经度属性的精确度,以 '米' 表示
										Coordinates.altitudeAccuracy - 上面的海拔的精确度,以 '米' 表示。如未实现,同样可为null
										Coordinates.headding - "行进间(必须是运动的,静止返回NaN)" 设备的方向。以 '度' 为单位,表示是相对于正北方向多少度。0表示正北方向,以顺时针计算(意味着:东是90度,西是270度)。如果 speed=0,则 headding = NaN。如果设置不支持该属性,返回 null。
										Coordinates.speed - 设备移动速度,以 '米/秒' 计算。可以为 null

							Postion.timestamp - 定位当前位置时的时间,'DOMTimeStamp' 对象,单位是 '毫秒'

						方法:
							无

				error - 获取位置失败后的回调函数,该函数有唯一参数 'PositionError' 对象
					function (PositionError) {}

					PositionError对象

						属性:
							PositionError.code - 返回正数的错误码,可能的值有:
								1 - PERMISSION_DENIED - 因页面没有权限,获取地理位置信息失败
								2 - POSITION_UNAVAILABLE - 因获取 'Position对象',内部至少出现一个错误,导致获取信息失败
								3 - TIMEOUT - 获取地理位置信息超时。超时时间由 'PositionOptions.timeout' 来定义

							PositionError.message - 返回人类友好的 'DOMString' 对象,来描述错误详情。(注意,这个主要用于调试,而不应该直接显示给用户,我们应该自定义错误信息显示)

				options - 可选的 'PositionOptions' 对象

					PositionOptions对象

						属性:
							PositionOptions.enableHighAccuracy - 设置为true,如果设置能提供更高的精确度,将会返回高精确度(例如,通过GPS定位,使定位更加准确,但是相应会更慢,消耗更多资源)。默认为 false.

							PositionOptions.timeout - 设置超时时间,单位是 '毫秒'。默认值是 'Infinity - 无限大',意味着,未获取到正确|错误信息,不会返回结果(是不是会阻塞页面啊)

							PositionOptions.maxinumAge - 位置缓存的最大时间,单位是 '毫秒'。设置为0,表示设备不使用缓存,每次都去检索设置的真实位置。如果设置为 'Infinity - 无限大',设备必须返回一个缓存的位置。默认值是0。

			Geolocation.watchPosition(success[, error[, options]]) - 返回用户的当前位置,并继续返回用户移动时的更新位置(就像汽车上的 GPS)

				注册一个处理器函数,每次设备位置改变,都会自动调用。返回一个 '监控ID',可以传递给 'clearWatch()' 来注销监控

				其余参数,同 'Geolocation.getCurrentPostion()' 一致!

			Geolocation.clearWatch(id) - 注销监控



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值