想要实现的功能:鼠标当前悬浮的覆盖物层级最高
不太清楚百度地图的覆盖物点的渲染顺序,如下图:marker1是先渲染的但还是覆盖到了marker2的上面;
使用的百度地图是v3的webgl类型的,有想法的欢迎回复啊~~ 感谢!
不太清楚百度地图的覆盖物点的渲染顺序,如下图:marker1是先渲染的但还是覆盖到了marker2的上面;
使用的百度地图是v3的webgl类型的,有想法的欢迎回复啊~~ 感谢!
添加mouseover事件,调用setZIndex方法设置下层级就行了
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="utf-8">
<title>添加点标记</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="viewport" content="initial-scale=1.0, user-scalable=no">
<meta http-equiv="X-UA-Compatible" content="IE=Edge">
<style>
body,
html,
#container {
overflow: hidden;
width: 100%;
height: 100%;
margin: 0;
font-family: "微软雅黑";
}
</style>
<script src="//api.map.baidu.com/api?type=webgl&v=1.0&ak=您的密钥"></script>
</head>
<body>
<div id="container"></div>
</body>
</html>
<script>
var map = new BMapGL.Map('container');
map.centerAndZoom(new BMapGL.Point(116.404, 39.928), 14);
map.enableScrollWheelZoom(true);
// 创建点标记
var marker1 = new BMapGL.Marker(new BMapGL.Point(116.404, 39.914));
var marker2 = new BMapGL.Marker(new BMapGL.Point(116.404, 39.915));
// 在地图上添加点标记
map.addOverlay(marker1);
map.addOverlay(marker2);
var zindex=1;
function setZIndex(){this.setZIndex(zindex++);}
marker1.addEventListener('mouseover',setZIndex)
marker2.addEventListener('mouseover',setZIndex)
</script>