HTML5 Geolocation getCurrentPosition() API
描述
getCurrentPosition方法检索设备的当前地理位置。该位置是一组地理坐标以及有关头部和速度的信息。位置信息以Position对象返回。
语法
以下是此方法的语法 –
getCurrentPosition(showLocation, ErrorHandler, options);
参数
下面是参数的细节 –
- showLocation - 这个指定检索位置信息的回调方法。该方法通过对应于存储返回的位置信息的Position对象异步调用。
-
ErrorHandler - 这个可选参数指定在处理异步调用时发生错误时调用的回调方法。使用存储返回的错误信息的PositionError对象调用此方法。
-
options - 此可选参数指定一组选项以检索位置信息。您可以指定(a)返回的位置信息的精度(b)检索位置信息的超时以及(c)使用缓存的位置信息。
返回值
getCurrentPosition方法不返回值。
示例
<!DOCTYPE HTML>
<html>
<head>
<script type = "text/javascript">
function showLocation(position) {
var latitude = position.coords.latitude;
var longitude = position.coords.longitude;
alert("纬度: " + latitude + " 经度: " + longitude);
}
function errorHandler(err) {
if(err.code == 1) {
alert("错误: 访问被拒绝!");
} else if( err.code == 2) {
alert("错误: 无法获取位置!");
}
}
function getLocation() {
if(navigator.geolocation) {
// timeout at 60000 milliseconds (60 seconds)
var options = {timeout:60000};
navigator.geolocation.getCurrentPosition(showLocation, errorHandler, options);
} else {
alert("抱歉,浏览器不支持地理定位!");
}
}
</script>
</head>
<body>
<form>
<input type = "button" onclick = "getLocation();" value = "获取位置" />
</form>
</body>
</html>