/**
* @fileoverview 此类表示地图上的一个覆盖物,该覆盖物由文字和图标组成,从Overlay继承。
* 主入口类是<a href="symbols/BMapLib.TextIconOverlay.html">TextIconOverlay</a>,
* 基于Baidu Map API 1.2。
*
* @author Baidu Map Api Group
* @version 1.2
*/
/**
* @namespace BMap的所有library类均放在BMapLib命名空间下
*/
var BMapLib = window.BMapLib = BMapLib || {};
(function () {
/**
* 声明baidu包
*/
var T,
baidu = T = baidu || {version: "1.3.8"};
(function (){
//提出guid,防止在与老版本Tangram混用时
//在下一行错误的修改window[undefined]
baidu.guid = "$BAIDU$";
//Tangram可能被放在闭包中
//一些页面级别唯一的属性,需要挂载在window[baidu.guid]上
window[baidu.guid] = window[baidu.guid] || {};
/**
* @ignore
* @namespace baidu.dom 操作dom的方法。
*/
baidu.dom = baidu.dom || {};
/**
* 从文档中获取指定的DOM元素
* @name baidu.dom.g
* @function
* @grammar baidu.dom.g(id)
* @param {string|HTMLElement} id 元素的id或DOM元素
* @shortcut g,T.G
* @meta standard
* @see baidu.dom.q
*
* @returns {HTMLElement|null} 获取的元素,查找不到时返回null,如果参数不合法,直接返回参数
*/
baidu.dom.g = function (id) {
if ('string' == typeof id || id instanceof String) {
return document.getElementById(id);
} else if (id && id.nodeName && (id.nodeType == 1 || id.nodeType == 9)) {
return id;
}
return null;
};
// 声明快捷方法
baidu.g = baidu.G = baidu.dom.g;
/**
* 获取目标元素所属的document对象
* @name baidu.dom.getDocument
* @function
* @grammar baidu.dom.getDocument(element)
* @param {HTMLElement|string} element 目标元素或目标元素的id
* @meta standard
* @see baidu.dom.getWindow
*
* @returns {HTMLDocument} 目标元素所属的document对象
*/
baidu.dom.getDocument = function (element) {
element = baidu.dom.g(element);
return element.nodeType == 9 ? element : element.ownerDocument || element.document;
};
/**
* @ignore
* @namespace baidu.lang 对语言层面的封装,包括类型判断、模块扩展、继承基类以及对象自定义事件的支持。
*/
baidu.lang = baidu.lang || {};
/**
* 判断目标参数是否string类型或String对象
* @name baidu.lang.isString
* @function
* @grammar baidu.lang.isString(source)
* @param {Any} source 目标参数
* @shortcut isString
* @meta standard
* @see baidu.lang.isObject,baidu.lang.isNumber,baidu.lang.isArray,baidu.lang.isElement,baidu.lang.isBoolean,baidu.lang.isDate
*
* @returns {boolean} 类型判断结果
*/
baidu.lang.isString = function (source) {
return '[object String]' == Object.prototype.toString.call(source);
};
// 声明快捷方法
baidu.isString = baidu.lang.isString;
/**
* 从文档中获取指定的DOM元素
* **内部方法**
*
* @param {string|HTMLElement} id 元素的id或DOM元素
* @meta standard
* @return {HTMLElement} DOM元素,如果不存在,返回null,如果参数不合法,直接返回参数
*/
baidu.dom._g = function (id) {
if (baidu.lang.isString(id)) {
return document.getElementById(id);
}
return id;
};
// 声明快捷方法
baidu._g = baidu.dom._g;
/**
* @ignore
* @namespace baidu.browser 判断浏览器类型和特性的属性。
*/
baidu.browser = baidu.browser || {};
if (/msie (\d+\.\d)/i.test(navigator.userAgent)) {
//IE 8下,以documentMode为准
//在百度模板中,可能会有$,防止冲突,将$1 写成 \x241
/**
* 判断是否为ie浏览器
* @property ie ie版本号
* @grammar baidu.browser.ie
* @meta standard
* @shortcut ie
* @see baidu.browser.firefox,baidu.browser.safari,baidu.browser.opera,baidu.browser.chrome,baidu.browser.maxthon
*/
baidu.browser.ie = baidu.ie = document.documentMode || + RegExp['\x241'];
}
/**
* 获取目标元素的computed style值。如果元素的样式值不能被浏览器计算,则会返回空字符串(IE)
*
* @author berg
* @name baidu.dom.getComputedStyle
* @function
* @grammar baidu.dom.getComputedStyle(element, key)
* @param {HTMLElement|string} element 目标元素或目标元素的id
* @param {string} key 要获取的样式名
*
* @see baidu.dom.getStyle
*
* @returns {string} 目标元素的computed style值
*/
baidu.dom.getComputedStyle = function(element, key){
element = baidu.dom._g(element);
var doc = baidu.dom.getDocument(element),
styles;
if (doc.defaultView && doc.defaultView.getComputedStyle) {
styles = doc.defaultView.getComputedStyle(element, null);
if (styles) {
return styles[key] || styles.getPropertyValue(key);
}
}
return '';
};
/**
* 提供给setStyle与getStyle使用
*/
baidu.dom._styleFixer = baidu.dom._styleFixer || {};
/**
* 提供给setStyle与getStyle使用
*/
baidu.dom._styleFilter = baidu.dom._styleFilter || [];
/**
* 为获取和设置样式的过滤器
* @private
* @meta standard
*/
baidu.dom._styleFilter.filter = function (key, value, method) {
for (var i = 0, filters = baidu.dom._styleFilter, filter; filter = filters[i]; i++) {
if (filter = filter[method]) {
value = filter(key, value);
}
}
return value;
};
/**
* @ignore
* @namespace baidu.string 操作字符串的方法。
*/
baidu.string = baidu.string || {};
/**
* 将目标字符串进行驼峰化处理
* @name baidu.string.toCamelCase
* @function
* @grammar baidu.string.toCamelCase(source)
* @param {string} source 目标字符串
* @remark
* 支持单词以“-_”分隔
* @meta standard
*
* @returns {string} 驼峰化处理后的字符串
*/
baidu.string.toCamelCase = function (source) {
//提前判断,提高getStyle等的效率 thanks xianwei
if (source.indexOf('-') < 0 && source.indexOf('_') < 0) {
return source;
}
return source.replace(/[-_][^-_]/g, function (match) {
return match.charAt(1).toUpperCase();
});
};
/**
* 获取目标元素的样式值
* @name baidu.dom.getStyle
* @function
* @grammar baidu.dom.getStyle(element, key)
* @param {HTMLElement|string} element 目标元素或目标元素的id
* @param {string} key 要获取的样式名
* @remark
*
* 为了精简代码,本模块默认不对任何浏览器返回值进行归一化处理(如使用getStyle时,不同浏览器下可能返回rgb颜色或hex颜色
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
RocketMQ集群、分布式WebSocket实现以及地图找房功能Java代码实现.zip (5个子文件)
RocketMQ集群、分布式WebSocket实现以及地图找房功能Java代码实现
itcast-haoke-manage.zip 439KB
itcast-rocketmq.zip 67KB
itcast-haoke-web.zip 2.38MB
textIconOverlay.js 38KB
itcast-haoke-im.zip 101KB
共 5 条
- 1
资源评论
小小哭包
- 粉丝: 1905
- 资源: 3909
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功