点击marker 怎么显示地名
时间: 2024-03-01 16:54:11 浏览: 117
在高德地图API中,可以通过调用逆地理编码服务(AMap.Geocoder)来获取标记(Marker)所在位置的地名信息,然后将其显示在标记上。
以下是一个示例代码,可以在点击标记时显示标记所在位置的地名信息:
```javascript
// 创建地图对象
var map = new AMap.Map('container', {
zoom: 13, // 设置地图缩放级别
center: [116.397428, 39.90923] // 设置地图中心点
});
// 创建一个 Marker 实例
var marker = new AMap.Marker({
position: [116.397428, 39.90923], // 设置标记的位置
map: map // 将标记添加到地图上
});
// 创建逆地理编码服务实例
var geocoder = new AMap.Geocoder({
radius: 1000, // 逆地理编码查询范围,默认:500
extensions: 'all' // 返回行政区划、乡镇街道等地址信息,默认:base
});
// 绑定标记的点击事件
marker.on('click', function(e) {
// 调用逆地理编码服务,获取标记所在位置的地名信息
geocoder.getAddress(e.lnglat, function(status, result) {
if (status === 'complete' && result.regeocode) {
// 将地名信息显示在标记上
marker.setTitle(result.regeocode.formattedAddress);
marker.setLabel({
content: result.regeocode.formattedAddress,
offset: new AMap.Pixel(0, -20)
});
} else {
console.log('获取地名信息失败');
}
});
});
```
在上面的代码中,首先创建了一个地图对象,并创建了一个 Marker 实例,将其添加到地图上。然后创建了一个逆地理编码服务实例,用于获取地名信息。在标记的点击事件回调函数中,调用逆地理编码服务,获取标记所在位置的地名信息,并将其显示在标记上。
阅读全文