百度地图如何实现修改覆盖物层级

想要实现的功能:鼠标当前悬浮的覆盖物层级最高

不太清楚百度地图的覆盖物点的渲染顺序,如下图:marker1是先渲染的但还是覆盖到了marker2的上面;

img

使用的百度地图是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>

img

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632