使用百度地图api获取设备经纬度 前端
时间: 2023-10-23 14:10:45 浏览: 41
获取设备经纬度需要使用HTML5的Geolocation API,下面是一个示例代码:
```html
<!DOCTYPE html>
<html>
<head>
<title>获取设备经纬度</title>
<meta charset="utf-8">
<style>
#map {
height: 400px;
width: 100%;
}
</style>
</head>
<body>
<div id="map"></div>
<script src="http://api.map.baidu.com/api?v=2.0&ak=您的密钥"></script>
<script>
var map = new BMap.Map("map");
function getLocation() {
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(showPosition, showError);
} else {
alert("Geolocation is not supported by this browser.");
}
}
function showPosition(position) {
var latitude = position.coords.latitude;
var longitude = position.coords.longitude;
var point = new BMap.Point(longitude, latitude);
map.centerAndZoom(point, 15);
var marker = new BMap.Marker(point);
map.addOverlay(marker);
}
function showError(error) {
switch (error.code) {
case error.PERMISSION_DENIED:
alert("User denied the request for Geolocation.");
break;
case error.POSITION_UNAVAILABLE:
alert("Location information is unavailable.");
break;
case error.TIMEOUT:
alert("The request to get user location timed out.");
break;
case error.UNKNOWN_ERROR:
alert("An unknown error occurred.");
break;
}
}
getLocation();
</script>
</body>
</html>
```
在上面的代码中,我们使用了百度地图API来创建一个地图,并且调用了HTML5的Geolocation API来获取设备的经纬度,然后在地图上显示出来。
需要注意的是,获取设备的经纬度需要用户授权,如果用户拒绝授权,则无法获取经纬度信息。