HTML-Geolocation API
2021-05-06 06:29
标签:版本 imu navig 高度 www location logs rand ros 前 言 Geolocation API(地理位置应用程序接口)提供了一个可以知道浏览器用户当前位置的方法。且目前看来浏览器的支持情况还算不错(因为新版本的IE支持了该API),这使得在不久之后就可以使用这一浏览器内置的API了。HTML5 Geolocation仅仅是用来检索定位信息的API,至于底层是如何定位的他也不知道,他就相当于一个传信的。 在HTML5中,通过window.navigator对象下新增geolocation属性来判断浏览器的兼容性。 我们使用getCurrentPosition(success(position),error(err),options)方法来获取当前用户的地理位置。 success(position)回调函数是在获取到地理信息时调用的,其中的position参数是一个对象包括: latitude(纬度)、longitude(经度) accuracy(纬度和经度的精度,以米为单位) latitudeAccuracy(海拔高度的精度,以米为单位) heading(设备的前进方向),speed(设备的前进速度以单位m/s) timestamp(获取位置的时间)。 error(err)回电函数是在获取地理位置失败时调用的,其中err参数有俩个属性: opations是一些可选属性的列表包括: enableHighAccuracy(是否要求高精度的地理位置信息),值为true或false。 timeout(对地理信息获取操作做一个超时限制,如果超时,则返回错误),值为数字,单位为毫秒。 maximumAge(对地理位置信息进行缓存的有效时间做一个限制),值为数字,单位为毫秒。 引入JS: @唯芸熙 借鉴 iwebkit HTML-Geolocation API 标签:版本 imu navig 高度 www location logs rand ros 原文地址:http://www.cnblogs.com/ljr001/p/7668763.html
1.检测浏览器的支持性。
function geolocationSupport()
{
if(!navigator.geolocation)
{
alert(‘当前浏览器不支持HTML5 Geolocation‘);
}
else
{
alert(‘当前浏览器支持HTML5 Geolocation‘);
}
}
geolocationSupport();
2.获取当前地理位置
code和message,code{1:表示用户拒绝了定位服务,2:获取不到位置信息,3:获取信息超时错误},message是字符串,表示错误信息。 window.onload = function() {
var x,y;
if(navigator.geolocation) {
document.getElementById("ip").innerHTML = "您当前的位置";
// 百度地图API功能
var map = new BMap.Map("container");
var point = new BMap.Point(x,y);
map.centerAndZoom(point,12);
var geolocation = new BMap.Geolocation();
geolocation.getCurrentPosition(function(r){
if(this.getStatus() == BMAP_STATUS_SUCCESS){
var mk = new BMap.Marker(r.point);
map.addOverlay(mk);
map.panTo(r.point);
}
else {
alert(‘failed‘+this.getStatus());
}
},{enableHighAccuracy: true})
return;
}
};
script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=134db1b9cf1f1f2b4427210932b34dcb">script>
3.清除地理位置监听和清除监听
watchPosition 跟上面的getCurrentPosition 是同样的原理,参数,返回值。只不过它是个定时器版本的。
clearWatch就是来清除watchPosition 的。
编者
文章标题:HTML-Geolocation API
文章链接:http://soscw.com/index.php/essay/83095.html