美文网首页Web前端之路
WebAPP开发与小程序之高德地图-6

WebAPP开发与小程序之高德地图-6

作者: 梁文璇 | 来源:发表于2020-03-11 20:35 被阅读0次

    第六章  覆盖物状态改变时触发

    覆盖物状态改变时触发的事件  

    栗子1:覆盖物与地图的交互

    var text = new AMap.Text({

        text:'覆盖物事件',

        position:[116.379391,39.861536]

    });

    text.setMap(map);

    // 鼠标移入覆盖物

    text.on('mouseover',function(){

        console.log('覆盖物移入');

    });

    // 鼠标移出覆盖物

    text.on('mouseout',function(){

        console.log('覆盖物移出');

    });

    // 鼠标在覆盖物上不断移动

    text.on('mousemove',function(){

    console.log('覆盖物');

    });

    栗子2:如何让矢量图显示和隐藏

    // 圆形矢量图

    var circle = new AMap.Circle({

        center:[116.379391,39.861536],

        radius:1000

    });

    circle.setMap(map);

    //长方形矢量图

    var rectangle = new AMap.Rectangle({

            bounds:new AMap.Bounds(new AMap.LngLat(116.379391,39.861536),new         AMap.LngLat(121.379391,41.861536))  // 左下角和右上角

    });

    rectangle.setMap(map);

    setTimeout(function(){

        circle.hide();

    },2000);

    setTimeout(function(){

        rectangle.hide();

    },4000);

    setTimeout(function(){

        circle.show();

    },6000);

    setTimeout(function(){

        rectanglee.show();

    },8000);

    栗子3:右键菜单的显示与关闭

    // 创建一个右键菜单

    var contextmenu = new AMap.ContextMenu();

    // 右键的第一个菜单

    contextmenu.addItem('放大一级',function(){

        map.zoomIn();

    },0);

    // 右键的第二个菜单

    contextmenu.addItem('缩小一级',function(){

        map.zoomOut();

    },1);

    // 给地图绑定右键

    map.on('rightclick',function(e){

            // 打开右键 参数1代表在哪个地图,参数2代表位置

        contextmenu.open(map,e.lnglat);

        setTimeout(function(){

                 // 关闭右键菜单

                contextmenu.close();

        },3000);

    });

    第七章 其他事件

    ⑴  DOM事件

    AMap.event.addDomListener                绑定方法

    AMap.event.removeListener                  解绑方法

    // 绑定的事件名是click/mouseover/mousedown等

    AMap.event.addDomListener(绑定的元素,绑定的事件名,函数)

    AMap.event.removeListener(要解除绑定的函数名)

    例如:DOM事件绑定

    var lis1 = AMap.event.addDomListener(button1,'click',function() {

        map.zoomIn();

    });

    AMap.event.addDomListener(button2,'click',function(){

        AMap.event.removeListener(lis1);

    });

    ⑵ 自定义事件

       AMap.event.addListener或对地图对象的on方法进行事件绑定

       使用地图对象emit方法进行事件的派发

    例如:

    // 变量记录点击次数

    var count = 0;

    // 点击事件

    var _onclick = function(){

    // 事件派发或者说是变量的改变

        map.emit('count',{count:count += 1});

    };

    // 监听的变量发生改变时触发的函数

    var _oncount = function(){

        console.log(count);

    };

    // 监听的变量发生改变时

    map.on('count',_oncount);

    AMap.event.addListener(map,'click',_onclick);

    高德地图全部知识点已经说完了,下面我们来个小栗子,就怕你们懒得敲,直接复制粘贴,我就截图放在下边喽~

    css样式部分 html部分 js部分 - 01 js部分 - 02

    小伙伴们,别忘了在页面内加入入口脚本标签哦,就是那个你申请的key值,这样才算是完成了~

    相关文章

      网友评论

        本文标题:WebAPP开发与小程序之高德地图-6

        本文链接:https://www.haomeiwen.com/subject/cmghjhtx.html