• 高德地图和canvas画图结合应用(二)


    上节讲述了如在在高德地图中添加canvas图层,这节就讲述下如何在canvas图层添加鼠标的事件。

    在上节脚本的最后加入以下代码:

    var text;
    $('#container').on('click', 'canvas.amap-labels', function(e) {
        if(text)
            text.setMap(null);
        //使用勾股定理计算这个点与圆心之间的距离
        var pixel = map.lnglatTocontainer(new AMap.LngLat(116.344496,39.939976));
        var distanceFromCenter = Math.sqrt(Math.pow(pixel.getX() - e.clientX, 2) + Math.pow(pixel.getY() - e.clientY, 2));
        if (distanceFromCenter <= 50){
            console.log('x='+e.clientX+' y='+e.clientY);
            text = new AMap.Text({
                text:'北京展览馆1',
                textAlign:'left', // 'left' 'right', 'center',
                verticalAlign:'middle', //middle 、bottom
                draggable:false,
                cursor:'pointer',
                style:{
                    'background-color':'#21b6f4',
                    'opacity': '0.8',
                    'border':'none',
                    'color':'#fff',
                    'padding':'0'
                 },
                position: [116.344496,39.939976]
            });
            text.setOffset(new AMap.Pixel(50, 0));
            text.setMap(map);
        }
    });

    这里记得引入jquery的脚本哈,不然会报错哦。

    运行效果如下所示:

  • 相关阅读:
    iscroll.js
    HTML 第九章总结
    HTML第八章总结
    HTML第七章总结
    HTML第六章总结
    HTML第五章总结
    HTML第四章总结
    HTML第三章总结
    HTML第二章总结
    HTML第一章总结
  • 原文地址:https://www.cnblogs.com/blogofwu/p/8617548.html
Copyright © 2020-2023  润新知