﻿	
	//====================================地图文本类============================================
	
	/**
	 * 定义文本类
	 */	
	function KMapText(position)
    {
        this.point = position;
        this.borderColor = "#ADAEAC";
        this.borderLine = "1px";
        this.borderStyle = "solid";
        
        //创建文本显示层
        this.div = KBase.createDiv(1, null, 480);
        this.div.ID = "KMapTextDiv";
        this.tab = KBase.createElement("table");
        this.tab.cellPadding = 0;
        this.tab.cellSpacing = 0;
        this.tab.border = 0;
        KBase.getStyle(this.tab)["border"] = this.borderColor + " " + this.borderStyle + " " + this.borderLine;

        var tr = this.tab.insertRow(0);
        this.tdContainer = tr.insertCell(0);
        KBase.getStyle(this.tdContainer)["fontSize"] = "12px";
        this.tdContainer.bgColor = "#FFFFD7";
        KBase.getStyle(this.tdContainer)["color"] = "#993300";
        this.tdContainer.innerHTML = "";
        this.div.appendChild(this.tab);
        if (position)
        {
            this.setPoint(position);
        }
    }
    
    /**
	 * 鼠标在上面
	 */	
    var KMapText_onMouseOver = function()
    {
        var textObject = this;
        KBase.setZIndex(textObject.div, 510);
    }
    
    /**
	 * 鼠标移出
	 */	
    var KMapText_onMouseOut = function()
    {
        var textObject = this;
        KBase.setZIndex(textObject.div, 480);
    }
    
    /**
	 * 初始化
	 */
    var KMapText_initialize = function(mapObject)
    {
        var textObject = this;
        textObject.Map = mapObject;
    }
    
    /**
	 * 获取HTML控件
	 */	
    var KMapText_getObject = function()
    {
        var textObject = this;
        return textObject.div;
    }
    
    /**
	 * 重新绘制文本
	 */	
    var KMapText_reDraw = function()
    {
        var textObject = this;
        KBase.setPosition(textObject.div, [textObject.point[0], textObject.point[1] - textObject.div.offsetHeight / 2]);        
    }
    
    /**
     *对象释放
     */
    var KMapText_depose = function()
    {

    }
    
    /**
     *	设置文本是否可见
     *	isVisible为true表示见可，否则为不可见
     */
    var KMapText_setVisible = function(isVisible)
    {
        var textObject = this;
        KBase.getStyle(textObject.div)["visibility"] = isVisible ? "visible" : "hidden";
    }
    
    /**
     * 设置文本
     */
    var KMapText_setText = function(text)
    {
        var textObject = this;
        if (text && KEvent.isHtmlControl(text))//如果设置对象为HTML控件
        {
            textObject.tdContainer.innerHTML = "";
            if (text.parentNode)
            {
                text.parentNode.removeChild(text);
            }
            textObject.tdContainer.appendChild(text);
        }
        else
        {
            textObject.tdContainer.innerHTML = text;
        }
    }
    
    /**
     * 设置背景颜色
     */    
    var KMapText_setBgColor = function(color)
    {
        var textObject = this;
        textObject.tdContainer.bgColor = color;
    }
    
    /**
     * 设置文本边框线宽度
     */   
    var KMapText_setBorderLine = function(width)
    {
        var textObject = this;
        textObject.borderLine = KBase.getUserInput(width);
        KBase.getStyle(textObject.tab)["border"] = textObject.borderColor + " " + textObject.borderStyle + " " + textObject.borderLine;
    }
    
    /**
     * 设置文本边框线颜色
     */   
    var KMapText_setBorderColor = function(color)
    {
        var textObject = this;
        textObject.borderColor = color;
        KBase.getStyle(textObject.tab)["border"] = textObject.borderColor + " " + textObject.borderStyle + " " + textObject.borderLine;
    }
    
    /**
     * 设置文本位置
     */
    var KMapText_setPoint = function(position)
    {
        var textObject = this;        
        textObject.point = position;
        try
        {
            textObject.reDraw(true);
        }
        catch (x)
        {

        }
    }
    
    /**
     * 设置字体大小
     */
    var KMapText_setFontSize = function(size)
    {
        var textObject = this;
        KBase.getStyle(textObject.tdContainer)["fontSize"] = KBase.getUserInput(size);
    }
    
    /**
     * 设置字体颜色
     */
    var KMapText_setFontColor = function(color)
    {
        var textObject = this;
        KBase.getStyle(textObject.tdContainer)["color"] = color;
    }
    
    /**
     * 设置透明度
     */
    var KMapText_setOpacity = function(scale)
    {
        var textObject = this;
        KBase.setOpacity(textObject.tab, scale);
    }
    
    /**
     * 设置文本是否遮蔽
     */
    var KMapText_setNoWrap = function(isNoWrap)
    {
        var textObject = this;
        textObject.tdContainer.noWrap = isNoWrap;
    }
    
    KConfig.defineClass("KMapText", KMapText);
        
    KConfig.defineFunction(KMapText, "onMouseOver", KMapText_onMouseOver);
    KConfig.defineFunction(KMapText, "onMouseOut", KMapText_onMouseOut);
    KConfig.defineFunction(KMapText, "initialize", KMapText_initialize);
    KConfig.defineFunction(KMapText, "getObject", KMapText_getObject);
    KConfig.defineFunction(KMapText, "reDraw", KMapText_reDraw);
    KConfig.defineFunction(KMapText, "depose", KMapText_depose);
    KConfig.defineFunction(KMapText, "setVisible", KMapText_setVisible);
    KConfig.defineFunction(KMapText, "setText", KMapText_setText);
    KConfig.defineFunction(KMapText, "setBgColor", KMapText_setBgColor);
    KConfig.defineFunction(KMapText, "setBorderLine", KMapText_setBorderLine);
    KConfig.defineFunction(KMapText, "setBorderColor", KMapText_setBorderColor);
    KConfig.defineFunction(KMapText, "setPoint", KMapText_setPoint);
    KConfig.defineFunction(KMapText, "setFontSize", KMapText_setFontSize);
    KConfig.defineFunction(KMapText, "setFontColor", KMapText_setFontColor);
    KConfig.defineFunction(KMapText, "setOpacity", KMapText_setOpacity);
    KConfig.defineFunction(KMapText, "setNoWrap", KMapText_setNoWrap);
    
    //====================================地图文本类[END]=========================================
