${this._text > 1 ? customImageNumber : ''}
${imageUrl ? imageElement : '
'}
`
const labelDocument = new DOMParser().parseFromString(htmlString, 'text/html');
const label = labelDocument.body.firstElementChild;
this._domElement.append(label);
};
TextIconOverlay.prototype.buildImageCssText = function(style) {
//根据style来确定一些默认值
var size = style['size'];
var anchor = style['anchor'];
var textColor = style['textColor'] || 'black';
var textSize = style['textSize'] || 10;
var cssText = [];
cssText.push('height:' + size.height + 'px; line-height:' + size.height + 'px;');
cssText.push('width:' + size.width + 'px; text-align:center;');
cssText.push('cursor:pointer; color:' + textColor + '; position:absolute; font-size:' +
textSize + 'px; font-family:Arial,sans-serif; font-weight:bold');
return cssText.join('');
};
/**
*更新覆盖物的显示文字。
*@return 无返回值。
*/
TextIconOverlay.prototype._updateText = function(){
if (this._domElement) {
this._domElement.innerHTML = this._text;
}
};
/**
*调整覆盖物在地图上的位置更新覆盖物的显示文字。
*@return 无返回值。
*/
TextIconOverlay.prototype._updatePosition = function(){
if (this._domElement && this._position) {
var style = this._domElement.style;
var pixelPosition= this._map.pointToOverlayPixel(this._position);
pixelPosition.x -= Math.ceil(parseInt(style.width) / 2);
pixelPosition.y -= Math.ceil(parseInt(style.height) + 8);
style.left = pixelPosition.x + "px";
style.top = pixelPosition.y + "px";
}
};
/**
* 为该覆盖物的HTML元素构建CSS
* @param {IconStyle} 一个图标的风格。
* @return {String} 构建完成的CSSTEXT。
*/
TextIconOverlay.prototype._buildCssText = function(style) {
//根据style来确定一些默认值
var url = style['url'];
var size = style['size'];
var anchor = style['anchor'];
var offset = style['offset'];
var textColor = style['textColor'] || 'black';
var textSize = style['textSize'] || 10;
var cssText = [];
if (T.browser["ie"] < 7) {
cssText.push('filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(' +
'sizingMethod=scale,src="' + url + '");');
} else {
cssText.push('background-image:url(' + url + ');');
var backgroundPosition = '0 0';
(offset instanceof BMapGL.Size) && (backgroundPosition = offset.width + 'px' + ' ' + offset.height + 'px');
cssText.push('background-position:' + backgroundPosition + ';');
}
if (size instanceof BMapGL.Size){
if (anchor instanceof BMapGL.Size) {
if (anchor.height > 0 && anchor.height < size.height) {
cssText.push('height:' + (size.height - anchor.height) + 'px; padding-top:' + anchor.height + 'px;');
}
if(anchor.width > 0 && anchor.width < size.width){
cssText.push('width:' + (size.width - anchor.width) + 'px; padding-left:' + anchor.width + 'px;');
}
} else {
cssText.push('height:' + size.height + 'px; line-height:' + size.height + 'px;');
cssText.push('width:' + size.width + 'px; text-align:center;');
}
}
cssText.push('cursor:pointer; color:' + textColor + '; position:absolute; font-size:' +
textSize + 'px; font-family:Arial,sans-serif; font-weight:bold');
return cssText.join('');
};
/**
* 当鼠标点击该覆盖物时会触发该事件
* @name TextIconOverlay#click
* @event
* @param {Event Object} e 回调函数会返回event参数,包括以下返回值:
*