本文介绍两种在JavaScript中获取用户地理位置的方法。第一种通过新浪IP接口解析获取城市、省份和国家信息;第二种利用HTML5 Geolocation API获取经纬度坐标,并处理超时、拒绝及未知错误等状态。
通过IP接口获取城市信息
以下代码展示了如何使用JavaScript获取用户所在的城市信息,具体实现如下:
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>获取用户地理位置</title>
<script type="text/javascript" src="./jquery-3.3.1.js"></script>
</head>
<body>
</body>
</html>
<script>
$.getScript('http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js',function(){
alert(remote_ip_info.country);//国家
alert(remote_ip_info.province);//省份
alert(remote_ip_info.city);//城市
});
</script>
使用Geolocation API获取经纬度
利用JavaScript获取用户的地理位置坐标
<script type="text/javascript">
var x = document.getElementById("x");
function getLocation() {
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(showPosition, showError);
} else {
x.innerHTML = "该浏览器不支持定位功能!";
}
}
function showPosition(position) {
x.innerHTML = "纬度:" + position.coords.latitude + "\n经度:"
+ position.coords.longitude;
}
function showError(error) {
switch (error.code) {
case error.PERMISSION_DENIED:
x.innerHTML = "用户拒绝对获取地理位置的请求。";
break;
case error.POSITION_UNAVAILABLE:
x.innerHTML = "位置信息是不可用的。";
break;
case error.TIMEOUT:
x.innerHTML = "请求用户地理位置超时。";
break;
case error.UNKNOWN_ERROR:
x.innerHTML = "未知错误。";
break;
}
}
getLocation();
</script>
总结
上述内容介绍了JavaScript获取用户所在城市及地理位置的相关方法,希望能对大家有所帮助。如有任何疑问,欢迎留言,小编会及时回复大家!