AI 地图
产品服务
解决方案
文档与支持
定价
更新时间: 2026/07/29 19:14

百度地图 JSAPI 的事件用于响应用户操作和地图状态变化,例如点击地图、拖拽地图、缩放级别变化等。开发者可以在地图对象上注册事件监听函数,并在回调中读取事件参数来执行业务逻辑。

事件监听

JSAPI 中的地图、覆盖物等对象都可以通过 addEventListener 监听事件。事件由 API 对象触发,监听函数会接收事件对象作为参数;不同事件的参数字段可能不同,例如地图 click 事件会返回点击位置。

1. 绑定事件监听

addEventListener 的第一个参数是事件名,第二个参数是事件触发时执行的监听函数。建议使用具名函数,便于后续移除监听。

function handleMapClick(e) {
console.log('地图被点击', e);
}
map.addEventListener('click', handleMapClick);
2. 使用事件参数

监听函数的参数通常命名为 e。对于地图 click 事件,可以通过 e.point 获取点击位置对应的经纬度。

function handleMapClick(e) {
var point = e.point;
alert('点击的坐标:' + point.lng + ', ' + point.lat);
}
map.addEventListener('click', handleMapClick);
3. 移除事件监听

removeEventListener 用于移除事件监听。移除时需要传入相同的事件名和同一个监听函数引用;如果直接传入匿名函数,后续通常无法精确移除。

map.removeEventListener('click', handleMapClick);
事件列表

地图支持多种事件,通过功能的组合可以实现绝大多数场景下的交互需求。以下是常见的地图事件,完整的事件支持类参考见MapEventMap

1. 鼠标事件
事件名交互触发方式

click

左键单击地图时触发

dblclick

鼠标双击地图时触发,双击时依次触发 click → click → dblclick

rightclick

右键单击地图时触发

rightdblclick

右键双击地图时触发,双击时依次触发 rightclick → rightclick → rightdblclick

mousemove

鼠标在地图区域移动时持续触发

mousedown

鼠标按下时触发

mouseup

鼠标松开时触发

mouseover

鼠标移入地图区域时触发

mouseout

鼠标移出地图区域时触发

2.拖拽事件
事件名交互触发方式

dragstart

开始拖拽地图时触发

dragging

拖拽地图过程中持续触发

dragend

停止拖拽地图时触发

3.移动与缩放事件
事件名交互触发方式

movestart

地图移动开始时触发

moving

地图移动过程中持续触发

moveend

地图移动结束时触发

zoomstart

地图开始更改缩放级别时触发

zooming

地图缩放过程中触发

zoomend

地图完成缩放级别变化时触发

上一篇

地图类型

下一篇

地图UI控件
本篇文章对您是否有帮助?