高德地图搜索结果上的红点标记点击无法获取到经纬度问题
时间: 2024-04-01 22:37:09 浏览: 202
当你点击搜索结果上的红点标记时,可以通过监听 `onMouseClick` 事件来获取该标记所在位置的经纬度信息。具体的实现方法如下:
1. 在创建地图时,设置 `isHotspot` 为 true,以启用热点事件。
```javascript
var map = new AMap.Map('container', {
zoom: 10,
center: [116.39, 39.9],
isHotspot: true // 启用热点事件
});
```
2. 监听 `onMouseClick` 事件,获取点击位置的经纬度信息。
```javascript
var placeSearch = new AMap.PlaceSearch({
pageSize: 10,
pageIndex: 1,
map: map,
panel: "panel"
});
AMap.event.addListener(placeSearch, 'markerClick', function(e) {
map.on('hotspotclick', function (result) {
console.log(result.lnglat.getLng(), result.lnglat.getLat());
});
});
```
在上面的代码中,我们通过 `map.on('hotspotclick', function(result) { ... })` 监听了地图上的热点事件,当用户点击地图上的一个热点(例如搜索结果上的红点标记)时,会触发 `hotspotclick` 事件,同时将点击位置的经纬度信息传递给回调函数中的 `result` 参数。通过 `result.lnglat.getLng()` 和 `result.lnglat.getLat()` 方法,我们可以获取到点击位置的经度和纬度信息。
阅读全文