您的位置:首页 > Web前端 > HTML5

geolocation h5

2016-01-28 15:16 651 查看
navigator. geolocation.getCurrentPosition()

触发浏览器弹窗询问用户同意访问地址。接收三个参数:成功回调函数,可选的失败回调,可选选项对象

成功回调函数接受一个地址对象作为唯一的参数,该对象有两个属性,coords和timestamp.

coords一定包含latitude,longitude,和accuracy。可选的altitude,altitudeAccuracy,heading,speed

最常用是画出用户地点:
navigator.geolocation.getCurrentPosition(function(position){
drawMapCenteredAt(position.coords.latitude, positions.coords.longitude);
});

失败回调函数也接受一个参数,也是一个对象,上面有两个属性:message和code。message是让人看的错误信息。code是失败类型:1代表用户拒绝,2代表地址不可用,3超时。

最后,可选对象可以设置是否获取最精确地支,最长等待时长,上次地址有限时间
navigator.geolocation.getCurrentPosition(function(position){
drawMapCenteredAt(position.coords.latitude, positions.coords.longitude);
}, function(error){
console.log(“Error code: “ + error.code);
console.log(“Error message: “ + error.message);
}, {
enableHighAccuracy: true,
timeout: 5000,
maximumAge: 25000
});

如果想跟踪用户地点,那么可以用watchPosition()方法,和 getCurrentPosition接受同样的三个参数。该方法首先执行一次,然后等待系统通知地点改变再执行。返回一个identifier用来结束。
var watchId = navigator.geolocation.watchPosition(function(position){
drawMapCenteredAt(position.coords.latitude, positions.coords.longitude);
}, function(error){
console.log(“Error code: “ + error.code);
console.log(“Error message: “ + error.message);
});
clearWatch(watchId);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: