qq.maps.Label 类

继承自MVCObject

文字标签,可以设置简单的样式。

构造函数

构造函数
Label(options:LabelOptions)

方法

方法 返回值 说明
getContent() String 返回Label的内容。
getMap() Map 返回Label所在的map对象。
getPosition() LatLng 返回Label的位置。
getVisible() Boolean 返回Label是否可见。
getZIndex() Number 返回Label的zIndex。
setContent(content:String) none 设置Label的内容。
setMap(map:Map) none 设置Label所在的map对象。
setPosition(position:LatLng) none 设置Label的位置。
setStyle(style:Object) none 设置Label样式,例如:{color:"#000000",backgroundColor:"red"}。
setVisible(visible:Boolean) none 设置Label的可见性。
setZIndex(zIndex:Number) none 设置Label的zIndex。
setOptions(options:LabelOptions) none 设置Label参数。

事件

事件名 参数 说明
content_changed none Label的内容变化后触发此事件。
map_changed none Label所属地图变化后会触发此事件。
content_changed none Label的位置变化后触发此事件。
visible_changed none Label可见性变化后触发此事件。
content_changed none Label的zIndex值变化后触发此事件。
click event:MouseEvent 点击Label后触发此事件。
mousedown event:MouseEvent 当鼠标在Label上按下后触发此事件。
mouseout event:MouseEvent 当鼠标移出Label时触发此事件。
mouseover event:MouseEvent 当鼠标进入Label时触发此事件。
mouseup event:MouseEvent 当鼠标在Label上释放时触发此事件。
rightclick event:MouseEvent 当鼠标在Label上右击后触发此事件。

实例

本示例中,介绍如何使用折线覆盖物的方法

JavaScript
var init = function() {
    var center = new qq.maps.LatLng(39.916527, 116.397128);
    var map = new qq.maps.Map(document.getElementById('container'), {
        center: center,
        zoom: 13
    });
    var label = new qq.maps.Label({
        position: center,
        map: map,
        content: '文本标注'
    });

    //setMap
    var mapM = document.getElementById("mapM");
    qq.maps.event.addDomListener(mapM, "click", function() {
        label.setVisible(true);
        if (label.getMap()) {
            label.setMap(null);
        } else {
            label.setMap(map);
        }
    });
    //setPosition
    var flag = true;
    var setP = document.getElementById("setP");
    var latLng = new qq.maps.LatLng(39.908709, 116.397519);
    qq.maps.event.addDomListener(setP, "click", function() {
        label.setMap(map);
        label.setVisible(true);
        if (flag) {
            flag = false;
            label.setPosition(latLng);
        } else {
            flag = true;
            label.setPosition(center);
        }
    });
    //setContent
    var flagC = true;
    var content = document.getElementById("content");
    var latLng = new qq.maps.LatLng(39.908709, 116.397519);
    qq.maps.event.addDomListener(content, "click", function() {
        label.setMap(map);
        label.setVisible(true);
        if (flagC) {
            flagC = false;
            label.setContent("内容改变");
        } else {
            flagC = true;
            label.setContent("文本标注");
        }
    });
    //setVisible
    var visibleF = document.getElementById("visibleF");
    qq.maps.event.addDomListener(visibleF, "click", function() {
        label.setMap(map);
        if (label.getVisible()) {
            label.setVisible(false);
        } else {
            label.setVisible(true);
        }
    });
    //setStyle
    var cssStyF = true;
    var cssSty = document.getElementById("cssSty");
    var latLng = new qq.maps.LatLng(39.908709, 116.397519);
    var cssC = {
        color: "#f00",
        fontSize: "16px",
        fontWeight: "bold"
    };
    var cssP = {
        color: "#000",
        fontSize: "14px",
        fontWeight: "normal"
    };
    qq.maps.event.addDomListener(cssSty, "click", function() {
        label.setMap(map);
        label.setVisible(true);
        if (cssStyF) {
            cssStyF = false;
            label.setStyle(cssC);
        } else {
            cssStyF = true;
            label.setStyle(cssP);
        }
    });
}
JavaScript+HTML
<!DOCTYPE html>
<html>

<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no" />
    <title>文本标记</title>
    <style type="text/css">
        * {
            margin: 0px;
            padding: 0px;
        }
        body,
        button,
        input,
        select,
        textarea {
            font: 12px/16px Verdana, Helvetica, Arial, sans-serif;
        }
        #info {
            width: 603px;
            padding-top: 3px;
            overflow: hidden;
        }
        .btn {
            width: 93px;
        }
    </style>
    <script charset="utf-8" src="https://map.qq.com/api/js?v=2.exp&key=OB4BZ-D4W3U-B7VVO-4PJWW-6TKDJ-WPB77"></script>
    <script>
        var init = function() {
            var center = new qq.maps.LatLng(39.916527, 116.397128);
            var map = new qq.maps.Map(document.getElementById('container'), {
                center: center,
                zoom: 13
            });
            var label = new qq.maps.Label({
                position: center,
                map: map,
                content: '文本标注'
            });

            //setMap
            var mapM = document.getElementById("mapM");
            qq.maps.event.addDomListener(mapM, "click", function() {
                label.setVisible(true);
                if (label.getMap()) {
                    label.setMap(null);
                } else {
                    label.setMap(map);
                }
            });
            //setPosition
            var flag = true;
            var setP = document.getElementById("setP");
            var latLng = new qq.maps.LatLng(39.908709, 116.397519);
            qq.maps.event.addDomListener(setP, "click", function() {
                label.setMap(map);
                label.setVisible(true);
                if (flag) {
                    flag = false;
                    label.setPosition(latLng);
                } else {
                    flag = true;
                    label.setPosition(center);
                }
            });
            //setContent
            var flagC = true;
            var content = document.getElementById("content");
            var latLng = new qq.maps.LatLng(39.908709, 116.397519);
            qq.maps.event.addDomListener(content, "click", function() {
                label.setMap(map);
                label.setVisible(true);
                if (flagC) {
                    flagC = false;
                    label.setContent("内容改变");
                } else {
                    flagC = true;
                    label.setContent("文本标注");
                }
            });
            //setVisible
            var visibleF = document.getElementById("visibleF");
            qq.maps.event.addDomListener(visibleF, "click", function() {
                label.setMap(map);
                if (label.getVisible()) {
                    label.setVisible(false);
                } else {
                    label.setVisible(true);
                }
            });
            //setStyle
            var cssStyF = true;
            var cssSty = document.getElementById("cssSty");
            var latLng = new qq.maps.LatLng(39.908709, 116.397519);
            var cssC = {
                color: "#f00",
                fontSize: "16px",
                fontWeight: "bold"
            };
            var cssP = {
                color: "#000",
                fontSize: "14px",
                fontWeight: "normal"
            };
            qq.maps.event.addDomListener(cssSty, "click", function() {
                label.setMap(map);
                label.setVisible(true);
                if (cssStyF) {
                    cssStyF = false;
                    label.setStyle(cssC);
                } else {
                    cssStyF = true;
                    label.setStyle(cssP);
                }
            });
        }
    </script>
</head>

<body onload="init()">
    <div style="width:603px;height:300px" id="container"></div>
    <div id="info" style="margin-top:10px;">
        <button id="mapM" class="btn">setMap</button>
        <button id="setP" class="btn">setPosition</button>
        <button id="content" class="btn">setContent</button>
        <button id="visibleF" class="btn">setVisible</button>
        <button id="cssSty" class="btn">setStyle</button>
    </div>
</body>

</html>