openlayers百度地图根据经纬度拿到实际地址
时间: 2023-08-29 21:05:30 浏览: 132
可以使用百度地图的API来实现根据经纬度拿到实际地址的功能。具体步骤如下:
1. 引入百度地图API文件
```html
<script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=您的密钥"></script>
```
2. 创建地图对象并添加控件
```javascript
var map = new BMap.Map("map"); // 创建地图实例
var point = new BMap.Point(lon, lat); // 创建点坐标
map.centerAndZoom(point, 15); // 初始化地图,设置中心点坐标和缩放级别
map.addControl(new BMap.NavigationControl()); // 添加缩放控件
map.addControl(new BMap.ScaleControl()); // 添加比例尺控件
```
3. 使用逆地址解析获取实际地址
```javascript
var geoc = new BMap.Geocoder();
geoc.getLocation(point, function(result){
if (result){
var address = result.address; // 获取解析后的地址
console.log(address);
}
});
```
完整代码示例:
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>百度地图</title>
<style type="text/css">
#map {
width: 100%;
height: 500px;
}
</style>
</head>
<body>
<div id="map"></div>
<script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=您的密钥"></script>
<script type="text/javascript">
var lon = 116.404;
var lat = 39.915;
var map = new BMap.Map("map"); // 创建地图实例
var point = new BMap.Point(lon, lat); // 创建点坐标
map.centerAndZoom(point, 15); // 初始化地图,设置中心点坐标和缩放级别
map.addControl(new BMap.NavigationControl()); // 添加缩放控件
map.addControl(new BMap.ScaleControl()); // 添加比例尺控件
var geoc = new BMap.Geocoder();
geoc.getLocation(point, function(result){
if (result){
var address = result.address; // 获取解析后的地址
console.log(address);
}
});
</script>
</body>
</html>
```
其中,`您的密钥`需要替换成自己的百度地图密钥。
阅读全文