js调用geolocation利用百度api显示省市
时间: 2023-09-10 15:07:43 浏览: 88
js调用百度地图
4星 · 用户满意度95%
好的,可以使用百度地图的API来获取当前位置的经纬度,并通过逆地理编码获取省市信息。以下是一个基本的示例代码:
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>获取当前位置省市信息</title>
<script src="http://api.map.baidu.com/api?v=2.0&ak=你的百度地图API Key"></script>
<script>
// 获取当前位置信息
function getLocation() {
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(showPosition);
} else {
alert("浏览器不支持Geolocation");
}
}
// 显示位置信息
function showPosition(position) {
// 获取经纬度
var lng = position.coords.longitude;
var lat = position.coords.latitude;
// 创建地图实例
var map = new BMap.Map("allmap");
// 创建坐标点
var point = new BMap.Point(lng, lat);
// 创建地理编码实例
var geoc = new BMap.Geocoder();
// 逆地理编码获取省市信息
geoc.getLocation(point, function(res){
var province = res.addressComponents.province;
var city = res.addressComponents.city;
alert("您当前所在的省份为:" + province + ",城市为:" + city);
});
}
</script>
</head>
<body>
<h1>获取当前位置省市信息</h1>
<button onclick="getLocation()">获取位置信息</button>
<div id="allmap"></div>
</body>
</html>
```
在这个示例中,我们使用了百度地图的JavaScript API,并通过`navigator.geolocation`获取了用户当前的经纬度信息,然后通过`BMap.Geocoder`逆地理编码获取了省市信息,并将其显示在一个弹出框中。
需要注意的是,你需要将代码中的`你的百度地图API Key`替换为你自己的百度地图API Key。另外,由于使用了百度地图的API,所以你需要保证你的设备能够正常访问百度地图的API接口。
阅读全文