text: var BMapLib = window.BMapLib = BMapLib || {};
  (function() {
    var d, c = d = c || { version: '1.3.8' };
    (function() {
      c.guid = '$BAIDU$'
      window[c.guid] = window[c.guid] || {}
      c.dom = c.dom || {}
      c.dom.g = function(f) {
        if ('string' == typeof f || f instanceof String) {
          return document.getElementById(f)
        } else {
          if (f && f.nodeName && (f.nodeType == 1 || f.nodeType == 9)) {
            return f
          }
        }
        return null
      }
      c.g = c.G = c.dom.g
      c.dom.getDocument = function(f) {
        f = c.dom.g(f)
        return f.nodeType == 9 ? f : f.ownerDocument || f.document
      }
      c.lang = c.lang || {}
      c.lang.isString = function(f) {
        return '[object String]' == Object.prototype.toString.call(f)
      }
      c.isString = c.lang.isString
      c.dom._g = function(f) {
        if (c.lang.isString(f)) {
          return document.getElementById(f)
        }
        return f
      }
      c._g = c.dom._g
      c.browser = c.browser || {}
      if (/msie (\d+\.\d)/i.test(navigator.userAgent)) {
        c.browser.ie = c.ie = document.documentMode || +RegExp['\x241']
      }
      c.dom.getComputedStyle = function(g, f) {
        g = c.dom._g(g)
        var i = c.dom.getDocument(g), h
        if (i.defaultView && i.defaultView.getComputedStyle) {
          h = i.defaultView.getComputedStyle(g, null)
          if (h) {
            return h[f] || h.getPropertyValue(f)
          }
        }
        return ''
      }
      c.dom._styleFixer = c.dom._styleFixer || {}
      c.dom._styleFilter = c.dom._styleFilter || []
      c.dom._styleFilter.filter = function(g, k, l) {
        for (var f = 0, j = c.dom._styleFilter, h; h = j[f]; f++) {
          if (h = h[l]) {
            k = h(g, k)
          }
        }
        return k
      }
      c.string = c.string || {}
      c.string.toCamelCase = function(f) {
        if (f.indexOf('-') < 0 && f.indexOf('_') < 0) {
          return f
        }
        return f.replace(/[-_][^-_]/g, function(g) {
          return g.charAt(1).toUpperCase()
        })
      }
      c.dom.getStyle = function(h, g) {
        var j = c.dom
        h = j.g(h)
        g = c.string.toCamelCase(g)
        var i = h.style[g] || (h.currentStyle ? h.currentStyle[g] : '') || j.getComputedStyle(h, g)
        if (!i) {
          var f = j._styleFixer[g]
          if (f) {
            i = f.get ? f.get(h) : c.dom.getStyle(h, f)
          }
        }
        if (f = j._styleFilter) {
          i = f.filter(g, i, 'get')
        }
        return i
      }
      c.getStyle = c.dom.getStyle
      if (/opera\/(\d+\.\d)/i.test(navigator.userAgent)) {
        c.browser.opera = +RegExp['\x241']
      }
      c.browser.isWebkit = /webkit/i.test(navigator.userAgent)
      c.browser.isGecko = /gecko/i.test(navigator.userAgent) && !/like gecko/i.test(navigator.userAgent)
      c.browser.isStrict = document.compatMode == 'CSS1Compat'
      c.dom.getPosition = function(f) {
        f = c.dom.g(f)
        var o = c.dom.getDocument(f), i = c.browser, l = c.dom.getStyle,
          h = i.isGecko > 0 && o.getBoxObjectFor && l(f, 'position') == 'absolute' && (f.style.top === '' || f.style.left === ''),
          m = { left: 0, top: 0 }, k = (i.ie && !i.isStrict) ? o.body : o.documentElement, p, g
        if (f == k) {
          return m
        }
        if (f.getBoundingClientRect) {
          g = f.getBoundingClientRect()
          m.left = Math.floor(g.left) + Math.max(o.documentElement.scrollLeft, o.body.scrollLeft)
          m.top = Math.floor(g.top) + Math.max(o.documentElement.scrollTop, o.body.scrollTop)
          m.left -= o.documentElement.clientLeft
          m.top -= o.documentElement.clientTop
          var n = o.body, q = parseInt(l(n, 'borderLeftWidth')), j = parseInt(l(n, 'borderTopWidth'))
          if (i.ie && !i.isStrict) {
            m.left -= isNaN(q) ? 2 : q
            m.top -= isNaN(j) ? 2 : j
          }
        } else {
          p = f
          do {
            m.left += p.offsetLeft
            m.top += p.offsetTop
            if (i.isWebkit > 0 && l(p, 'position') == 'fixed') {
              m.left += o.body.scrollLeft
              m.top += o.body.scrollTop
              break
            }
            p = p.offsetParent
          } while (p && p != f)
          if (i.opera > 0 || (i.isWebkit > 0 && l(f, 'position') == 'absolute')) {
            m.top -= o.body.offsetTop
          }
          p = f.offsetParent
          while (p && p != o.body) {
            m.left -= p.scrollLeft
            if (!i.opera || p.tagName != 'TR') {
              m.top -= p.scrollTop
            }
            p = p.offsetParent
          }
        }
        return m
      }
      c.event = c.event || {}
      c.event._listeners = c.event._listeners || []
      c.event.on = function(g, j, l) {
        j = j.replace(/^on/i, '')
        g = c.dom._g(g)
        var k = function(n) {
          l.call(g, n)
        }, f = c.event._listeners, i = c.event._eventFilter, m, h = j
        j = j.toLowerCase()
        if (i && i[j]) {
          m = i[j](g, j, k)
          h = m.type
          k = m.listener
        }
        if (g.addEventListener) {
          g.addEventListener(h, k, false)
        } else {
          if (g.attachEvent) {
            g.attachEvent('on' + h, k)
          }
        }
        f[f.length] = [g, j, l, k, h]
        return g
      }
      c.on = c.event.on;
      (function() {
        var f = window[c.guid]
        c.lang.guid = function() {
          return 'TANGRAM__' + (f._counter++).toString(36)
        }
        f._counter = f._counter || 1
      })()
      window[c.guid]._instances = window[c.guid]._instances || {}
      c.lang.isFunction = function(f) {
        return '[object Function]' == Object.prototype.toString.call(f)
      }
      c.lang.Class = function(f) {
        this.guid = f || c.lang.guid()
        window[c.guid]._instances[this.guid] = this
      }
      window[c.guid]._instances = window[c.guid]._instances || {}
      c.lang.Class.prototype.dispose = function() {
        delete window[c.guid]._instances[this.guid]
        for (var f in this) {
          if (!c.lang.isFunction(this[f])) {
            delete this[f]
          }
        }
        this.disposed = true
      }
      c.lang.Class.prototype.toString = function() {
        return '[object ' + (this._className || 'Object') + ']'
      }
      c.lang.Event = function(f, g) {
        this.type = f
        this.returnValue = true
        this.target = g || null
        this.currentTarget = null
      }
      c.lang.Class.prototype.addEventListener = function(i, h, g) {
        if (!c.lang.isFunction(h)) {
          return
        }
        !this.__listeners && (this.__listeners = {})
        var f = this.__listeners, j
        if (typeof g == 'string' && g) {
          if (/[^\w\-]/.test(g)) {
            throw ('nonstandard key:' + g)
          } else {
            h.hashCode = g
            j = g
          }
        }
        i.indexOf('on') != 0 && (i = 'on' + i)
        typeof f[i] != 'object' && (f[i] = {})
        j = j || c.lang.guid()
        h.hashCode = j
        f[i][j] = h
      }
      c.lang.Class.prototype.removeEventListener = function(i, h) {
        if (typeof h != 'undefined') {
          if ((c.lang.isFunction(h) && !(h = h.hashCode)) || (!c.lang.isString(h))) {
            return
          }
        }
        !this.__listeners && (this.__listeners = {})
        i.indexOf('on') != 0 && (i = 'on' + i)
        var g = this.__listeners
        if (!g[i]) {
          return
        }
        if (typeof h != 'undefined') {
          g[i][h] && delete g[i][h]
        } else {
          for (var f in g[i]) {
            delete g[i][f]
          }
        }
      }
      c.lang.Class.prototype.dispatchEvent = function(j, f) {
        if (c.lang.isString(j)) {
          j = new c.lang.Event(j)
        }
        !this.__listeners && (this.__listeners = {})
        f = f || {}
        for (var h in f) {
          j[h] = f[h]
        }
        var h, g = this.__listeners, k = j.type
        j.target = j.target || this
        j.currentTarget = this
        k.indexOf('on') != 0 && (k = 'on' + k)
        c.lang.isFunction(this[k]) && this[k].apply(this, arguments)
        if (typeof g[k] == 'object') {
          for (h in g[k]) {
            g[k][h].apply(this, arguments)
          }
        }
        return j.returnValue
      }
      c.lang.inherits = function(l, j, i) {
        var h, k, f = l.prototype, g = new Function()
        g.prototype = j.prototype
        k = l.prototype = new g()
        for (h in f) {
          k[h] = f[h]
        }
        l.prototype.constructor = l
        l.superClass = j.prototype
        if ('string' == typeof i) {
          k._className = i
        }
      }
      c.inherits = c.lang.inherits
    })()
    var b = bmapConfig.home_dir + '/images/texticon/m'
    var a = 'png'
    var e = BMapLib.TextIconOverlay = function(f, h, g) {
      this._position = f
      this._text = h
      this._options = g || {}
      this._styles = this._options.styles || [];
      (!this._styles.length) && this._setupDefaultStyles()
    }
    d.lang.inherits(e, BMap.Overlay, 'TextIconOverlay')
    e.prototype._setupDefaultStyles = function() {
      var h = [53, 56, 66, 78, 90]
      for (var g = 0, f; f = h[g]; g++) {
        this._styles.push({ url: b + g + '.' + a, size: new BMap.Size(f, f) })
      }
    }
    e.prototype.initialize = function(f) {
      this._map = f
      this._domElement = document.createElement('div')
      this._updateCss()
      this._updateText()
      this._updatePosition()
      this._bind()
      this._map.getPanes().markerMouseTarget.appendChild(this._domElement)
      return this._domElement
    }
    e.prototype.draw = function() {
      this._map && this._updatePosition()
    }
    e.prototype.getText = function() {
      return this._text
    }
    e.prototype.setText = function(f) {
      if (f && (!this._text || (this._text.toString() != f.toString()))) {
        this._text = f
        this._updateText()
        this._updateCss()
        this._updatePosition()
      }
    }
    e.prototype.getPosition = function() {
      return this._position
    }
    e.prototype.setPosition = function(f) {
      if (f && (!this._position || !this._position.equals(f))) {
        this._position = f
        this._updatePosition()
      }
    }
    e.prototype.getStyleByText = function(i, h) {
      var g = parseInt(i)
      var f = parseInt(g / 10)
      f = Math.max(0, f)
      f = Math.min(f, h.length - 1)
      return h[f]
    }
    e.prototype._updateCss = function() {
      var f = this.getStyleByText(this._text, this._styles)
      this._domElement.style.cssText = this._buildCssText(f)
    }
    e.prototype._updateText = function() {
      if (this._domElement) {
        this._domElement.innerHTML = this._text
      }
    }
    e.prototype._updatePosition = function() {
      if (this._domElement && this._position) {
        var f = this._domElement.style
        var g = this._map.pointToOverlayPixel(this._position)
        g.x -= Math.ceil(parseInt(f.width) / 2)
        g.y -= Math.ceil(parseInt(f.height) / 2)
        f.left = g.x + 'px'
        f.top = g.y + 'px'
      }
    }
    e.prototype._buildCssText = function(g) {
      var h = g.url
      var n = g.size
      var k = g.anchor
      var j = g.offset
      var l = g.textColor || 'black'
      var f = g.textSize || 10
      var m = []
      if (d.browser.ie < 7) {
        m.push('filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale,src="' + h + '");')
      } else {
        m.push('background-image:url(' + h + ');')
        var i = '0 0';
        (j instanceof BMap.Size) && (i = j.width + 'px ' + j.height + 'px')
        m.push('background-position:' + i + ';')
      }
      if (n instanceof BMap.Size) {
        if (k instanceof BMap.Size) {
          if (k.height > 0 && k.height < n.height) {
            m.push('height:' + (n.height - k.height) + 'px; padding-top:' + k.height + 'px;')
          }
          if (k.width > 0 && k.width < n.width) {
            m.push('width:' + (n.width - k.width) + 'px; padding-left:' + k.width + 'px;')
          }
        } else {
          m.push('height:' + n.height + 'px; line-height:' + n.height + 'px;')
          m.push('width:' + n.width + 'px; text-align:center;')
        }
      }
      m.push('cursor:pointer; color:' + l + '; position:absolute; font-size:' + f + 'px; font-family:Arial,sans-serif; font-weight:bold')
      return m.join('')
    }
    e.prototype._bind = function() {
      if (!this._domElement) {
        return
      }
      var g = this
      var i = this._map
      var f = d.lang.Event
  
      function h(m, l) {
        var k = m.srcElement || m.target
        var j = m.clientX || m.pageX
        var o = m.clientY || m.pageY
        if (m && l && j && o && k) {
          var n = d.dom.getPosition(i.getContainer())
          l.pixel = new BMap.Pixel(j - n.left, o - n.top)
          l.point = i.pixelToPoint(l.pixel)
        }
        return l
      }
  
      d.event.on(this._domElement, 'mouseover', function(j) {
        g.dispatchEvent(h(j, new f('onmouseover')))
      })
      d.event.on(this._domElement, 'mouseout', function(j) {
        g.dispatchEvent(h(j, new f('onmouseout')))
      })
      d.event.on(this._domElement, 'click', function(j) {
        g.dispatchEvent(h(j, new f('onclick')))
      })
    }
  })()
  