百度地图API中的大部分对象都含有addEventListener方法,addEventListener方法有两个参数:监听的事件名称和事件触发时调用的函数。
- 监听地图的单击事件,或者双击事件
- 在回调函数中添加一些逻辑
- 根据业务需要移除事件监听
右键菜单
- BMapGL.ContextMenu();
- 提供了MenuItem构造函数来定义菜单项实例,其接收三个参数,分别是菜单项显示的文本(string)、点击后的回调函数(Function)以及一个可选的MenultOptions(对象字面量)参数
- 使用addContextMenu方法给地图添加右键菜单。
注意哟 let menu = new BMapGL.ContextMenu(); 是使用 BMapGL
添加轨迹动画
- 轨迹动画依赖开源库BMapGLLib.TrackAnimation,因此需要在引入JSAPI GL版的基础上,在页面当中引用轨迹动画开源库静态JS文件 注意先后顺序哟
<script type="text/javascript" src="https://api.map.baidu.com/api?v=1.0&type=webgl&ak=密钥"></script>
<script type="text/javascript" src="https://api.map.baidu.com/library/TrackAnimation/src/TrackAnimation_min.js"></script>
- 自定义一个折线轨迹,声明一个Polyline对象,不需要调用Map.addOverlay()添加到地图中,创建对象
- 创建个轨迹动画对象,并配置参数,轨迹动画的构造参数接受3个参数。参数1为当前地图对象;参数2为折线对象;参数3为配置对象
var trackAni = new BMapGLLib.TrackAnimation(map, pl, {
overallView: true, // 动画完成后自动调整视野到总览
tilt: 30, // 轨迹播放的角度,默认为55
duration: 20000, // 动画持续时长,默认为10000,单位ms
delay: 3000 // 动画开始的延迟,默认0,单位ms
});
- 启动动画 trackAni.start();
- 强制停止动画 trackAni.cancel();
自定义天空颜色
map.setDisplayOptions({
skyColors: ['rgba(255, 30, 255, 0)','rgba(196, 245, 255, 0.2)']
})
添加/清除覆盖
- 我们比如日常添加折线图,点,多边形地图上是覆盖物,我们可以通过 map.addOverlay 添加到地图上
- 当我们需要去除覆盖物的时候可以 map.clearOverlays() 清除我们添加的覆盖物