window.BMAP_AUTHENTIC_KEY = ""; (function() { var b2, a8 = b2 = a8 || { version : "1.3.4" }; a8.guid = "$BAIDU$"; window[a8.guid] = window[a8.guid] || {}; a8.object = a8.object || {}; a8.extend = a8.object.extend = function(cM, T) { for ( var cL in T) { if (T.hasOwnProperty(cL)) { cM[cL] = T[cL] } } return cM }; a8.dom = a8.dom || {}; a8.dom.g = function(T) { if ("string" == typeof T || T instanceof String) { return document.getElementById(T) } else { if (T && T.nodeName && (T.nodeType == 1 || T.nodeType == 9)) { return T } } return null }; a8.g = a8.G = a8.dom.g; a8.dom.hide = function(T) { T = a8.dom.g(T); T.style.display = "none"; return T }; a8.hide = a8.dom.hide; a8.lang = a8.lang || {}; a8.lang.isString = function(T) { return "[object String]" == Object.prototype.toString.call(T) }; a8.isString = a8.lang.isString; a8.dom._g = function(T) { if (a8.lang.isString(T)) { return document.getElementById(T) } return T }; a8._g = a8.dom._g; a8.dom.contains = function(T, cL) { var cM = a8.dom._g; T = cM(T); cL = cM(cL); return T.contains ? T != cL && T.contains(cL) : !!(T .compareDocumentPosition(cL) & 16) }; a8.browser = a8.browser || {}; if (/msie (\d+\.\d)/i.test(navigator.userAgent)) { a8.browser.ie = a8.ie = document.documentMode || +RegExp["\x241"] } a8.dom._NAME_ATTRS = (function() { var T = { cellpadding : "cellPadding", cellspacing : "cellSpacing", colspan : "colSpan", rowspan : "rowSpan", valign : "vAlign", usemap : "useMap", frameborder : "frameBorder" }; if (a8.browser.ie < 8) { T["for"] = "htmlFor"; T["class"] = "className" } else { T.htmlFor = "for"; T.className = "class" } return T })(); a8.dom.setAttr = function(cL, T, cM) { cL = a8.dom.g(cL); if ("style" == T) { cL.style.cssText = cM } else { T = a8.dom._NAME_ATTRS[T] || T; cL.setAttribute(T, cM) } return cL }; a8.setAttr = a8.dom.setAttr; a8.dom.setAttrs = function(cM, T) { cM = a8.dom.g(cM); for ( var cL in T) { a8.dom.setAttr(cM, cL, T[cL]) } return cM }; a8.setAttrs = a8.dom.setAttrs; a8.string = a8.string || {}; (function() { var T = new RegExp( "(^[\\s\\t\\xa0\\u3000]+)|([\\u3000\\xa0\\s\\t]+\x24)", "g"); a8.string.trim = function(cL) { return String(cL).replace(T, "") } })(); a8.trim = a8.string.trim; a8.string.format = function(cM, T) { cM = String(cM); var cL = Array.prototype.slice.call(arguments, 1), cN = Object.prototype.toString; if (cL.length) { cL = cL.length == 1 ? (T !== null && (/\[object Array\]|\[object Object\]/.test(cN.call(T))) ? T : cL) : cL; return cM.replace(/#\{(.+?)\}/g, function(cO, cQ) { var cP = cL[cQ]; if ("[object Function]" == cN.call(cP)) { cP = cP(cQ) } return ("undefined" == typeof cP ? "" : cP) }) } return cM }; a8.format = a8.string.format; a8.dom.removeClass = function(cP, cQ) { cP = a8.dom.g(cP); var cN = cP.className.split(/\s+/), cR = cQ.split(/\s+/), cL, T = cR.length, cM, cO = 0; for (; cO < T; ++cO) { for (cM = 0, cL = cN.length; cM < cL; ++cM) { if (cN[cM] == cR[cO]) { cN.splice(cM, 1); break } } } cP.className = cN.join(" "); return cP }; a8.removeClass = a8.dom.removeClass; a8.dom.insertHTML = function(cN, T, cM) { cN = a8.dom.g(cN); var cL, cO; if (cN.insertAdjacentHTML) { cN.insertAdjacentHTML(T, cM) } else { cL = cN.ownerDocument.createRange(); T = T.toUpperCase(); if (T == "AFTERBEGIN" || T == "BEFOREEND") { cL.selectNodeContents(cN); cL.collapse(T == "AFTERBEGIN") } else { cO = T == "BEFOREBEGIN"; cL[cO ? "setStartBefore" : "setEndAfter"](cN); cL.collapse(cO) } cL.insertNode(cL.createContextualFragment(cM)) } return cN }; a8.insertHTML = a8.dom.insertHTML; a8.dom.show = function(T) { T = a8.dom.g(T); T.style.display = ""; return T }; a8.show = a8.dom.show; a8.dom.getDocument = function(T) { T = a8.dom.g(T); return T.nodeType == 9 ? T : T.ownerDocument || T.document }; a8.dom.addClass = function(cP, cQ) { cP = a8.dom.g(cP); var cL = cQ.split(/\s+/), T = cP.className, cO = " " + T + " ", cN = 0, cM = cL.length; for (; cN < cM; cN++) { if (cO.indexOf(" " + cL[cN] + " ") < 0) { T += " " + cL[cN] } } cP.className = T; return cP }; a8.addClass = a8.dom.addClass; a8.dom._styleFixer = a8.dom._styleFixer || {}; a8.dom._styleFilter = a8.dom._styleFilter || []; a8.dom._styleFilter.filter = function(cL, cO, cP) { for ( var T = 0, cN = a8.dom._styleFilter, cM; cM = cN[T]; T++) { if (cM = cM[cP]) { cO = cM(cL, cO) } } return cO }; a8.string.toCamelCase = function(T) { if (T.indexOf("-") < 0 && T.indexOf("_") < 0) { return T } return T.replace(/[-_][^-_]/g, function(cL) { return cL.charAt(1).toUpperCase() }) }; a8.dom.getStyle = function(cM, cL) { var cP = a8.dom; cM = cP.g(cM); cL = a8.string.toCamelCase(cL); var cO = cM.style[cL]; if (!cO) { var T = cP._styleFixer[cL], cN = cM.currentStyle || (a8.browser.ie ? cM.style : getComputedStyle(cM, null)); cO = T && T.get ? T.get(cM, cN) : cN[T || cL] } if (T = cP._styleFilter) { cO = T.filter(cL, cO, "get") } return cO }; a8.getStyle = a8.dom.getStyle; if (/opera\/(\d+\.\d)/i.test(navigator.userAgent)) { a8.browser.opera = +RegExp["\x241"] } a8.browser.isWebkit = /webkit/i.test(navigator.userAgent); a8.browser.isGecko = /gecko/i.test(navigator.userAgent) && !/like gecko/i.test(navigator.userAgent); a8.browser.isStrict = document.compatMode == "CSS1Compat"; a8.dom.getPosition = function(T) { T = a8.dom.g(T); var cT = a8.dom.getDocument(T), cN = a8.browser, cQ = a8.dom.getStyle, cM = cN.isGecko > 0 && cT.getBoxObjectFor && cQ(T, "position") == "absolute" && (T.style.top === "" || T.style.left === ""), cR = { left : 0, top : 0 }, cP = (cN.ie && !cN.isStrict) ? cT.body : cT.documentElement, cU, cL; if (T == cP) { return cR } if (T.getBoundingClientRect) { cL = T.getBoundingClientRect(); cR.left = Math.floor(cL.left) + Math.max(cT.documentElement.scrollLeft, cT.body.scrollLeft); cR.top = Math.floor(cL.top) + Math.max(cT.documentElement.scrollTop, cT.body.scrollTop); cR.left -= cT.documentElement.clientLeft; cR.top -= cT.documentElement.clientTop; var cS = cT.body, cV = parseInt(cQ(cS, "borderLeftWidth")), cO = parseInt(cQ( cS, "borderTopWidth")); if (cN.ie && !cN.isStrict) { cR.left -= isNaN(cV) ? 2 : cV; cR.top -= isNaN(cO) ? 2 : cO } } else { cU = T; do { cR.left += cU.offsetLeft; cR.top += cU.offsetTop; if (cN.isWebkit > 0 && cQ(cU, "position") == "fixed") { cR.left += cT.body.scrollLeft; cR.top += cT.body.scrollTop; break } cU = cU.offsetParent } while (cU && cU != T); if (cN.opera > 0 || (cN.isWebkit > 0 && cQ(T, "position") == "absolute")) { cR.top -= cT.body.offsetTop } cU = T.offsetParent; while (cU && cU != cT.body) { cR.left -= cU.scrollLeft; if (!cN.opera || cU.tagName != "TR") { cR.top -= cU.scrollTop } cU = cU.offsetParent } } return cR }; if (/firefox\/(\d+\.\d)/i.test(navigator.userAgent)) { a8.browser.firefox = +RegExp["\x241"] } (function() { var T = navigator.userAgent; if (/(\d+\.\d)?(?:\.\d)?\s+safari\/?(\d+\.\d+)?/i.test(T) && !/chrome/i.test(T)) { a8.browser.safari = +(RegExp["\x241"] || RegExp["\x242"]) } })(); if (/chrome\/(\d+\.\d)/i.test(navigator.userAgent)) { a8.browser.chrome = +RegExp["\x241"] } a8.array = a8.array || {}; a8.array.each = function(cP, cN) { var cM, cO, cL, T = cP.length; if ("function" == typeof cN) { for (cL = 0; cL < T; cL++) { cO = cP[cL]; cM = cN.call(cP, cO, cL); if (cM === false) { break } } } return cP }; a8.each = a8.array.each; a8.lang.guid = function() { return "TANGRAM__" + (window[a8.guid]._counter++).toString(36) }; window[a8.guid]._counter = window[a8.guid]._counter || 1; window[a8.guid]._instances = window[a8.guid]._instances || {}; a8.lang.isFunction = function(T) { return "[object Function]" == Object.prototype.toString.call(T) }; a8.lang.Class = function(T) { this.guid = T || a8.lang.guid(); window[a8.guid]._instances[this.guid] = this }; window[a8.guid]._instances = window[a8.guid]._instances || {}; a8.lang.Class.prototype.dispose = function() { delete window[a8.guid]._instances[this.guid]; for ( var T in this) { if (!a8.lang.isFunction(this[T])) { delete this[T] } } this.disposed = true }; a8.lang.Class.prototype.toString = function() { return "[object " + (this._className || "Object") + "]" }; a8.lang.Event = function(T, cL) { this.type = T; this.returnValue = true; this.target = cL || null; this.currentTarget = null }; a8.lang.Class.prototype.addEventListener = function(cN, cM, cL) { if (!a8.lang.isFunction(cM)) { return } !this.__listeners && (this.__listeners = {}); var T = this.__listeners, cO; if (typeof cL == "string" && cL) { if (/[^\w\-]/.test(cL)) { throw ("nonstandard key:" + cL) } else { cM.hashCode = cL; cO = cL } } cN.indexOf("on") != 0 && (cN = "on" + cN); typeof T[cN] != "object" && (T[cN] = {}); cO = cO || a8.lang.guid(); cM.hashCode = cO; T[cN][cO] = cM }; a8.lang.Class.prototype.removeEventListener = function(cM, cL) { if (a8.lang.isFunction(cL)) { cL = cL.hashCode } else { if (!a8.lang.isString(cL)) { return } } !this.__listeners && (this.__listeners = {}); cM.indexOf("on") != 0 && (cM = "on" + cM); var T = this.__listeners; if (!T[cM]) { return } T[cM][cL] && delete T[cM][cL] }; a8.lang.Class.prototype.dispatchEvent = function(cN, T) { if (a8.lang.isString(cN)) { cN = new a8.lang.Event(cN) } !this.__listeners && (this.__listeners = {}); T = T || {}; for ( var cM in T) { cN[cM] = T[cM] } var cM, cL = this.__listeners, cO = cN.type; cN.target = cN.target || this; cN.currentTarget = this; cO.indexOf("on") != 0 && (cO = "on" + cO); a8.lang.isFunction(this[cO]) && this[cO].apply(this, arguments); if (typeof cL[cO] == "object") { for (cM in cL[cO]) { cL[cO][cM].apply(this, arguments) } } return cN.returnValue }; a8.lang.inherits = function(cQ, cO, cN) { var cM, cP, T = cQ.prototype, cL = new Function(); cL.prototype = cO.prototype; cP = cQ.prototype = new cL(); for (cM in T) { cP[cM] = T[cM] } cQ.prototype.constructor = cQ; cQ.superClass = cO.prototype; if ("string" == typeof cN) { cP._className = cN } }; a8.inherits = a8.lang.inherits; a8.lang.instance = function(T) { return window[a8.guid]._instances[T] || null }; a8.platform = a8.platform || {}; a8.platform.isMacintosh = /macintosh/i.test(navigator.userAgent); a8.platform.isWindows = /windows/i.test(navigator.userAgent); a8.platform.isX11 = /x11/i.test(navigator.userAgent); a8.platform.isAndroid = /android/i.test(navigator.userAgent); a8.platform.isIpad = /ipad/i.test(navigator.userAgent); a8.platform.isIphone = /iphone/i.test(navigator.userAgent); a8.lang.Event.prototype.inherit = function(cM) { var cL = this; this.domEvent = cM = window.event || cM; cL.clientX = cM.clientX || cM.pageX; cL.clientY = cM.clientY || cM.pageY; cL.offsetX = cM.offsetX || cM.layerX; cL.offsetY = cM.offsetY || cM.layerY; cL.screenX = cM.screenX; cL.screenY = cM.screenY; cL.ctrlKey = cM.ctrlKey || cM.metaKey; cL.shiftKey = cM.shiftKey; cL.altKey = cM.altKey; if (cM.touches) { cL.touches = []; for ( var T = 0; T < cM.touches.length; T++) { cL.touches.push( { clientX : cM.touches[T].clientX, clientY : cM.touches[T].clientY, screenX : cM.touches[T].screenX, screenY : cM.touches[T].screenY, pageX : cM.touches[T].pageX, pageY : cM.touches[T].pageY, target : cM.touches[T].target, identifier : cM.touches[T].identifier }) } } if (cM.changedTouches) { cL.changedTouches = []; for ( var T = 0; T < cM.changedTouches.length; T++) { cL.changedTouches.push( { clientX : cM.changedTouches[T].clientX, clientY : cM.changedTouches[T].clientY, screenX : cM.changedTouches[T].screenX, screenY : cM.changedTouches[T].screenY, pageX : cM.changedTouches[T].pageX, pageY : cM.changedTouches[T].pageY, target : cM.changedTouches[T].target, identifier : cM.changedTouches[T].identifier }) } } if (cM.targetTouches) { cL.targetTouches = []; for ( var T = 0; T < cM.targetTouches.length; T++) { cL.targetTouches.push( { clientX : cM.targetTouches[T].clientX, clientY : cM.targetTouches[T].clientY, screenX : cM.targetTouches[T].screenX, screenY : cM.targetTouches[T].screenY, pageX : cM.targetTouches[T].pageX, pageY : cM.targetTouches[T].pageY, target : cM.targetTouches[T].target, identifier : cM.targetTouches[T].identifier }) } } cL.rotation = cM.rotation; cL.scale = cM.scale; return cL }; a8.lang.decontrol = function(cL) { var T = window[a8.guid]; T._instances && (delete T._instances[cL]) }; a8.event = {}; a8.on = a8.event.on = function(cM, cL, T) { if (!(cM = a8.g(cM))) { return cM } cL = cL.replace(/^on/, ""); if (cM.addEventListener) { cM.addEventListener(cL, T, false) } else { if (cM.attachEvent) { cM.attachEvent("on" + cL, T) } } return cM }; a8.un = a8.event.un = function(cM, cL, T) { if (!(cM = a8.g(cM))) { return cM } cL = cL.replace(/^on/, ""); if (cM.removeEventListener) { cM.removeEventListener(cL, T, false) } else { if (cM.detachEvent) { cM.detachEvent("on" + cL, T) } } return cM }; a8.dom.hasClass = function(cM, cL) { if (!cM || !cM.className || typeof cM.className != "string") { return false } var T = -1; try { T = cM.className == cL || cM.className.search(new RegExp("(\\s|^)" + cL + "(\\s|$)")) } catch (cN) { return false } return T > -1 }; window.BMap = window.BMap || {}; window.BMap.version = "1.3"; window.BMap._register = []; window.BMap.register = function(T) { this._register.push(T) }; window.BMap.apiLoad = window.BMap.apiLoad || function() { }; var bJ = window.BMAP_AUTHENTIC_KEY; window.BMAP_AUTHENTIC_KEY = null; function bz(cN, cP) { cN = a8.g(cN); if (!cN) { return } var cO = this; a8.lang.Class.call(cO); cO.config = { clickInterval : 200, enableDragging : true, enableKeyboard : false, enableDblclickZoom : true, enableContinuousZoom : false, enableWheelZoom : false, enableMouseDown : true, enablePinchToZoom : true, enableAutoResize : true, fps : 25, zoomerDuration : 240, actionDuration : 450, defaultCursor : cc.defaultCursor, draggingCursor : cc.draggingCursor, isOverviewMap : false, minZoom : 1, maxZoom : 18, mapType : BMAP_NORMAL_MAP, restrictBounds : false, drawer : BMAP_SYS_DRAWER, enableInertialDragging : false, drawMargin : 500, enableHighResolution : false }; a8.extend(cO.config, cP || {}); if (cO.highResolutionEnabled()) { var cR = document.querySelector("meta[name=viewport]"); cR.content = "initial-scale=0.5, minimum-scale=0.5, maximum-scale=0.5, user-scalable=no, target-densitydpi=high-dpi" } cO.container = cN; cO._setStyle(cN); cN.unselectable = "on"; cN.innerHTML = ""; cN.appendChild(cO.render()); var cL = cO.getSize(); cO.width = cL.width; cO.height = cL.height; cO.offsetX = 0; cO.offsetY = 0; cO.platform = cN.firstChild; cO.maskLayer = cO.platform.firstChild; cO.maskLayer.style.width = cO.width + "px"; cO.maskLayer.style.height = cO.height + "px"; cO._panes = {}; cO.centerPoint = new cd(0, 0); cO.mercatorCenter = new cd(0, 0); cO.zoomLevel = 1; cO.lastLevel = 0; cO.defaultZoomLevel = null; cO.defaultCenter = null; cO.currentCity = ""; cO.cityCode = ""; cO._hotspots = {}; cO.currentOperation = 0; cP = cP || {}; var cQ = cO.mapType = cO.config.mapType; cO.projection = cQ.getProjection(); if (cQ === BMAP_PERSPECTIVE_MAP) { _addStat(5002) } if (cQ === BMAP_SATELLITE_MAP || cQ === BMAP_HYBRID_MAP) { _addStat(5003) } var T = cO.config; T.userMinZoom = cP.minZoom; T.userMaxZoom = cP.maxZoom; cO._checkZoom(); cO.temp = { operating : false, arrow : 0, lastDomMoveTime : 0, lastLoadTileTime : 0, lastMovingTime : 0, canKeyboard : false, registerIndex : -1, curSpots : [] }; cO.platform.style.cursor = cO.config.defaultCursor; for ( var cM = 0; cM < BMap._register.length; cM++) { BMap._register[cM](cO) } cO.temp.registerIndex = cM; cO._bind(); cA.load("map", function() { cO._draw() }); if (bO()) { cA.load("oppc", function() { cO._asyncRegister() }) } if (aA()) { cA.load("opmb", function() { cO._asyncRegister() }) } cN = null } a8.lang.inherits(bz, a8.lang.Class, "Map"); a8 .extend( bz.prototype, { render : function() { var T = aa("div"); var cN = T.style; cN.overflow = "visible"; cN.position = "absolute"; cN.zIndex = "0"; cN.top = cN.left = "0px"; var cL = aa("div", { "class" : "BMap_mask" }); var cM = cL.style; cM.position = "absolute"; cM.top = cM.left = "0px"; cM.zIndex = "9"; cM.overflow = "hidden"; cM.WebkitUserSelect = "none"; T.appendChild(cL); return T }, _setStyle : function(cL) { var T = cL.style; T.overflow = "hidden"; if (aJ(cL).position != "absolute") { T.position = "relative"; T.zIndex = 0 } T.backgroundColor = "#F3F1EC"; T.color = "#000"; T.textAlign = "left" }, _bind : function() { var T = this; T._watchSize = function() { var cL = T.getSize(); if (T.width != cL.width || T.height != cL.height) { var cN = new aH(T.width, T.height); var cO = new bg("onbeforeresize"); cO.size = cN; T.dispatchEvent(cO); T._updateCenterPoint( (cL.width - T.width) / 2, (cL.height - T.height) / 2); T.maskLayer.style.width = (T.width = cL.width) + "px"; T.maskLayer.style.height = (T.height = cL.height) + "px"; var cM = new bg("onresize"); cM.size = cL; T.dispatchEvent(cM) } }; if (T.config.enableAutoResize) { T.temp.autoResizeTimer = setInterval( T._watchSize, 80) } }, _updateCenterPoint : function(cN, cL, cR, cQ) { var cO = this.getMapType().getZoomUnits( this.getZoom()); var cS = this.projection; var cP = true; if (cR && cd.isInRange(cR)) { this.centerPoint = new cd(cR.lng, cR.lat); cP = false } var cM = (cR && cQ) ? cS.lngLatToMercator(cR, this.currentCity) : this.mercatorCenter; if (cM) { this.mercatorCenter = new cd(cM.lng + cN * cO, cM.lat - cL * cO); var T = cS.mercatorToLngLat( this.mercatorCenter, this.currentCity); if (T && cP) { this.centerPoint = T } } }, zoomTo : function(cN, cL) { if (!aK(cN)) { return } cN = this._getProperZoom(cN).zoom; if (cN == this.zoomLevel) { return } this.lastLevel = this.zoomLevel; this.zoomLevel = cN; var cM; if (cL) { cM = cL } else { if (this.getInfoWindow()) { cM = this.getInfoWindow().getPosition() } } if (cM) { var T = this.pointToPixel(cM, this.lastLevel); this._updateCenterPoint(this.width / 2 - T.x, this.height / 2 - T.y, this.pixelToPoint(T, this.lastLevel), true) } this.dispatchEvent(new bg("onzoomstart")); this.dispatchEvent(new bg("onzoomstartcode")) }, setZoom : function(T) { this.zoomTo(T) }, zoomIn : function(T) { this.zoomTo(this.zoomLevel + 1, T) }, zoomOut : function(T) { this.zoomTo(this.zoomLevel - 1, T) }, panTo : function(T, cL) { if (!(T instanceof cd)) { return } this.mercatorCenter = this.projection .lngLatToMercator(T, this.currentCity); if (cd.isInRange(T)) { this.centerPoint = new cd(T.lng, T.lat) } else { this.centerPoint = this.projection .mercatorToLngLat(this.mercatorCenter, this.currentCity) } }, panBy : function(cL, T) { cL = Math.round(cL) || 0; T = Math.round(T) || 0; this._updateCenterPoint(-cL, -T) }, addControl : function(T) { if (T && I(T._i)) { T._i(this); this.dispatchEvent(new bg("onaddcontrol", T)) } }, removeControl : function(T) { if (T && I(T.remove)) { T.remove(); this .dispatchEvent(new bg( "onremovecontrol", T)) } }, addContextMenu : function(T) { if (T && I(T.initialize)) { T.initialize(this); this .dispatchEvent(new bg( "onaddcontextmenu", T)) } }, removeContextMenu : function(T) { if (T && I(T.remove)) { this.dispatchEvent(new bg( "onremovecontextmenu", T)); T.remove() } }, addOverlay : function(T) { if (T && I(T._i)) { T._i(this); this.dispatchEvent(new bg("onaddoverlay", T)) } }, removeOverlay : function(T) { if (T && I(T.remove)) { T.remove(); this .dispatchEvent(new bg( "onremoveoverlay", T)) } }, clearOverlays : function() { this.dispatchEvent(new bg("onclearoverlays")) }, addTileLayer : function(T) { if (T) { this.dispatchEvent(new bg("onaddtilelayer", T)) } }, removeTileLayer : function(T) { if (T) { this.dispatchEvent(new bg("onremovetilelayer", T)) } }, setMapType : function(cL) { if (this.mapType === cL) { return } var cM = new bg("onsetmaptype"); var T = this.mapType; cM.preMapType = T; this.mapType = this.config.mapType = cL; this.projection = this.mapType.getProjection(); this._updateCenterPoint(0, 0, this.getCenter(), true); this._checkZoom(); var cN = this._getProperZoom(this.getZoom()).zoom; this.zoomTo(cN); this.dispatchEvent(cM); var cM = new bg("onmaptypechange"); cM.zoomLevel = cN; cM.mapType = cL; this.dispatchEvent(cM); if (cL === BMAP_SATELLITE_MAP || cL === BMAP_HYBRID_MAP) { _addStat(5003) } }, setCenter : function(T) { var cM = this; if (T instanceof cd) { cM.panTo(T, { noAnimation : true }) } else { if (b3(T)) { var cL = this._getLocal(); cL.setSearchCompleteCallback(function(cN) { if (cL.getStatus() == 0 && cL._json.result.type == 2) { cM.setCenter(cN.getPoi(0).point); if (BMAP_PERSPECTIVE_MAP .getCityName(T)) { cM.setCurrentCity(T) } } }); cL.search(T) } } }, centerAndZoom : function(T, cM) { var cL = this; if (b3(T)) { var cP = cL._getLocal(); cP .setSearchCompleteCallback(function(cQ) { if (cP.getStatus() == 0 && cP._json.result.type == 2) { var cS = cQ.getPoi(0).point; var cR = cM || S .getBestLevel( cP._json.content.level, cL); cL.centerAndZoom(cS, cR); if (BMAP_PERSPECTIVE_MAP .getCityName(T)) { cL.setCurrentCity(T) } } }); cP.search(T); return } if (!(T instanceof cd) || !cM) { return } cM = cL._getProperZoom(cM).zoom; cL.lastLevel = cL.zoomLevel || cM; cL.zoomLevel = cM; cL.centerPoint = new cd(T.lng, T.lat); cL.mercatorCenter = cL.projection.lngLatToMercator( cL.centerPoint, cL.currentCity); cL.defaultZoomLevel = cL.defaultZoomLevel || cL.zoomLevel; cL.defaultCenter = cL.defaultCenter || cL.centerPoint; var cO = new bg("onload"); var cN = new bg("onloadcode"); cO.point = new cd(T.lng, T.lat); cO.pixel = cL.pointToPixel(cL.centerPoint, cL.zoomLevel); cO.zoom = cM; if (!cL.loaded) { cL.loaded = true; cL.dispatchEvent(cO) } cL.dispatchEvent(cN); cL.dispatchEvent(new bg("onmoveend")); if (cL.lastLevel != cL.zoomLevel) { cL.dispatchEvent(new bg("onzoomend")) } }, _getLocal : function() { if (!this.temp.local) { this.temp.local = new a4(1) } return this.temp.local }, reset : function() { this.centerAndZoom(this.defaultCenter, this.defaultZoomLevel, true) }, enableDragging : function() { this.config.enableDragging = true }, disableDragging : function() { this.config.enableDragging = false }, enableInertialDragging : function() { this.config.enableInertialDragging = true }, disableInertialDragging : function() { this.config.enableInertialDragging = false }, enableScrollWheelZoom : function() { this.config.enableWheelZoom = true }, disableScrollWheelZoom : function() { this.config.enableWheelZoom = false }, enableContinuousZoom : function() { this.config.enableContinuousZoom = true }, disableContinuousZoom : function() { this.config.enableContinuousZoom = false }, enableDoubleClickZoom : function() { this.config.enableDblclickZoom = true }, disableDoubleClickZoom : function() { this.config.enableDblclickZoom = false }, enableKeyboard : function() { this.config.enableKeyboard = true }, disableKeyboard : function() { this.config.enableKeyboard = false }, enablePinchToZoom : function() { this.config.enablePinchToZoom = true }, disablePinchToZoom : function() { this.config.enablePinchToZoom = false }, enableAutoResize : function() { this.config.enableAutoResize = true; this._watchSize(); if (!this.temp.autoResizeTimer) { this.temp.autoResizeTimer = setInterval( this._watchSize, 80) } }, disableAutoResize : function() { this.config.enableAutoResize = false; if (this.temp.autoResizeTimer) { clearInterval(this.temp.autoResizeTimer); this.temp.autoResizeTimer = null } }, getSize : function() { return new aH(this.container.clientWidth, this.container.clientHeight) }, getCenter : function() { return this.centerPoint }, getZoom : function() { return this.zoomLevel }, checkResize : function() { this._watchSize() }, _getProperZoom : function(cM) { var cL = this.config.minZoom, T = this.config.maxZoom, cN = false; if (cM < cL) { cN = true; cM = cL } if (cM > T) { cN = true; cM = T } return { zoom : cM, exceeded : cN } }, getContainer : function() { return this.container }, pointToPixel : function(T, cL) { cL = cL || this.getZoom(); return this.projection.pointToPixel(T, cL, this.mercatorCenter, this.getSize(), this.currentCity) }, pixelToPoint : function(T, cL) { cL = cL || this.getZoom(); return this.projection.pixelToPoint(T, cL, this.mercatorCenter, this.getSize(), this.currentCity) }, pointToOverlayPixel : function(T, cM) { if (!T) { return } var cN = new cd(T.lng, T.lat); var cL = this.pointToPixel(cN, cM); cL.x -= this.offsetX; cL.y -= this.offsetY; return cL }, overlayPixelToPoint : function(T, cM) { if (!T) { return } var cL = new bu(T.x, T.y); cL.x += this.offsetX; cL.y += this.offsetY; return this.pixelToPoint(cL, cM) }, getBounds : function() { if (!this.isLoaded()) { return new bN() } var cL = arguments[0] || {}, cN = cL.margins || [ 0, 0, 0, 0 ], T = cL.zoom || null, cO = this .pixelToPoint( { x : cN[3], y : this.height - cN[2] }, T), cM = this.pixelToPoint( { x : this.width - cN[1], y : cN[0] }, T); return new bN(cO, cM) }, isLoaded : function() { return !!this.loaded }, _getBestLevel : function(cL, cM) { var cP = this.getMapType(); var cR = cM.margins || [ 10, 10, 10, 10 ], cO = cM.zoomFactor || 0, cS = cR[1] + cR[3], cQ = cR[0] + cR[2], T = cP .getMinZoom(), cU = cP.getMaxZoom(); for ( var cN = cU; cN >= T; cN--) { var cT = this.getMapType().getZoomUnits(cN); if (cL.toSpan().lng / cT < this.width - cS && cL.toSpan().lat / cT < this.height - cQ) { break } } cN += cO; if (cN < T) { cN = T } if (cN > cU) { cN = cU } return cN }, getViewport : function(cT, cL) { var cX = { center : this.getCenter(), zoom : this.getZoom() }; if (!cT || !cT instanceof bN && cT.length == 0 || cT instanceof bN && cT.isEmpty()) { return cX } var cV = []; if (cT instanceof bN) { cV.push(cT.getNorthEast()); cV.push(cT.getSouthWest()) } else { cV = cT.slice(0) } cL = cL || {}; var cP = []; for ( var cQ = 0, cO = cV.length; cQ < cO; cQ++) { cP.push(this.projection.lngLatToMercator( cV[cQ], this.currentCity)) } var cM = new bN(); for ( var cQ = cP.length - 1; cQ >= 0; cQ--) { cM.extend(cP[cQ]) } if (cM.isEmpty()) { return cX } var T = cM.getCenter(); var cW = this._getBestLevel(cM, cL); if (cL.margins) { var cS = cL.margins, cR = (cS[1] - cS[3]) / 2, cU = (cS[0] - cS[2]) / 2, cN = this .getMapType().getZoomUnits(cW); T.lng = T.lng + cN * cR; T.lat = T.lat + cN * cU } T = this.projection.mercatorToLngLat(T, this.currentCity); return { center : T, zoom : cW } }, setViewport : function(cL, cO) { var T; if (cL && cL.center) { T = cL } else { T = this.getViewport(cL, cO) } cO = cO || {}; var cM = cO.delay || 200; if (T.zoom == this.zoomLevel && cO.enableAnimation != false) { var cN = this; setTimeout(function() { cN.panTo(T.center, { duration : 210 }) }, cM) } else { this.centerAndZoom(T.center, T.zoom) } }, getPanes : function() { return this._panes }, getInfoWindow : function() { if (this.temp.infoWin && this.temp.infoWin.isOpen()) { return this.temp.infoWin } return null }, getDistance : function(cM, T) { if (!cM || !T) { return } var cL = 0; cL = ba.getDistanceByLL(cM, T); return cL }, getOverlays : function() { var cN = [], cO = this._overlays, cM = this._customOverlays; if (cO) { for ( var cL in cO) { if (cO[cL] instanceof Y) { cN.push(cO[cL]) } } } if (cM) { for ( var cL = 0, T = cM.length; cL < T; cL++) { cN.push(cM[cL]) } } return cN }, getMapType : function() { return this.mapType }, _asyncRegister : function() { for ( var T = this.temp.registerIndex; T < BMap._register.length; T++) { BMap._register[T](this) } this.temp.registerIndex = T }, setCurrentCity : function(T) { this.currentCity = BMAP_PERSPECTIVE_MAP .getCityName(T); this.cityCode = BMAP_PERSPECTIVE_MAP .getCityCode(this.currentCity) }, setDefaultCursor : function(T) { if (a8.browser.firefox && T.indexOf("url") == 0) { T = T += ", -moz-grab" } this.config.defaultCursor = T; if (this.platform) { this.platform.style.cursor = this.config.defaultCursor } }, getDefaultCursor : function() { return this.config.defaultCursor }, setDraggingCursor : function(T) { if (a8.browser.firefox && T.indexOf("url") == 0) { T = T += ", -moz-grabbing" } this.config.draggingCursor = T }, getDraggingCursor : function() { return this.config.draggingCursor }, highResolutionEnabled : function() { return this.config.enableHighResolution && window.devicePixelRatio > 1 }, addHotspot : function(cL) { if (cL instanceof cm) { this._hotspots[cL.guid] = cL; cL.initialize(this) } var T = this; cA.load("hotspot", function() { T._asyncRegister() }) }, removeHotspot : function(T) { if (this._hotspots[T.guid]) { delete this._hotspots[T.guid] } }, clearHotspots : function() { this._hotspots = {} }, _checkZoom : function() { var cL = this.mapType.getMinZoom(); var cM = this.mapType.getMaxZoom(); var T = this.config; T.minZoom = T.userMinZoom || cL; T.maxZoom = T.userMaxZoom || cM; if (T.minZoom < cL) { T.minZoom = cL } if (T.maxZoom > cM) { T.maxZoom = cM } }, setMinZoom : function(T) { if (T > this.config.maxZoom) { T = this.config.maxZoom } this.config.userMinZoom = T; this._updateZoom() }, setMaxZoom : function(T) { if (T < this.config.minZoom) { T = this.config.minZoom } this.config.userMaxZoom = T; this._updateZoom() }, _updateZoom : function() { this._checkZoom(); var T = this.config; if (this.zoomLevel < T.minZoom) { this.setZoom(T.minZoom) } else { if (this.zoomLevel > T.maxZoom) { this.setZoom(T.maxZoom) } } var cL = new bg("onzoomspanchange"); cL.minZoom = T.minZoom; cL.maxZoom = T.maxZoom; this.dispatchEvent(cL) } }); window.BMAP_API_VERSION = "1.3"; window.BMAP_COORD_LNGLAT = 0; window.BMAP_COORD_MERCATOR = 1; window.BMAP_SYS_DRAWER = 0; window.BMAP_SVG_DRAWER = 1; window.BMAP_VML_DRAWER = 2; window.BMAP_CANVAS_DRAWER = 3; window._addStat = function(cP, cO) { if (!cP) { return } cO = cO || {}; var cN = ""; for ( var cL in cO) { cN = cN + "&" + cL + "=" + encodeURIComponent(cO[cL]) } var cQ = function(cR) { if (!cR) { return } _addStat._sending = true; setTimeout(function() { _addStat._img.src = cc.imgPath + "blank.gif?" + cR.src }, 50) }; var T = function() { var cR = _addStat._reqQueue.shift(); if (cR) { cQ(cR) } }; var cM = (Math.random() * 100000000).toFixed(0); if (_addStat._sending) { _addStat._reqQueue.push( { src : "t=" + cM + "&code=" + cP + cN }) } else { cQ( { src : "t=" + cM + "&code=" + cP + cN }) } if (!_addStat._binded) { a8.on(_addStat._img, "load", function() { _addStat._sending = false; T() }); a8.on(_addStat._img, "error", function() { _addStat._sending = false; T() }); _addStat._binded = true } }; window._addStat._reqQueue = []; window._addStat._img = new Image(); _addStat(5000, { v : BMap.version }); function g(cN) { var T = { duration : 1000, fps : 30, delay : 0, transition : aw.linear, onStop : function() { } }; this._anis = []; if (cN) { for ( var cL in cN) { T[cL] = cN[cL] } } this._opts = T; if (aK(T.delay)) { var cM = this; setTimeout(function() { cM.start() }, T.delay) } else { if (T.delay != g.INFINITE) { this.start() } } } g.INFINITE = "INFINITE"; g.prototype.start = function() { this._beginTime = aE(); this._endTime = this._beginTime + this._opts.duration; this._launch() }; g.prototype.add = function(T) { this._anis.push(T) }; g.prototype._launch = function() { var cM = this; var T = aE(); if (T >= cM._endTime) { if (I(cM._opts.render)) { cM._opts.render(cM._opts.transition(1)) } if (I(cM._opts.finish)) { cM._opts.finish() } if (cM._anis.length > 0) { var cL = cM._anis[0]; cL._anis = [].concat(cM._anis.slice(1)); cL.start() } return } cM.schedule = cM._opts.transition((T - cM._beginTime) / cM._opts.duration); if (I(cM._opts.render)) { cM._opts.render(cM.schedule) } if (!cM.terminative) { cM._timer = setTimeout(function() { cM._launch() }, 1000 / cM._opts.fps) } }; g.prototype.stop = function(cL) { this.terminative = true; for ( var T = 0; T < this._anis.length; T++) { this._anis[T].stop(); this._anis[T] = null } this._anis.length = 0; if (this._timer) { clearTimeout(this._timer); this._timer = null } this._opts.onStop(this.schedule); if (cL) { this._endTime = this._beginTime; this._launch() } }; g.prototype.cancel = function() { if (this._timer) { clearTimeout(this._timer) } this._endTime = this._beginTime; this.schedule = 0 }; g.prototype.setFinishCallback = function(T) { if (this._anis.length > 0) { this._anis[this._anis.length - 1]._opts.finish = T } else { this._opts.finish = T } }; var aw = { linear : function(T) { return T }, reverse : function(T) { return 1 - T }, easeInQuad : function(T) { return T * T }, easeInCubic : function(T) { return Math.pow(T, 3) }, easeOutQuad : function(T) { return -(T * (T - 2)) }, easeOutCubic : function(T) { return Math.pow((T - 1), 3) + 1 }, easeInOutQuad : function(T) { if (T < 0.5) { return T * T * 2 } else { return -2 * (T - 2) * T - 1 } return }, easeInOutCubic : function(T) { if (T < 0.5) { return Math.pow(T, 3) * 4 } else { return Math.pow(T - 1, 3) * 4 + 1 } }, easeInOutSine : function(T) { return (1 - Math.cos(Math.PI * T)) / 2 } }; aw["ease-in"] = aw.easeInQuad; aw["ease-out"] = aw.easeOutQuad; var m = !!(window.BMAP_PROTOCOL == "https"); var x = m ? "https://sapi.map.baidu.com/" : "http://api.map.baidu.com/"; var cc = { imgPath : "static/BMap/images/", //******* �Ķ�ͼƬimages·�� ******* cityNames : { "\u5317\u4eac" : "bj", "\u4e0a\u6d77" : "sh", "\u6df1\u5733" : "sz", "\u5e7f\u5dde" : "gz" }, fontFamily : "arial,sans-serif" }; if (a8.browser.firefox) { a8.extend(cc, { distCursor : "url(" + cc.imgPath + "ruler.cur),crosshair", defaultCursor : "-moz-grab", draggingCursor : "-moz-grabbing" }); if (a8.platform.isWindows) { cc.fontFamily = "arial,simsun,sans-serif" } } else { if (a8.browser.chrome || a8.browser.safari) { a8.extend(cc, { distCursor : "url(" + cc.imgPath + "ruler.cur) 2 6,crosshair", defaultCursor : "url(" + cc.imgPath + "openhand.cur) 8 8,default", draggingCursor : "url(" + cc.imgPath + "closedhand.cur) 8 8,move" }) } else { a8.extend(cc, { distCursor : "url(" + cc.imgPath + "ruler.cur),crosshair", defaultCursor : "url(" + cc.imgPath + "openhand.cur),default", draggingCursor : "url(" + cc.imgPath + "closedhand.cur),move" }) } } function av(cM, cL, T) { this.id = cM; this.bounds = cL; this.content = T } var bn = { undo : 1, redo : 2, zoom : 4, drag : 8, move : 16, mousewheel : 32, toolbarOperation : 64, stdMapCtrlDrag : 128, dblclick : 256 }; function bI(cM, T) { var cL = cM.style; cL.left = T[0] + "px"; cL.top = T[1] + "px" } function cw(T) { if (a8.browser.ie > 0) { T.unselectable = "on" } else { T.style.MozUserSelect = "none" } } function y(T) { return T && T.parentNode && T.parentNode.nodeType != 11 } function at(cL, T) { a8.dom.insertHTML(cL, "beforeEnd", T); return cL.lastChild } function bY(T) { var cL = { left : 0, top : 0 }; while (T && T.offsetParent) { cL.left += T.offsetLeft; cL.top += T.offsetTop; T = T.offsetParent } return cL } function aP(T) { var T = window.event || T; T.stopPropagation ? T.stopPropagation() : T.cancelBubble = true } function cC(T) { var T = window.event || T; T.preventDefault ? T.preventDefault() : T.returnValue = false; return false } function co(T) { aP(T); return cC(T) } function cG() { var T = document.documentElement, cL = document.body; if (T && (T.scrollTop || T.scrollLeft)) { return [ T.scrollTop, T.scrollLeft ] } else { if (cL) { return [ cL.scrollTop, cL.scrollLeft ] } else { return [ 0, 0 ] } } } function ct(cL, T) { if (!cL || !T) { return } return Math.round(Math.sqrt(Math.pow(cL.x - T.x, 2) + Math.pow(cL.y - T.y, 2))) } function O(T, cM) { var cL = []; cM = cM || function(cO) { return cO }; for ( var cN in T) { cL.push(cN + "=" + cM(T[cN])) } return cL.join("&") } function aa(cL, T, cM) { var cN = document.createElement(cL); if (cM) { cN = document.createElementNS(cM, cL) } return a8.dom.setAttrs(cN, T || {}) } function aJ(T) { if (T.currentStyle) { return T.currentStyle } else { if (T.ownerDocument && T.ownerDocument.defaultView) { return T.ownerDocument.defaultView.getComputedStyle(T, null) } } } function I(T) { return typeof T == "function" } function aK(T) { return typeof T == "number" } function b3(T) { return typeof T == "string" } function ch(T) { return typeof T != "undefined" } function cJ(T) { return typeof T == "object" } function aY(T) { return "[object Array]" == Object.prototype.toString.call(T) } var cf = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="; function bV(cN) { var cL = ""; var cU, cS, cQ = ""; var cT, cR, cP, cO = ""; var cM = 0; var T = /[^A-Za-z0-9\+\/\=]/g; if (!cN || T.exec(cN)) { return cN } cN = cN.replace(/[^A-Za-z0-9\+\/\=]/g, ""); do { cT = cf.indexOf(cN.charAt(cM++)); cR = cf.indexOf(cN.charAt(cM++)); cP = cf.indexOf(cN.charAt(cM++)); cO = cf.indexOf(cN.charAt(cM++)); cU = (cT << 2) | (cR >> 4); cS = ((cR & 15) << 4) | (cP >> 2); cQ = ((cP & 3) << 6) | cO; cL = cL + String.fromCharCode(cU); if (cP != 64) { cL = cL + String.fromCharCode(cS) } if (cO != 64) { cL = cL + String.fromCharCode(cQ) } cU = cS = cQ = ""; cT = cR = cP = cO = "" } while (cM < cN.length); return cL } var bg = a8.lang.Event; function aA() { return !!(a8.platform.isIphone || a8.platform.isIpad || a8.platform.isAndroid) } function bO() { return !!(a8.platform.isWindows || a8.platform.isMacintosh || a8.platform.isX11) } function aE() { return (new Date).getTime() } var cx = { request : function(cL) { var T = aa("script", { src : cL, type : "text/javascript", charset : "utf-8" }); if (T.addEventListener) { T.addEventListener("load", function(cN) { var cM = cN.target; cM.parentNode.removeChild(cM) }, false) } else { if (T.attachEvent) { T .attachEvent( "onreadystatechange", function(cN) { var cM = window.event.srcElement; if (cM && (cM.readyState == "loaded" || cM.readyState == "complete")) { cM.parentNode.removeChild(cM) } }) } } setTimeout(function() { document.getElementsByTagName("head")[0].appendChild(T); T = null }, 1) } }; function cA() { } a8.object.extend(cA, { Request : { INITIAL : -1, WAITING : 0, COMPLETED : 1 }, Dependency : { control : [], marker : [], poly : [ "marker" ], infowindow : [ "marker" ], menu : [], oppc : [], opmb : [], scommon : [], local : [ "scommon" ], route : [ "scommon" ], othersearch : [ "scommon" ], autocomplete : [ "scommon" ], buslinesearch : [ "route" ], hotspot : [] }, preLoaded : {}, Config : { _baseUrl : "js/", //x + "getmodules?v=1.3", //******* �Ķ���Դ��map,oppc,tile,control��·�� ******* _timeout : 5000 }, delayFlag : false, Module : { _modules : {}, _arrMdls : [] }, load : function(cL, cN) { var T = this.current(cL); if (T._status == this.Request.COMPLETED) { return } else { if (T._status == this.Request.INITIAL) { this.combine(cL); this.pushUniqueMdl(cL); var cM = this; if (cM.delayFlag == false) { cM.delayFlag = true; window.setTimeout(function() { var cO = cM.Config._baseUrl + "/modules" //"&mod=" //+ cM.Module._arrMdls.join(","); cx.request(cO); cM.Module._arrMdls.length = 0; cM.delayFlag = false }, 1) } T._status = this.Request.WAITING } T._callbacks.push(cN) } }, combine : function(T) { if (T && this.Dependency[T]) { var cM = this.Dependency[T]; for ( var cL = 0; cL < cM.length; cL++) { this.combine(cM[cL]); if (!this.Module._modules[cM[cL]]) { this.pushUniqueMdl(cM[cL]) } } } }, pushUniqueMdl : function(cL) { for ( var T = 0; T < this.Module._arrMdls.length; T++) { if (this.Module._arrMdls[T] == cL) { return } } this.Module._arrMdls.push(cL) }, run : function(cM, cO) { var cL = this.current(cM); try { eval(cO) } catch (cP) { return } cL._status = this.Request.COMPLETED; for ( var cN = 0, T = cL._callbacks.length; cN < T; cN++) { cL._callbacks[cN]() } cL._callbacks.length = 0 }, check : function(cL, cM) { var T = this; T.timeout = setTimeout(function() { var cN = T.Module._modules[cL]._status; if (cN != T.Request.COMPLETED) { T.remove(cL); T.load(cL, cM) } else { clearTimeout(T.timeout) } }, T.Config._timeout) }, current : function(cL) { var T; if (!this.Module._modules[cL]) { this.Module._modules[cL] = {}; this.Module._modules[cL]._status = this.Request.INITIAL; this.Module._modules[cL]._callbacks = [] } T = this.Module._modules[cL]; return T }, remove : function(cL) { var T = this.current(cL); delete T } }); window._jsload = function(T, cL) { cA.run(T, cL) }; function bu(T, cL) { this.x = T || 0; this.y = cL || 0 } bu.prototype.equals = function(T) { return T && T.x == this.x && T.y == this.y }; function aH(cL, T) { this.width = cL || 0; this.height = T || 0 } aH.prototype.equals = function(T) { return T && this.width == T.width && this.height == T.height }; function cm(T, cL) { if (!T) { return } this._position = T; this.guid = "spot" + (cm.guid++); cL = cL || {}; this._text = cL.text || ""; this._offsets = cL.offsets ? cL.offsets.slice(0) : [ 5, 5, 5, 5 ]; this._userData = cL.userData || null; this._minZoom = cL.minZoom || null; this._maxZoom = cL.maxZoom || null } cm.guid = 0; a8.extend(cm.prototype, { initialize : function(T) { if (this._minZoom == null) { this._minZoom = T.config.minZoom } if (this._maxZoom == null) { this._maxZoom = T.config.maxZoom } }, setPosition : function(T) { if (T instanceof cd) { this._position = T } }, getPosition : function() { return this._position }, setText : function(T) { this._text = T }, getText : function() { return this._text }, setUserData : function(T) { this._userData = T }, getUserData : function() { return this._userData } }); function cp() { this._map = null; this._container; this._type = "control"; this.blockInfoWindow = true; this._visible = true } a8.lang.inherits(cp, a8.lang.Class, "Control"); a8 .extend( cp.prototype, { initialize : function(T) { this._map = T; if (this._container) { T.container.appendChild(this._container); return this._container } return }, _i : function(T) { if (!this._container && this.initialize && I(this.initialize)) { this._container = this.initialize(T) } this._opts = this._opts || { printable : false }; this._setStyle(); this._setPosition(); if (this._container) { this._container._jsobj = this } }, _setStyle : function() { var cL = this._container; if (cL) { var T = cL.style; T.position = "absolute"; T.zIndex = this._cZIndex || "10"; T.MozUserSelect = "none"; T.WebkitTextSizeAdjust = "none"; if (!this._opts.printable) { a8.dom.addClass(cL, "BMap_noprint") } a8.on(cL, "contextmenu", co) } }, remove : function() { this._map = null; if (!this._container) { return } this._container.parentNode && this._container.parentNode .removeChild(this._container); this._container._jsobj = null; this._container = null }, _render : function() { this._container = at(this._map.container, "<div unselectable='on'></div>"); if (this._visible == false) { a8.dom.hide(this._container) } return this._container }, _setPosition : function() { this.setAnchor(this._opts.anchor) }, setAnchor : function(cN) { if (this.anchorFixed || !aK(cN) || isNaN(cN) || cN < BMAP_ANCHOR_TOP_LEFT || cN > BMAP_ANCHOR_BOTTOM_RIGHT) { cN = this.defaultAnchor } this._opts = this._opts || { printable : false }; this._opts.offset = this._opts.offset || this.defaultOffset; var cM = this._opts.anchor; this._opts.anchor = cN; if (!this._container) { return } var cP = this._container; var T = this._opts.offset.width; var cO = this._opts.offset.height; cP.style.left = cP.style.top = cP.style.right = cP.style.bottom = "auto"; switch (cN) { case BMAP_ANCHOR_TOP_LEFT: cP.style.top = cO + "px"; cP.style.left = T + "px"; break; case BMAP_ANCHOR_TOP_RIGHT: cP.style.top = cO + "px"; cP.style.right = T + "px"; break; case BMAP_ANCHOR_BOTTOM_LEFT: cP.style.bottom = cO + "px"; cP.style.left = T + "px"; break; case BMAP_ANCHOR_BOTTOM_RIGHT: cP.style.bottom = cO + "px"; cP.style.right = T + "px"; break; default: break } var cL = [ "TL", "TR", "BL", "BR" ]; a8.dom.removeClass(this._container, "anchor" + cL[cM]); a8.dom.addClass(this._container, "anchor" + cL[cN]) }, getAnchor : function() { return this._opts.anchor }, setOffset : function(T) { if (!(T instanceof aH)) { return } this._opts = this._opts || { printable : false }; this._opts.offset = new aH(T.width, T.height); if (!this._container) { return } this.setAnchor(this._opts.anchor) }, getOffset : function() { return this._opts.offset }, getDom : function() { return this._container }, show : function() { if (this._visible == true) { return } this._visible = true; if (this._container) { a8.dom.show(this._container) } }, hide : function() { if (this._visible == false) { return } this._visible = false; if (this._container) { a8.dom.hide(this._container) } }, isPrintable : function() { return !!this._opts.printable }, isVisible : function() { if (!this._container && !this._map) { return false } return !!this._visible } }); window.BMAP_ANCHOR_TOP_LEFT = 0; window.BMAP_ANCHOR_TOP_RIGHT = 1; window.BMAP_ANCHOR_BOTTOM_LEFT = 2; window.BMAP_ANCHOR_BOTTOM_RIGHT = 3; window.BMAP_NAVIGATION_CONTROL_LARGE = 0; window.BMAP_NAVIGATION_CONTROL_SMALL = 1; window.BMAP_NAVIGATION_CONTROL_PAN = 2; window.BMAP_NAVIGATION_CONTROL_ZOOM = 3; function L(T) { cp.call(this); T = T || {}; this._opts = { printable : false, showZoomInfo : true }; a8.object.extend(this._opts, T); this.defaultAnchor = BMAP_ANCHOR_TOP_LEFT; this.defaultOffset = new aH(10, 10); this.setAnchor(T.anchor); this.setType(T.type); this._asyncLoadCode() } a8.lang.inherits(L, cp, "NavigationControl"); a8.extend(L.prototype, { initialize : function(T) { this._map = T; return this._container }, setType : function(T) { if (aK(T) && T >= BMAP_NAVIGATION_CONTROL_LARGE && T <= BMAP_NAVIGATION_CONTROL_ZOOM) { this._opts.type = T } else { this._opts.type = BMAP_NAVIGATION_CONTROL_LARGE } }, getType : function() { return this._opts.type }, _asyncLoadCode : function() { var T = this; cA.load("control", function() { T._asyncDraw() }) } }); function am(T) { cp.call(this); T = T || {}; this._opts = { printable : false }; a8.object.extend(this._opts, T); this._copyrightCollection = []; this.defaultAnchor = BMAP_ANCHOR_BOTTOM_LEFT; this.defaultOffset = new aH(5, 2); this.setAnchor(T.anchor); this._canShow = true; this.blockInfoWindow = false; this._asyncLoadCode() } a8.lang.inherits(am, cp, "CopyrightControl"); a8.object .extend( am.prototype, { initialize : function(T) { this._map = T; return this._container }, addCopyright : function(cM) { if (!cM || !aK(cM.id) || isNaN(cM.id)) { return } var T = { bounds : null, content : "" }; for ( var cL in cM) { T[cL] = cM[cL] } var cN = this.getCopyright(cM.id); if (cN) { for ( var cO in T) { cN[cO] = T[cO] } } else { this._copyrightCollection.push(T) } }, getCopyright : function(cM) { for ( var cL = 0, T = this._copyrightCollection.length; cL < T; cL++) { if (this._copyrightCollection[cL].id == cM) { return this._copyrightCollection[cL] } } }, getCopyrightCollection : function() { return this._copyrightCollection }, removeCopyright : function(cM) { for ( var cL = 0, T = this._copyrightCollection.length; cL < T; cL++) { if (this._copyrightCollection[cL].id == cM) { r = this._copyrightCollection.splice(cL, 1); cL--; T = this._copyrightCollection.length } } }, _asyncLoadCode : function() { var T = this; cA.load("control", function() { T._asyncDraw() }) } }); function cK(T) { cp.call(this); T = T || {}; this._opts = { printable : false }; this._opts = a8.extend(a8.extend(this._opts, { size : new aH(150, 150), padding : 5, isOpen : false, zoomInterval : 4 }), T); this.defaultAnchor = BMAP_ANCHOR_BOTTOM_RIGHT; this.defaultOffset = new aH(0, 0); this._btnWidth = 13; this._btnHeight = 13; this.setAnchor(T.anchor); this.setSize(this._opts.size); this._asyncLoadCode() } a8.lang.inherits(cK, cp, "OverviewMapControl"); a8.extend(cK.prototype, { initialize : function(T) { this._map = T; return this._container }, setAnchor : function(T) { cp.prototype.setAnchor.call(this, T) }, changeView : function() { this.changeView._running = true; this._opts.isOpen = !this._opts.isOpen; if (!this._container) { this.changeView._running = false } }, setSize : function(T) { if (!(T instanceof aH)) { T = new aH(150, 150) } T.width = T.width > 0 ? T.width : 150; T.height = T.height > 0 ? T.height : 150; this._opts.size = T }, getSize : function() { return this._opts.size }, isOpen : function() { return this._opts.isOpen }, _asyncLoadCode : function() { var T = this; cA.load("control", function() { T._asyncDraw() }) } }); function bK(T) { cp.call(this); T = T || {}; this._opts = { printable : false }; this._opts = a8.object.extend(a8.object.extend(this._opts, { color : "black", unit : "metric" }), T); this.defaultAnchor = BMAP_ANCHOR_BOTTOM_LEFT; this.defaultOffset = new aH(81, 18); this.setAnchor(T.anchor); this._units = { metric : { name : "metric", conv : 1, incon : 1000, u1 : "\u7c73", u2 : "\u516c\u91cc" }, us : { name : "us", conv : 3.2808, incon : 5280, u1 : "\u82f1\u5c3a", u2 : "\u82f1\u91cc" } }; if (!this._units[this._opts.unit]) { this._opts.unit = "metric" } this._scaleText = null; this._numberArray = {}; this._asyncLoadCode() } window.BMAP_UNIT_METRIC = "metric"; window.BMAP_UNIT_IMPERIAL = "us"; a8.lang.inherits(bK, cp, "ScaleControl"); a8.object.extend(bK.prototype, { initialize : function(T) { this._map = T; return this._container }, setColor : function(T) { this._opts.color = T + "" }, getColor : function() { return this._opts.color }, setUnit : function(T) { this._opts.unit = this._units[T] && this._units[T].name || this._opts.unit }, getUnit : function() { return this._opts.unit }, _asyncLoadCode : function() { var T = this; cA.load("control", function() { T._asyncDraw() }) } }); window.BMAP_MAPTYPE_CONTROL_HORIZONTAL = 0; window.BMAP_MAPTYPE_CONTROL_DROPDOWN = 1; function aL(T) { cp.call(this); T = T || {}; this._opts = { printable : false, mapTypes : [ BMAP_NORMAL_MAP, BMAP_SATELLITE_MAP, BMAP_HYBRID_MAP, BMAP_PERSPECTIVE_MAP ], type : BMAP_MAPTYPE_CONTROL_HORIZONTAL }; this.defaultAnchor = BMAP_ANCHOR_TOP_RIGHT; this.defaultOffset = new aH(10, 10); this.setAnchor(T.anchor); this._opts = a8.extend(a8.extend(this._opts, { offset : this.defaultOffset, enableSwitch : true }), T); if (aY(T.mapTypes)) { this._opts.mapTypes = T.mapTypes.slice(0) } this._asyncLoadCode() } a8.lang.inherits(aL, cp, "MapTypeControl"); a8.object.extend(aL.prototype, { initialize : function(T) { this._map = T; return this._container }, _asyncLoadCode : function() { var T = this; cA.load("control", function() { T._asyncDraw() }) } }); function cz(cL) { a8.lang.Class.call(this); this._opts = { container : null, cursor : "default" }; this._opts = a8.extend(this._opts, cL); this._type = "contextmenu"; this._map = null; this._container; this._shadow; this._left = 0; this._top = 0; this._items = []; this._rItems = []; this._dividers = []; this.curPixel = null; this.curPoint = null; this._isOpen = false; var T = this; cA.load("menu", function() { T._draw() }) } a8.lang.inherits(cz, a8.lang.Class, "ContextMenu"); a8.object.extend(cz.prototype, { initialize : function(cL, T) { this._map = cL; this._overlay = T || null }, remove : function() { this._map = this._overlay = null }, addItem : function(cM) { if (!cM || cM._type != "menuitem" || cM._text == "" || cM._width <= 0) { return } for ( var cL = 0, T = this._items.length; cL < T; cL++) { if (this._items[cL] === cM) { return } } this._items.push(cM); this._rItems.push(cM) }, removeItem : function(cM) { if (!cM || cM._type != "menuitem") { return } for ( var cL = 0, T = this._items.length; cL < T; cL++) { if (this._items[cL] === cM) { this._items[cL].remove(); this._items.splice(cL, 1); T-- } } for ( var cL = 0, T = this._rItems.length; cL < T; cL++) { if (this._rItems[cL] === cM) { this._rItems[cL].remove(); this._rItems.splice(cL, 1); T-- } } }, addSeparator : function() { this._items.push( { _type : "divider", _dIndex : this._dividers.length }); this._dividers.push( { dom : null }) }, removeSeparator : function(cL) { if (!this._dividers[cL]) { return } for ( var cM = 0, T = this._items.length; cM < T; cM++) { if (this._items[cM] && this._items[cM]._type == "divider" && this._items[cM]._dIndex == cL) { this._items.splice(cM, 1); T-- } if (this._items[cM] && this._items[cM]._type == "divider" && this._items[cM]._dIndex > cL) { this._items[cM]._dIndex-- } } this._dividers.splice(cL, 1) }, getDom : function() { return this._container }, show : function() { if (this._isOpen == true) { return } this._isOpen = true }, hide : function() { if (this._isOpen == false) { return } this._isOpen = false }, setCursor : function(T) { if (!T) { return } this._opts.cursor = T }, getItem : function(T) { return this._rItems[T] } }); function be(cM, cN, cL) { if (!cM || !I(cN)) { return } a8.lang.Class.call(this); this._opts = { width : 100, id : "" }; cL = cL || {}; this._opts.width = (cL.width * 1) ? cL.width : 100; this._opts.id = cL.id ? cL.id : ""; this._text = cM + ""; this._callback = cN; this._map = null; this._type = "menuitem"; this._contextmenu = null; this._container = null; this._enabled = true; var T = this; cA.load("menu", function() { T._draw() }) } a8.lang.inherits(be, a8.lang.Class, "MenuItem"); a8.object.extend(be.prototype, { initialize : function(T, cL) { this._map = T; this._contextmenu = cL }, remove : function() { this._contextmenu = null; this._map = null }, setText : function(T) { if (!T) { return } this._text = T + "" }, getDom : function() { return this._container }, enable : function() { this._enabled = true }, disable : function() { this._enabled = false } }); function bN(T, cL) { if (T && !cL) { cL = T } this._sw = this._ne = null; this._swLng = this._swLat = null; this._neLng = this._neLat = null; if (T) { this._sw = new cd(T.lng, T.lat); this._ne = new cd(cL.lng, cL.lat); this._swLng = T.lng; this._swLat = T.lat; this._neLng = cL.lng; this._neLat = cL.lat } } a8.object.extend(bN.prototype, { isEmpty : function() { return !this._sw || !this._ne }, equals : function(T) { if (!(T instanceof bN) || this.isEmpty()) { return false } return this.getSouthWest().equals(T.getSouthWest()) && this.getNorthEast().equals(T.getNorthEast()) }, getSouthWest : function() { return this._sw }, getNorthEast : function() { return this._ne }, containsBounds : function(T) { if (!(T instanceof bN) || this.isEmpty() || T.isEmpty()) { return false } return (T._swLng > this._swLng && T._neLng < this._neLng && T._swLat > this._swLat && T._neLat < this._neLat) }, getCenter : function() { if (this.isEmpty()) { return null } return new cd((this._swLng + this._neLng) / 2, (this._swLat + this._neLat) / 2) }, intersects : function(cM) { if (!(cM instanceof bN)) { return null } if (Math.max(cM._swLng, cM._neLng) < Math.min(this._swLng, this._neLng) || Math.min(cM._swLng, cM._neLng) > Math.max(this._swLng, this._neLng) || Math.max(cM._swLat, cM._neLat) < Math.min(this._swLat, this._neLat) || Math.min(cM._swLat, cM._neLat) > Math.max(this._swLat, this._neLat)) { return null } var cO = Math.max(this._swLng, cM._swLng); var cL = Math.min(this._neLng, cM._neLng); var cN = Math.max(this._swLat, cM._swLat); var T = Math.min(this._neLat, cM._neLat); return new bN(new cd(cO, cN), new cd(cL, T)) }, containsPoint : function(T) { if (!(T instanceof cd) || this.isEmpty()) { return false } return (T.lng >= this._swLng && T.lng <= this._neLng && T.lat >= this._swLat && T.lat <= this._neLat) }, extend : function(T) { if (!(T instanceof cd)) { return } var cL = T.lng, cM = T.lat; if (!this._sw) { this._sw = new cd(0, 0) } if (!this._ne) { this._ne = new cd(0, 0) } if (!this._swLng || this._swLng > cL) { this._sw.lng = this._swLng = cL } if (!this._neLng || this._neLng < cL) { this._ne.lng = this._neLng = cL } if (!this._swLat || this._swLat > cM) { this._sw.lat = this._swLat = cM } if (!this._neLat || this._neLat < cM) { this._ne.lat = this._neLat = cM } }, toSpan : function() { if (this.isEmpty()) { return new cd(0, 0) } return new cd(Math.abs(this._neLng - this._swLng), Math .abs(this._neLat - this._swLat)) } }); function cd(T, cL) { if (isNaN(T)) { T = bV(T); T = isNaN(T) ? 0 : T } if (b3(T)) { T = parseFloat(T) } if (isNaN(cL)) { cL = bV(cL); cL = isNaN(cL) ? 0 : cL } if (b3(cL)) { cL = parseFloat(cL) } this.lng = T; this.lat = cL } cd.isInRange = function(T) { return T && T.lng <= 180 && T.lng >= -180 && T.lat <= 74 && T.lat >= -74 }; cd.prototype.equals = function(T) { return T && this.lat == T.lat && this.lng == T.lng }; function bd() { } bd.prototype.lngLatToPoint = function() { throw "lngLatToPoint\u65b9\u6cd5\u672a\u5b9e\u73b0" }; bd.prototype.pointToLngLat = function() { throw "pointToLngLat\u65b9\u6cd5\u672a\u5b9e\u73b0" }; function b6() { } a8 .extend( b6, { num : { bj : { num : Math.sin(Math.PI / 4), num2 : Math.sin(Math.PI / 6) }, gz : { num : Math.sin(Math.PI / 4), num2 : Math.sin(Math.PI / 4) }, sz : { num : Math.sin(Math.PI / 4), num2 : Math.sin(Math.PI / 4) }, sh : { num : Math.sin(Math.PI / 4), num2 : Math.sin(Math.PI / 4) } }, correct_pts : { bj : [ { j : 116.305687, w : 39.990912, utm_x : 12947230.73, utm_y : 4836903.65, x : 630412, y : 547340 }, { j : 116.381837, w : 40.000198, utm_x : 12955707.8, utm_y : 4838247.62, x : 667412, y : 561832 }, { j : 116.430651, w : 39.995216, utm_x : 12961141.81, utm_y : 4837526.55, x : 686556, y : 573372 }, { j : 116.474111, w : 39.976323, utm_x : 12965979.81, utm_y : 4834792.55, x : 697152, y : 586816 }, { j : 116.280328, w : 39.953159, utm_x : 12944407.75, utm_y : 4831441.53, x : 603272, y : 549976 }, { j : 116.316117, w : 39.952496, utm_x : 12948391.8, utm_y : 4831345.64, x : 618504, y : 557872 }, { j : 116.350477, w : 39.938107, utm_x : 12952216.78, utm_y : 4829264.65, x : 627044, y : 568220 }, { j : 116.432025, w : 39.947158, utm_x : 12961294.76, utm_y : 4830573.59, x : 666280, y : 584016 }, { j : 116.46873, w : 39.949516, utm_x : 12965380.79, utm_y : 4830914.63, x : 683328, y : 591444 }, { j : 116.280077, w : 39.913823, utm_x : 12944379.8, utm_y : 4825753.62, x : 586150, y : 558552 }, { j : 116.308625, w : 39.91374, utm_x : 12947557.79, utm_y : 4825741.62, x : 598648, y : 564732 }, { j : 116.369853, w : 39.912979, utm_x : 12954373.73, utm_y : 4825631.62, x : 624561, y : 578039 }, { j : 116.433552, w : 39.914694, utm_x : 12961464.75, utm_y : 4825879.53, x : 652972, y : 591348 }, { j : 116.457034, w : 39.914273, utm_x : 12964078.78, utm_y : 4825818.67, x : 663028, y : 596444 }, { j : 116.490927, w : 39.914127, utm_x : 12967851.77, utm_y : 4825797.57, x : 677968, y : 604188 }, { j : 116.483839, w : 39.877198, utm_x : 12967062.73, utm_y : 4820460.67, x : 658596, y : 610312 }, { j : 116.405777, w : 39.864461, utm_x : 12958372.82, utm_y : 4818620.62, x : 619256, y : 596088 }, { j : 116.35345, w : 39.859774, utm_x : 12952547.74, utm_y : 4817943.6, x : 594633, y : 585851 }, { j : 116.403818, w : 39.9141, utm_x : 12958154.74, utm_y : 4825793.66, x : 639699, y : 585226 }, { j : 116.318111, w : 39.891101, utm_x : 12948613.78, utm_y : 4822469.56, x : 592856, y : 571480 }, { j : 116.413047, w : 39.907238, utm_x : 12959182.12, utm_y : 4824801.76, x : 640680, y : 588704 }, { j : 116.390843, w : 39.906113, utm_x : 12956710.35, utm_y : 4824639.16, x : 630620, y : 584108 }, { j : 116.446527, w : 39.899438, utm_x : 12962909.14, utm_y : 4823674.4, x : 651752, y : 597416 }, { j : 116.388665, w : 39.95527, utm_x : 12956467.9, utm_y : 4831746.87, x : 650656, y : 572800 }, { j : 116.398343, w : 39.939704, utm_x : 12957545.26, utm_y : 4829495.6, x : 648036, y : 578452 }, { j : 116.355101, w : 39.973581, utm_x : 12952731.53, utm_y : 4834395.82, x : 643268, y : 560944 }, { j : 116.380727, w : 39.88464, utm_x : 12955584.23, utm_y : 4821535.94, x : 616920, y : 586496 }, { j : 116.360843, w : 39.946452, utm_x : 12953370.73, utm_y : 4830471.48, x : 635293, y : 568765 }, { j : 116.340955, w : 39.973421, utm_x : 12951156.79, utm_y : 4834372.67, x : 638420, y : 558632 }, { j : 116.322585, w : 40.023941, utm_x : 12949111.83, utm_y : 4841684.79, x : 652135, y : 543802 }, { j : 116.356486, w : 39.883341, utm_x : 12952885.71, utm_y : 4821348.24, x : 606050, y : 581443 }, { j : 116.339592, w : 39.992259, utm_x : 12951005.06, utm_y : 4837098.59, x : 645664, y : 554400 }, { j : 116.3778, w : 39.86392, utm_x : 12955258.4, utm_y : 4818542.48, x : 606848, y : 590328 }, { j : 116.377354, w : 39.964124, utm_x : 12955208.75, utm_y : 4833027.64, x : 649911, y : 568581 }, { j : 116.361837, w : 39.963897, utm_x : 12953481.39, utm_y : 4832994.8, x : 643286, y : 565175 }, { j : 116.441397, w : 39.939403, utm_x : 12962338.06, utm_y : 4829452.07, x : 666772, y : 587728 }, { j : 116.359176, w : 40.006631, utm_x : 12953185.16, utm_y : 4839178.78, x : 660440, y : 555411 } ], sz : [ { w : 22.498861, utm_x : 12677279.029193671, utm_y : 2555027.9501714734, j : 113.880696, y : 1104472, x : 947240 }, { w : 22.500706, utm_x : 12683920.978881944, utm_y : 2555248.973138607, j : 113.940361, y : 1122320, x : 974864 }, { w : 22.576848, utm_x : 12675897.984563945, utm_y : 2564373.058056766, j : 113.86829, y : 1074048, x : 979136 }, { w : 22.55689, utm_x : 12680064.05051775, utm_y : 2561981.0013635466, j : 113.905714, y : 1092484, x : 986240 }, { w : 22.58066, utm_x : 12678671.98513852, utm_y : 2564829.983373251, j : 113.893209, y : 1080528, x : 992088 }, { w : 22.595751, utm_x : 12678298.949465925, utm_y : 2566638.9913895614, j : 113.889858, y : 1074484, x : 997960 }, { w : 22.557499, utm_x : 12684523.001238672, utm_y : 2562053.9875916084, j : 113.945769, y : 1104696, x : 1004564 }, { w : 22.648419, utm_x : 12676422.97299485, utm_y : 2572954.0513219936, j : 113.873006, y : 1051384, x : 1015916 }, { w : 22.562664, utm_x : 12690460.958807131, utm_y : 2562673.0054078405, j : 113.99911, y : 1119860, x : 1030228 }, { w : 22.646618, utm_x : 12683008.037804369, utm_y : 2572738.0652955617, j : 113.93216, y : 1070324, x : 1041496 }, { w : 22.571091, utm_x : 12695789.992135335, utm_y : 2563683.019582462, j : 114.046981, y : 1131924, x : 1055628 }, { w : 22.704467, utm_x : 12682276.994753957, utm_y : 2579677.075645295, j : 113.925593, y : 1048536, x : 1066348 }, { w : 22.547152, utm_x : 12702917.96800879, utm_y : 2560813.9850610085, j : 114.111012, y : 1160352, x : 1072596 }, { w : 22.546192, utm_x : 12704502.952164687, utm_y : 2560698.9417545213, j : 114.12525, y : 1165256, x : 1078452 }, { w : 22.5714, utm_x : 12702350.00978689, utm_y : 2563720.0558210905, j : 114.10591, y : 1150556, x : 1081960 }, { w : 22.555004, utm_x : 12704883.001041513, utm_y : 2561754.9738317807, j : 114.128664, y : 1163304, x : 1084172 }, { w : 22.551925, utm_x : 12706255.028694374, utm_y : 2561385.978019464, j : 114.140989, y : 1168216, x : 1088116 }, { w : 22.693756, utm_x : 12690318.02302569, utm_y : 2578392.0635360866, j : 113.997826, y : 1075100, x : 1092860 }, { w : 22.573769, utm_x : 12705731.042149788, utm_y : 2564004.003107545, j : 114.136282, y : 1159404, x : 1096572 }, { w : 22.583238, utm_x : 12706369.021093281, utm_y : 2565139.002548978, j : 114.142013, y : 1157896, x : 1103632 }, { w : 22.605844, utm_x : 12704694.980375737, utm_y : 2567848.984570506, j : 114.126975, y : 1145540, x : 1107972 }, { w : 22.637228, utm_x : 12702545.043656897, utm_y : 2571612.010208761, j : 114.107662, y : 1128764, x : 1114460 }, { w : 22.62496, utm_x : 12707132.013185183, utm_y : 2570140.9407190788, j : 114.148867, y : 1145732, x : 1127028 }, { w : 22.644524, utm_x : 12707016.01701364, utm_y : 2572486.9446672536, j : 114.147825, y : 1138800, x : 1135876 }, { w : 22.640188, utm_x : 12711515.0431873, utm_y : 2571966.966986786, j : 114.18824, y : 1152692, x : 1151836 }, { w : 22.59807, utm_x : 12720011.039168343, utm_y : 2566916.995355996, j : 114.26456, y : 1191212, x : 1165180 }, { w : 22.668221, utm_x : 12714081.987256048, utm_y : 2575329.007304823, j : 114.211299, y : 1150576, x : 1175404 }, { w : 22.702591, utm_x : 12717292.031020584, utm_y : 2579452.0022288463, j : 114.240135, y : 1148204, x : 1204600 }, { w : 22.731786, utm_x : 12717795.9798388, utm_y : 2582955.0308636553, j : 114.244662, y : 1139532, x : 1220540 }, { w : 22.727494, utm_x : 12720675.957721734, utm_y : 2582439.9980541077, j : 114.270533, y : 1148992, x : 1230084 }, { w : 22.716335, utm_x : 12725500.040345404, utm_y : 2581101.0132384477, j : 114.313868, y : 1166316, x : 1244102 } ], gz : [ { j : 113.335098, w : 23.147289, utm_x : 12616542.68, utm_y : 2632892.7, x : 1129109, y : 1073920 }, { j : 113.320932, w : 23.146956, utm_x : 12614965.71, utm_y : 2632852.62, x : 1125620, y : 1071640 }, { j : 113.321435, w : 23.140119, utm_x : 12615021.7, utm_y : 2632029.65, x : 1124032, y : 1072882 }, { j : 113.321471, w : 23.119165, utm_x : 12615025.71, utm_y : 2629507.68, x : 1118932, y : 1076530 }, { j : 113.340201, w : 23.118616, utm_x : 12617110.75, utm_y : 2629441.61, x : 1123238, y : 1079667 }, { j : 113.358068, w : 23.116323, utm_x : 12619099.71, utm_y : 2629165.66, x : 1126968, y : 1083116 }, { j : 113.357529, w : 23.131271, utm_x : 12619039.71, utm_y : 2630964.68, x : 1130508, y : 1080440 }, { j : 113.365811, w : 23.150595, utm_x : 12619961.67, utm_y : 2633290.66, x : 1137205, y : 1078567 }, { j : 113.294145, w : 23.118467, utm_x : 12611983.76, utm_y : 2629423.68, x : 1112245, y : 1072043 }, { j : 113.28615, w : 23.121525, utm_x : 12611093.75, utm_y : 2629791.7, x : 1110993, y : 1070197 }, { j : 113.307152, w : 23.055497, utm_x : 12613431.71, utm_y : 2621847.21, x : 1100144, y : 1085123 }, { j : 113.333445, w : 23.052687, utm_x : 12616358.66, utm_y : 2621509.2, x : 1105784, y : 1089948 }, { j : 113.347476, w : 23.048755, utm_x : 12617920.6, utm_y : 2621036.24, x : 1108099, y : 1093064 }, { j : 113.385774, w : 23.036574, utm_x : 12622183.96, utm_y : 2619571.12, x : 1113850, y : 1101834 }, { j : 113.364185, w : 22.89798, utm_x : 12619780.66, utm_y : 2602910.64, x : 1073186, y : 1123374 }, { j : 113.404577, w : 22.906481, utm_x : 12624277.13, utm_y : 2603932.06, x : 1084888, y : 1128692 }, { j : 113.430856, w : 22.913156, utm_x : 12627202.52, utm_y : 2604734.12, x : 1092892, y : 1131761 }, { j : 113.384554, w : 22.933021, utm_x : 12622048.15, utm_y : 2607121.32, x : 1086975, y : 1120403 }, { j : 113.263566, w : 23.146333, utm_x : 12608579.68, utm_y : 2632777.63, x : 1111742, y : 1062098 }, { j : 113.239213, w : 23.152996, utm_x : 12605868.69, utm_y : 2633579.69, x : 1107616, y : 1056740 }, { j : 113.253865, w : 23.131628, utm_x : 12607499.76, utm_y : 2631007.65, x : 1105912, y : 1062966 }, { j : 113.240767, w : 23.088434, utm_x : 12606041.68, utm_y : 2625809.7, x : 1092270, y : 1068184 }, { j : 113.279628, w : 23.088284, utm_x : 12610367.72, utm_y : 2625791.65, x : 1101412, y : 1074883 }, { j : 113.462271, w : 23.107058, utm_x : 12630699.66, utm_y : 2628050.7, x : 1148752, y : 1101736 }, { j : 113.401618, w : 23.052957, utm_x : 12623947.73, utm_y : 2621541.68, x : 1121925, y : 1101535 }, { j : 113.422504, w : 23.05905, utm_x : 12626272.77, utm_y : 2622274.61, x : 1128470, y : 1104049 }, { j : 113.362506, w : 23.107149, utm_x : 12619593.75, utm_y : 2628061.65, x : 1125835, y : 1085505 }, { j : 113.419629, w : 23.143176, utm_x : 12625952.73, utm_y : 2632397.61, x : 1148133, y : 1089052 }, { j : 113.23315, w : 23.062251, utm_x : 12605193.75, utm_y : 2622659.67, x : 1084184, y : 1071368 }, { j : 113.314525, w : 23.101412, utm_x : 12614252.48, utm_y : 2627371.29, x : 1113011, y : 1078426 }, { j : 113.307947, w : 23.131369, utm_x : 12613520.21, utm_y : 2630976.47, x : 1118622, y : 1072198 } ], sh : [ { j : 121.524411, w : 31.245875, utm_x : 13528182.75, utm_y : 3642354.51, x : 1086581, y : 1065728 }, { j : 121.419229, w : 31.244887, utm_x : 13516473.81, utm_y : 3642226.51, x : 1032616, y : 1029148 }, { j : 121.405637, w : 31.237871, utm_x : 13514960.74, utm_y : 3641317.54, x : 1022724, y : 1027244 }, { j : 121.415348, w : 31.222879, utm_x : 13516041.78, utm_y : 3639375.47, x : 1018548, y : 1036980 }, { j : 121.422561, w : 31.224261, utm_x : 13516844.73, utm_y : 3639554.48, x : 1022976, y : 1038908 }, { j : 121.412581, w : 31.204148, utm_x : 13515733.75, utm_y : 3636949.48, x : 1006568, y : 1043696 }, { j : 121.443025, w : 31.206202, utm_x : 13519122.8, utm_y : 3637215.49, x : 1022656, y : 1053704 }, { j : 121.524061, w : 31.246917, utm_x : 13528143.79, utm_y : 3642489.52, x : 1082052, y : 1064124 }, { j : 121.529343, w : 31.217769, utm_x : 13528731.78, utm_y : 3638713.59, x : 1072696, y : 1079064 }, { j : 121.530268, w : 31.210341, utm_x : 13528834.75, utm_y : 3637751.53, x : 1068748, y : 1082416 }, { j : 121.511601, w : 31.227303, utm_x : 13526756.73, utm_y : 3639948.53, x : 1069276, y : 1068716 }, { j : 121.4966, w : 31.243614, utm_x : 13525086.81, utm_y : 3642061.58, x : 1071220, y : 1056805 }, { j : 121.485021, w : 31.26138, utm_x : 13523797.82, utm_y : 3644363.54, x : 1075708, y : 1045540 }, { j : 121.465114, w : 31.278803, utm_x : 13521581.76, utm_y : 3646621.48, x : 1073740, y : 1031268 }, { j : 121.454784, w : 31.266566, utm_x : 13520431.82, utm_y : 3645035.58, x : 1063591, y : 1033191 }, { j : 121.46851, w : 31.24951, utm_x : 13521959.81, utm_y : 3642825.48, x : 1060200, y : 1044520 }, { j : 121.446384, w : 31.248422, utm_x : 13519496.73, utm_y : 3642684.51, x : 1048784, y : 1037750 }, { j : 121.509499, w : 31.246469, utm_x : 13526522.73, utm_y : 3642431.47, x : 1079309, y : 1060105 }, { j : 121.481643, w : 31.283943, utm_x : 13523421.78, utm_y : 3647287.68, x : 1087096, y : 1035304 }, { j : 121.508054, w : 31.280609, utm_x : 13526361.87, utm_y : 3646855.56, x : 1098432, y : 1045648 }, { j : 121.493854, w : 31.19121, utm_x : 13524781.12, utm_y : 3635274.07, x : 1039624, y : 1077288 }, { j : 121.500079, w : 31.185541, utm_x : 13525474.09, utm_y : 3634540.04, x : 1039960, y : 1081640 }, { j : 121.484482, w : 31.202846, utm_x : 13523737.82, utm_y : 3636780.87, x : 1041388, y : 1069232 }, { j : 121.480877, w : 31.189587, utm_x : 13523336.51, utm_y : 3635063.92, x : 1032484, y : 1073640 }, { j : 121.502652, w : 31.195209, utm_x : 13525760.52, utm_y : 3635791.9, x : 1046384, y : 1078728 } ] }, getLnglatIndex : function(cN, cR, cQ) { var cM = 0; var cL = 0; var cS = 10000000, cP = 1000000000; for ( var cO = 0; cO < this.correct_pts[cN].length; cO++) { var T = this.getDis(this.correct_pts[cN][cO].x, this.correct_pts[cN][cO].y, cR, cQ); if (T < cP) { if (T < cS) { cP = cS; cS = T; cL = cM; cM = cO } else { sedMinDis = T; cL = cO } } } return { lt : cM, rb : cL } }, getOMapIndex_mm : function(cN, cS, cR) { var cM = 0; var cL = 0; var cQ = 1294723000, cP = 1294723000; for ( var cO = 0; cO < this.correct_pts[cN].length; cO++) { var T = this.getDis( this.correct_pts[cN][cO].utm_x, this.correct_pts[cN][cO].utm_y, cS, cR); if (T < cP) { if (T < cQ) { cP = cQ; cQ = T; cL = cM; cM = cO } else { sedMinDis = T; cL = cO } } } return { lt : cM, rb : cL } }, getDis : function(T, cN, cL, cM) { return Math.abs(T - cL) + Math.abs(cN - cM) }, toMap : function(cN, T, cO) { var cL = (T - cO) * this.num[cN].num; var cM = (T + cO) * this.num[cN].num * this.num[cN].num2; return { x : cL, y : cM } }, fromMap : function(cN, T, cO) { cO = cO / this.num[cN].num2; var cL = (T + cO) / (this.num[cN].num * 2); var cM = (cO - T) / (this.num[cN].num * 2); return { x : cL, y : cM } }, getDgPix_mm : function(cO, cT, cP) { var cS = this.fromMap(cO, this.correct_pts[cO][cT].x, this.correct_pts[cO][cT].y); var cQ = this.fromMap(cO, this.correct_pts[cO][cP].x, this.correct_pts[cO][cP].y); var cY = cS.x, cL = cS.y; var cX = cQ.x, T = cQ.y; var cV = this.correct_pts[cO][cT].utm_x, cN = this.correct_pts[cO][cT].utm_y; var cR = this.correct_pts[cO][cP].utm_x, cM = this.correct_pts[cO][cP].utm_y; var cW = Math.abs((cR - cV) * 100000 / (cX - cY)); var cU = Math.abs((cM - cN) * 100000 / (T - cL)); return { j : cW, w : cU, x : 100000 / cW, y : 100000 / cU } }, getPx_mm : function(c1, cX, cW, cO, cN) { var cM = this.correct_pts[c1][cO]; var T = this.correct_pts[c1][cO]; var cU = this.getDgPix_mm(c1, cO, cN); var cQ = this.fromMap(c1, cM.x, cM.y); var cP = T.utm_x, c3 = T.utm_y; var c2 = cX, cV = cW; var c0 = cQ.x; var cL = cQ.y; var cS = c2 - cP, cZ = cV - c3; var cT = cS * cU.x + c0; var cR = -cZ * cU.y + cL; var cY = this.toMap(c1, cT, cR); return cY }, getJw_mm : function(cZ, cU, cT, cP, cO) { var cS = this.correct_pts[cZ][cP]; var cL = this.correct_pts[cZ][cP]; var cV = this.getDgPix_mm(cZ, cP, cO); var cX = this.fromMap(cZ, cU, cT); var cN = this.fromMap(cZ, cS.x, cS.y); var cQ = cL.utm_x, c0 = cL.utm_y; var cY = cN.x; var cM = cN.y; var c1 = cX.x - cY, cW = cM - cX.y; var cR = c1 / cV.x + cQ; var T = cW / cV.y + c0; return { lng : cR, lat : T } }, getOMap_pts : function(cL, T) { return this.getOMap_index(cL, T.lng, T.lat, T.lt, T.rb) }, getMapJw_pts : function(cL, T) { return this.getMapJw_index(cL, T.lng, 9998336 - T.lat, T.lt, T.rb) }, getOMap_index : function(cQ, cP, cO, T, cN) { if (!T || !cN) { var cL = this.getOMapIndex_mm(cQ, cP, cO) } else { var cL = { lt : T, rb : cN } } var cM = this.getPx_mm(cQ, cP, cO, cL.lt, cL.rb); return { x : Math.floor(cM.x), y : 9998336 - Math.floor(cM.y), lt : cL.lt, rb : cL.rb } }, getMapJw_index : function(cP, cM, cQ, cL, cO) { if (!cL || !cO) { var cN = this.getLnglatIndex(cP, cM, cQ) } else { var cN = { lt : cL, rb : cO } } var T = this.getJw_mm(cP, cM, cQ, cN.lt, cN.rb); return { lng : T.lng, lat : T.lat, lt : cN.lt, rb : cN.rb } } }); function ba() { } ba.prototype = new bd(); a8.extend(ba, { EARTHRADIUS : 6370996.81, MCBAND : [ 12890594.86, 8362377.87, 5591021, 3481989.83, 1678043.12, 0 ], LLBAND : [ 75, 60, 45, 30, 15, 0 ], MC2LL : [ [ 1.410526172116255e-8, 0.00000898305509648872, -1.9939833816331, 200.9824383106796, -187.2403703815547, 91.6087516669843, -23.38765649603339, 2.57121317296198, -0.03801003308653, 17337981.2 ], [ -7.435856389565537e-9, 0.000008983055097726239, -0.78625201886289, 96.32687599759846, -1.85204757529826, -59.36935905485877, 47.40033549296737, -16.50741931063887, 2.28786674699375, 10260144.86 ], [ -3.030883460898826e-8, 0.00000898305509983578, 0.30071316287616, 59.74293618442277, 7.357984074871, -25.38371002664745, 13.45380521110908, -3.29883767235584, 0.32710905363475, 6856817.37 ], [ -1.981981304930552e-8, 0.000008983055099779535, 0.03278182852591, 40.31678527705744, 0.65659298677277, -4.44255534477492, 0.85341911805263, 0.12923347998204, -0.04625736007561, 4482777.06 ], [ 3.09191371068437e-9, 0.000008983055096812155, 0.00006995724062, 23.10934304144901, -0.00023663490511, -0.6321817810242, -0.00663494467273, 0.03430082397953, -0.00466043876332, 2555164.4 ], [ 2.890871144776878e-9, 0.000008983055095805407, -3.068298e-8, 7.47137025468032, -0.00000353937994, -0.02145144861037, -0.00001234426596, 0.00010322952773, -0.00000323890364, 826088.5 ] ], LL2MC : [ [ -0.0015702102444, 111320.7020616939, 1704480524535203, -10338987376042340, 26112667856603880, -35149669176653700, 26595700718403920, -10725012454188240, 1800819912950474, 82.5 ], [ 0.0008277824516172526, 111320.7020463578, 647795574.6671607, -4082003173.641316, 10774905663.51142, -15171875531.51559, 12053065338.62167, -5124939663.577472, 913311935.9512032, 67.5 ], [ 0.00337398766765, 111320.7020202162, 4481351.045890365, -23393751.19931662, 79682215.47186455, -115964993.2797253, 97236711.15602145, -43661946.33752821, 8477230.501135234, 52.5 ], [ 0.00220636496208, 111320.7020209128, 51751.86112841131, 3796837.749470245, 992013.7397791013, -1221952.21711287, 1340652.697009075, -620943.6990984312, 144416.9293806241, 37.5 ], [ -0.0003441963504368392, 111320.7020576856, 278.2353980772752, 2485758.690035394, 6070.750963243378, 54821.18345352118, 9540.606633304236, -2710.55326746645, 1405.483844121726, 22.5 ], [ -0.0003218135878613132, 111320.7020701615, 0.00369383431289, 823725.6402795718, 0.46104986909093, 2351.343141331292, 1.58060784298199, 8.77738589078284, 0.37238884252424, 7.45 ] ], getDistanceByMC : function(cP, cN) { if (!cP || !cN) { return 0 } var cL, cO, T, cM; cP = this.convertMC2LL(cP); if (!cP) { return 0 } cL = this.toRadians(cP.lng); cO = this.toRadians(cP.lat); cN = this.convertMC2LL(cN); if (!cN) { return 0 } T = this.toRadians(cN.lng); cM = this.toRadians(cN.lat); return this.getDistance(cL, T, cO, cM) }, getDistanceByLL : function(cP, cN) { if (!cP || !cN) { return 0 } cP.lng = this.getLoop(cP.lng, -180, 180); cP.lat = this.getRange(cP.lat, -74, 74); cN.lng = this.getLoop(cN.lng, -180, 180); cN.lat = this.getRange(cN.lat, -74, 74); var cL, T, cO, cM; cL = this.toRadians(cP.lng); cO = this.toRadians(cP.lat); T = this.toRadians(cN.lng); cM = this.toRadians(cN.lat); return this.getDistance(cL, T, cO, cM) }, convertMC2LL : function(cL) { var cM, cO; cM = new cd(Math.abs(cL.lng), Math.abs(cL.lat)); for ( var cN = 0; cN < this.MCBAND.length; cN++) { if (cM.lat >= this.MCBAND[cN]) { cO = this.MC2LL[cN]; break } } var T = this.convertor(cL, cO); var cL = new cd(T.lng.toFixed(6), T.lat.toFixed(6)); return cL }, convertLL2MC : function(T) { var cL, cN; T.lng = this.getLoop(T.lng, -180, 180); T.lat = this.getRange(T.lat, -74, 74); cL = new cd(T.lng, T.lat); for ( var cM = 0; cM < this.LLBAND.length; cM++) { if (cL.lat >= this.LLBAND[cM]) { cN = this.LL2MC[cM]; break } } if (!cN) { for ( var cM = this.LLBAND.length - 1; cM >= 0; cM--) { if (cL.lat <= -this.LLBAND[cM]) { cN = this.LL2MC[cM]; break } } } var cO = this.convertor(T, cN); var T = new cd(cO.lng.toFixed(2), cO.lat.toFixed(2)); return T }, convertor : function(cM, cN) { if (!cM || !cN) { return } var T = cN[0] + cN[1] * Math.abs(cM.lng); var cL = Math.abs(cM.lat) / cN[9]; var cO = cN[2] + cN[3] * cL + cN[4] * cL * cL + cN[5] * cL * cL * cL + cN[6] * cL * cL * cL * cL + cN[7] * cL * cL * cL * cL * cL + cN[8] * cL * cL * cL * cL * cL * cL; T *= (cM.lng < 0 ? -1 : 1); cO *= (cM.lat < 0 ? -1 : 1); return new cd(T, cO) }, getDistance : function(cL, T, cN, cM) { return this.EARTHRADIUS * Math.acos((Math.sin(cN) * Math.sin(cM) + Math .cos(cN) * Math.cos(cM) * Math.cos(T - cL))) }, toRadians : function(T) { return Math.PI * T / 180 }, toDegrees : function(T) { return (180 * T) / Math.PI }, getRange : function(cM, cL, T) { if (cL != null) { cM = Math.max(cM, cL) } if (T != null) { cM = Math.min(cM, T) } return cM }, getLoop : function(cM, cL, T) { while (cM > T) { cM -= T - cL } while (cM < cL) { cM += T - cL } return cM } }); a8.extend(ba.prototype, { lngLatToMercator : function(T) { return ba.convertLL2MC(T) }, lngLatToPoint : function(T) { var cL = ba.convertLL2MC(T); return new bu(cL.lng, cL.lat) }, mercatorToLngLat : function(T) { return ba.convertMC2LL(T) }, pointToLngLat : function(T) { var cL = new cd(T.x, T.y); return ba.convertMC2LL(cL) }, pointToPixel : function(cL, cP, cO, cN, cQ) { if (!cL) { return } cL = this.lngLatToMercator(cL, cQ); var cM = this.getZoomUnits(cP); var T = Math.round((cL.lng - cO.lng) / cM + cN.width / 2); var cR = Math.round((cO.lat - cL.lat) / cM + cN.height / 2); return new bu(T, cR) }, pixelToPoint : function(T, cS, cO, cM, cL) { if (!T) { return } var cR = this.getZoomUnits(cS); var cP = cO.lng + cR * (T.x - cM.width / 2); var cN = cO.lat - cR * (T.y - cM.height / 2); var cQ = new cd(cP, cN); return this.mercatorToLngLat(cQ, cL) }, getZoomUnits : function(T) { return Math.pow(2, (18 - T)) } }); function cE() { } cE.prototype = new ba(); a8.extend(cE.prototype, { lngLatToMercator : function(cL, T) { return this._convert2DTo3D(T, ba.convertLL2MC(cL)) }, mercatorToLngLat : function(cL, T) { return ba.convertMC2LL(this._convert3DTo2D(T, cL)) }, lngLatToPoint : function(cM, T) { var cL = this._convert2DTo3D(T, ba.convertLL2MC(cM)); return new bu(cL.lng, cL.lat) }, pointToLngLat : function(cL, T) { var cM = new cd(cL.x, cL.y); return ba.convertMC2LL(this._convert3DTo2D(T, cM)) }, _convert2DTo3D : function(cM, T) { var cL = b6.getOMap_pts(cM || "bj", T); return new cd(cL.x, cL.y) }, _convert3DTo2D : function(cM, T) { var cL = b6.getMapJw_pts(cM || "bj", T); return new cd(cL.lng, cL.lat) }, getZoomUnits : function(T) { return Math.pow(2, (20 - T)) } }); function bG() { this._type = "overlay" } a8.lang.inherits(bG, a8.lang.Class, "Overlay"); bG.getZIndex = function(T) { T = T * 1; if (!T) { return 0 } return (T * -100000) << 1 }; a8.extend(bG.prototype, { _i : function(T) { if (!this.domElement && I(this.initialize)) { this.domElement = this.initialize(T); if (this.domElement) { this.domElement.style.WebkitUserSelect = "none" } } this.draw() }, initialize : function(T) { throw "initialize\u65b9\u6cd5\u672a\u5b9e\u73b0" }, draw : function() { throw "draw\u65b9\u6cd5\u672a\u5b9e\u73b0" }, remove : function() { if (this.domElement && this.domElement.parentNode) { this.domElement.parentNode.removeChild(this.domElement) } this.domElement = null; this.dispatchEvent(new bg("onremove")) }, hide : function() { if (this.domElement) { a8.dom.hide(this.domElement) } }, show : function() { if (this.domElement) { a8.dom.show(this.domElement) } }, isVisible : function() { if (!this.domElement) { return false } if (this.domElement.style.display == "none" || this.domElement.style.visibility == "hidden") { return false } return true } }); BMap.register(function(cM) { var T = cM.temp; T.overlayDiv = cM.overlayDiv = cL(cM.platform, 200); cM._panes.floatPane = cL(T.overlayDiv, 800); cM._panes.markerMouseTarget = cL(T.overlayDiv, 700); cM._panes.floatShadow = cL(T.overlayDiv, 600); cM._panes.labelPane = cL(T.overlayDiv, 500); cM._panes.markerPane = cL(T.overlayDiv, 400); cM._panes.markerShadow = cL(T.overlayDiv, 300); cM._panes.mapPane = cL(T.overlayDiv, 200); function cL(cN, cQ) { var cP = aa("div"), cO = cP.style; cO.position = "absolute"; cO.top = cO.left = cO.width = cO.height = "0"; cO.zIndex = cQ; cN.appendChild(cP); return cP } }); function Y() { a8.lang.Class.call(this); bG.call(this); this.map = null; this._visible = true; this.infoWindow = null; this._dblclickTime = 0 } a8.lang.inherits(Y, bG, "OverlayInternal"); a8.extend(Y.prototype, { initialize : function(T) { this.map = T; a8.lang.Class.call(this, this.guid); return null }, getMap : function() { return this.map }, draw : function() { }, remove : function() { this.map = null; a8.lang.decontrol(this.guid); bG.prototype.remove.call(this) }, hide : function() { if (this._visible == false) { return } this._visible = false }, show : function() { if (this._visible == true) { return } this._visible = true }, isVisible : function() { if (!this.domElement) { return false } return !!this._visible }, getContainer : function() { return this.domElement }, setConfig : function(cL) { cL = cL || {}; for ( var T in cL) { this._config[T] = cL[T] } }, setZIndex : function(T) { this.zIndex = T }, enableMassClear : function() { this._config.enableMassClear = true }, disableMassClear : function() { this._config.enableMassClear = false }, addContextMenu : function(T) { this._menu = T }, removeContextMenu : function(T) { this._menu = null } }); function cs() { this.map = null; this._overlays = {}; this._customOverlays = [] } BMap .register(function(cL) { var T = new cs(); T.map = cL; cL._overlays = T._overlays; cL._customOverlays = T._customOverlays; cL.addEventListener("load", function(cM) { T.draw(cM) }); cL.addEventListener("moveend", function(cM) { T.draw(cM) }); if (a8.browser.ie && a8.browser.ie < 8 || document.compatMode == "BackCompat") { cL.addEventListener("zoomend", function(cM) { setTimeout(function() { T.draw(cM) }, 20) }) } else { cL.addEventListener("zoomend", function(cM) { T.draw(cM) }) } cL.addEventListener("maptypechange", function(cM) { T.draw(cM) }); cL .addEventListener( "addoverlay", function(cQ) { var cN = cQ.target; if (cN instanceof Y) { if (!T._overlays[cN.guid]) { T._overlays[cN.guid] = cN } } else { var cP = false; for ( var cO = 0, cM = T._customOverlays.length; cO < cM; cO++) { if (T._customOverlays[cO] === cN) { cP = true; break } } if (!cP) { T._customOverlays.push(cN) } } }); cL .addEventListener( "removeoverlay", function(cP) { var cN = cP.target; if (cN instanceof Y) { delete T._overlays[cN.guid] } else { for ( var cO = 0, cM = T._customOverlays.length; cO < cM; cO++) { if (T._customOverlays[cO] === cN) { T._customOverlays.splice(cO, 1); break } } } }); cL .addEventListener( "clearoverlays", function(cP) { this.closeInfoWindow(); for ( var cO in T._overlays) { if (T._overlays[cO]._config.enableMassClear) { T._overlays[cO].remove(); delete T._overlays[cO] } } for ( var cN = 0, cM = T._customOverlays.length; cN < cM; cN++) { if (T._customOverlays[cN].enableMassClear != false) { T._customOverlays[cN].remove(); T._customOverlays[cN] = null; T._customOverlays.splice(cN, 1); cN--; cM-- } } }); cL.addEventListener("infowindowopen", function(cN) { var cM = this.infoWindow; if (cM) { a8.dom.hide(cM.popDom); a8.dom.hide(cM.shadowDom) } }); cL.addEventListener("movestart", function() { if (this.getInfoWindow()) { this.getInfoWindow()._setOverflow() } }); cL.addEventListener("moveend", function() { if (this.getInfoWindow()) { this.getInfoWindow()._resetOverflow() } }) }); cs.prototype.draw = function(cM) { for ( var cL in this._overlays) { this._overlays[cL].draw() } a8.array.each(this._customOverlays, function(cN) { cN.draw() }); if (this.map.temp.infoWin) { this.map.temp.infoWin.setPosition() } if (BMap.DrawerSelector) { var T = BMap.DrawerSelector.getDrawer(this.map); T.setPalette() } }; function cF(T) { Y.call(this); this._config = { strokeColor : "#3a6bdb", strokeWeight : 5, strokeOpacity : 0.65, strokeStyle : "solid", enableMassClear : true, getParseTolerance : null, getParseCacheIndex : null, enableEditing : false, mouseOverTolerance : 15, use3DCoords : false, clickable : true }; T = T || {}; this.setConfig(T); if (this._config.strokeWeight <= 0) { this._config.strokeWeight = 5 } if (this._config.strokeOpacity < 0 || this._config.strokeOpacity > 1) { this._config.strokeOpacity = 0.65 } if (this._config.fillOpacity < 0 || this._config.fillOpacity > 1) { this._config.fillOpacity = 0.65 } if (this._config.strokeStyle != "solid" && this._config.strokeStyle != "dashed") { this._config.strokeStyle = "solid" } if (ch(T.enableClicking)) { this._config.clickable = T.enableClicking } this.domElement = null; this._bounds = new BMap.Bounds(0, 0, 0, 0); this._parseCache = []; this.vertexMarkers = []; this._temp = {} } a8.lang.inherits(cF, Y, "Graph"); cF.getGraphPoints = function(cL) { var T = []; if (!cL) { return T } if (b3(cL)) { var cM = cL.split(";"); a8.array.each(cM, function(cO) { var cN = cO.split(","); T.push(new cd(cN[0], cN[1])) }) } if (cL.constructor == Array && cL.length > 0) { T = cL } return T }; cF.parseTolerance = [ 0.09, 0.005, 0.0001, 0.00001 ]; a8.extend(cF.prototype, { initialize : function(T) { this.map = T; return null }, draw : function() { return; if (!this.domElement) { return } if (this._drawer) { this._drawer.setPath(this.domElement, this ._getDisplayPixels(this.points)) } }, setPath : function(T) { this._parseCache.length = 0; this.points = cF.getGraphPoints(T).slice(0); this._calcBounds() }, _calcBounds : function() { if (!this.points) { return } var T = this; T._bounds = new bN(); a8.array.each(this.points, function(cL) { T._bounds.extend(cL) }) }, getPath : function() { return this.points }, setPositionAt : function(cL, T) { if (!T || !this.points[cL]) { return } this._parseCache.length = 0; this.points[cL] = new cd(T.lng, T.lat); this._calcBounds() }, setStrokeColor : function(T) { this._config.strokeColor = T }, getStrokeColor : function() { return this._config.strokeColor }, setStrokeWeight : function(T) { if (T > 0) { this._config.strokeWeight = T } }, getStrokeWeight : function() { return this._config.strokeWeight }, setStrokeOpacity : function(T) { if (!T || T > 1 || T < 0) { return } this._config.strokeOpacity = T }, getStrokeOpacity : function() { return this._config.strokeOpacity }, setFillOpacity : function(T) { if (T > 1 || T < 0) { return } this._config.fillOpacity = T }, getFillOpacity : function() { return this._config.fillOpacity }, setStrokeStyle : function(T) { if (T != "solid" && T != "dashed") { return } this._config.strokeStyle = T }, getStrokeStyle : function() { return this._config.strokeStyle }, setFillColor : function(T) { this._config.fillColor = T || "" }, getFillColor : function() { return this._config.fillColor }, getBounds : function() { return this._bounds }, remove : function() { if (this.map) { this.map.removeEventListener("onmousemove", this._graphMouseEvent) } Y.prototype.remove.call(this); this._parseCache.length = 0 }, enableEditing : function() { this._config.enableEditing = true }, disableEditing : function() { this._config.enableEditing = false } }); function n(T) { Y.call(this); this.map = null; this.domElement = null; this._config = { width : 0, height : 0, offset : new aH(0, 0), opacity : 1, background : "transparent", lineStroke : 1, lineColor : "#000", lineStyle : "solid", point : null }; this.setConfig(T); this.point = this._config.point } a8.lang.inherits(n, Y, "Division"); a8 .extend( n.prototype, { _addDom : function() { var T = this._config; var cM = this.content; var cL = [ '<div class="BMap_Division" style="position:absolute;' ]; cL.push("width:" + T.width + "px;display:block;"); cL.push("overflow:hidden;"); if (T.borderColor != "none") { cL .push("border:" + T.lineStroke + "px " + T.lineStyle + " " + T.lineColor + ";") } cL.push("opacity:" + T.opacity + "; filter:(opacity=" + T.opacity * 100 + ")"); cL.push("background:" + T.background + ";"); cL.push('z-index:60;">'); cL.push(cM); cL.push("</div>"); this.domElement = at( this.map.getPanes().markerMouseTarget, cL .join("")) }, initialize : function(T) { this.map = T; this._addDom(); if (this.domElement) { a8.on(this.domElement, "mousedown", function(cL) { aP(cL) }) } return this.domElement }, draw : function() { var T = this.map .pointToOverlayPixel(this._config.point); this._config.offset = new aH( -Math.round(this._config.width / 2) - Math .round(this._config.lineStroke), -Math.round(this._config.height / 2) - Math .round(this._config.lineStroke)); this.domElement.style.left = T.x + this._config.offset.width + "px"; this.domElement.style.top = T.y + this._config.offset.height + "px" }, getPosition : function() { return this._config.point }, _getPixel : function(T) { return this.map.pointToPixel(this.getPosition()) }, setPosition : function(T) { this._config.point = T; this.draw() }, setDimension : function(T, cL) { this._config.width = Math.round(T); this._config.height = Math.round(cL); if (this.domElement) { this.domElement.style.width = this._config.width + "px"; this.domElement.style.height = this._config.height + "px"; this.draw() } } }); function M(cL, cM, cN) { if (!cL || !cM) { return } this.imageUrl = cL; this.size = cM; var T = new aH(Math.floor(cM.width / 2), Math.floor(cM.height / 2)); var cO = { anchor : T, imageOffset : new aH(0, 0) }; cN = cN || {}; a8.extend(cO, cN); this.anchor = cO.anchor; this.imageOffset = cO.imageOffset; this.infoWindowAnchor = cN.infoWindowAnchor || this.anchor; this.printImageUrl = cN.printImageUrl || "" } var bD = M.prototype; bD.setImageUrl = function(T) { if (!T) { return } this.imageUrl = T }; bD.setPrintImageUrl = function(T) { if (!T) { return } this.printImageUrl = T }; bD.setSize = function(T) { if (!T) { return } this.size = new aH(T.width, T.height) }; bD.setAnchor = function(T) { if (!T) { return } this.anchor = new aH(T.width, T.height) }; bD.setImageOffset = function(T) { if (!T) { return } this.imageOffset = new aH(T.width, T.height) }; bD.setInfoWindowAnchor = function(T) { if (!T) { return } this.infoWindowAnchor = new aH(T.width, T.height) }; bD.toString = function() { return "Icon" }; function bP(cM, cL) { a8.lang.Class.call(this); this.content = cM; this.map = null; this._config = { width : 0, height : 0, maxWidth : 600, offset : new aH(0, 0), title : "", maxContent : "", enableMaximize : false, enableAutoPan : true, enableCloseOnClick : true, margin : [ 10, 10, 40, 10 ], collisions : [ [ 10, 10 ], [ 10, 10 ], [ 10, 10 ], [ 10, 10 ] ], ifMaxScene : false, onClosing : function() { return true } }; a8.extend(this._config, cL || {}); if (this._config.width != 0) { if (this._config.width < 220) { this._config.width = 220 } if (this._config.width > 730) { this._config.width = 730 } } if (this._config.height != 0) { if (this._config.height < 60) { this._config.height = 60 } if (this._config.height > 650) { this._config.height = 650 } } if (this._config.maxWidth != 0) { if (this._config.maxWidth < 220) { this._config.maxWidth = 220 } if (this._config.maxWidth > 730) { this._config.maxWidth = 730 } } this.isWinMax = false; this.IMG_PATH = cc.imgPath; this.overlay = null; var T = this; cA.load("infowindow", function() { T._draw() }) } a8.lang.inherits(bP, a8.lang.Class, "InfoWindow"); a8.extend(bP.prototype, { setWidth : function(T) { if (!T && T != 0 || isNaN(T) || T < 0) { return } if (T != 0) { if (T < 220) { T = 220 } if (T > 730) { T = 730 } } this._config.width = T }, setHeight : function(T) { if (!T && T != 0 || isNaN(T) || T < 0) { return } if (T != 0) { if (T < 60) { T = 60 } if (T > 650) { T = 650 } } this._config.height = T }, setMaxWidth : function(T) { if (!T && T != 0 || isNaN(T) || T < 0) { return } if (T != 0) { if (T < 220) { T = 220 } if (T > 730) { T = 730 } } this._config.maxWidth = T }, setTitle : function(T) { this._config.title = T }, getTitle : function() { return this._config.title }, setContent : function(T) { this.content = T }, getContent : function() { return this.content }, setMaxContent : function(T) { this._config.maxContent = T + "" }, redraw : function() { }, enableAutoPan : function() { this._config.enableAutoPan = true }, disableAutoPan : function() { this._config.enableAutoPan = false }, enableCloseOnClick : function() { this._config.enableCloseOnClick = true }, disableCloseOnClick : function() { this._config.enableCloseOnClick = false }, enableMaximize : function() { this._config.enableMaximize = true }, disableMaximize : function() { this._config.enableMaximize = false }, show : function() { this._visible = true }, hide : function() { this._visible = false }, close : function() { this.hide() }, maximize : function() { this.isWinMax = true }, restore : function() { this.isWinMax = false }, isVisible : function() { return this.isOpen() }, isOpen : function() { return false }, getPosition : function() { if (this.overlay && this.overlay.getPosition) { return this.overlay.getPosition() } }, getOffset : function() { return this._config.offset } }); bz.prototype.openInfoWindow = function(cN, T) { if (!(cN instanceof bP) || !(T instanceof cd)) { return } var cL = this.temp; if (!cL.marker) { var cM = new M(cc.imgPath + "blank.gif", { width : 1, height : 1 }); cL.marker = new ad(T, { icon : cM, width : 1, height : 1, offset : new aH(0, 0), infoWindowOffset : new aH(0, 0), clickable : false }); cL.marker._fromMap = 1 } else { cL.marker.setPosition(T) } this.addOverlay(cL.marker); cL.marker.openInfoWindow(cN) }; bz.prototype.closeInfoWindow = function() { var T = this.temp.infoWin || this.temp._infoWin; if (T && T.overlay) { T.overlay.closeInfoWindow() } }; Y.prototype.openInfoWindow = function(T) { if (this.map) { this.map.closeInfoWindow(); T._visible = true; this.map.temp._infoWin = T; T.overlay = this; a8.lang.Class.call(T, T.guid) } }; Y.prototype.closeInfoWindow = function() { if (this.map && this.map.temp._infoWin) { this.map.temp._infoWin._visible = false; a8.lang.decontrol(this.map.temp._infoWin.guid); this.map.temp._infoWin = null } }; function ag(cM, cL) { Y.call(this); this.content = cM; this.map = null; this.domElement = null; this._config = { width : 0, offset : new aH(0, 0), styles : { backgroundColor : "#fff", border : "1px solid #f00", padding : "1px", whiteSpace : "nowrap", font : "12px " + cc.fontFamily, zIndex : "80", MozUserSelect : "none" }, position : null, enableMassClear : true, clickable : true }; cL = cL || {}; this.setConfig(cL); if (this._config.width < 0) { this._config.width = 0 } if (ch(cL.enableClicking)) { this._config.clickable = cL.enableClicking } this.point = this._config.position; var T = this; cA.load("marker", function() { T._draw() }) } a8.lang.inherits(ag, Y, "Label"); a8.extend(ag.prototype, { getPosition : function() { if (this._marker) { return this._marker.getPosition() } return this.point }, setPosition : function(T) { if (T instanceof cd && !this.getMarker()) { this.point = this._config.position = new cd(T.lng, T.lat) } }, setContent : function(T) { this.content = T }, setOpacity : function(T) { if (T >= 0 && T <= 1) { this._config.opacity = T } }, setOffset : function(T) { if (!(T instanceof aH)) { return } this._config.offset = new aH(T.width, T.height) }, getOffset : function() { return this._config.offset }, setStyle : function(T) { T = T || {}; this._config.styles = a8.extend(this._config.styles, T) }, setStyles : function(T) { return this.setStyle(T) }, setTitle : function(T) { this._config.title = T || "" }, getTitle : function() { return this._config.title }, setMarker : function(T) { this._marker = T; if (T) { this.point = this._config.position = T.getPosition() } else { this.point = this._config.position = null } }, getMarker : function() { return this._marker || null } }); window.BMAP_ANIMATION_DROP = 1; window.BMAP_ANIMATION_BOUNCE = 2; var au = new M(cc.imgPath + "marker_red_sprite.png", new aH(19, 25), { anchor : new aH(10, 25), infoWindowAnchor : new aH(10, 0) }); var ar = new M(cc.imgPath + "marker_red_sprite.png", new aH(20, 11), { anchor : new aH(6, 11), imageOffset : new aH(-19, -13) }); function ad(T, cM) { Y.call(this); cM = cM || {}; this.point = T; this.map = null; this._animation = null; this._config = { offset : new aH(0, 0), icon : au, shadow : ar, title : "", label : null, baseZIndex : 0, clickable : true, zIndexFixed : false, isTop : false, enableMassClear : true, enableDragging : false, raiseOnDrag : false, restrictDraggingArea : false, draggingCursor : cc.draggingCursor }; this.setConfig(cM); if (cM.icon && !cM.shadow) { this._config.shadow = null } if (ch(cM.enableClicking)) { this._config.clickable = cM.enableClicking } var cL = this; cA.load("marker", function() { cL._draw() }) } ad.TOP_ZINDEX = bG.getZIndex(-90) + 1000000; ad.DRAG_ZINDEX = ad.TOP_ZINDEX + 1000000; a8.lang.inherits(ad, Y, "Marker"); a8.extend(ad.prototype, { setIcon : function(T) { if (T instanceof M) { this._config.icon = T } }, getIcon : function() { return this._config.icon }, setShadow : function(T) { if (T instanceof M) { this._config.shadow = T } }, getShadow : function() { return this._config.shadow }, setLabel : function(T) { this._config.label = T || null }, getLabel : function() { return this._config.label }, enableDragging : function() { this._config.enableDragging = true }, disableDragging : function() { this._config.enableDragging = false }, getPosition : function() { return this.point }, setPosition : function(T) { if (T instanceof cd) { this.point = new cd(T.lng, T.lat) } }, setTop : function(cL, T) { this._config.isTop = !!cL; if (cL) { this._addi = T || 0 } }, setTitle : function(T) { this._config.title = T + "" }, getTitle : function() { return this._config.title }, setOffset : function(T) { if (T instanceof aH) { this._config.offset = T } }, getOffset : function() { return this._config.offset }, setAnimation : function(T) { this._animation = T } }); function cn(T, cM) { cF.call(this, cM); cM = cM || {}; this._config.fillOpacity = cM.fillOpacity ? cM.fillOpacity : 0.65; if (cM.fillColor == "") { this._config.fillColor = "" } else { this._config.fillColor = cM.fillColor ? cM.fillColor : "#fff" } this.setPath(T); var cL = this; cA.load("poly", function() { cL._draw() }) } a8.lang.inherits(cn, cF, "Polygon"); a8.extend(cn.prototype, { setPath : function(cL, T) { this._userPoints = cF.getGraphPoints(cL).slice(0); var cM = cF.getGraphPoints(cL).slice(0); if (cM.length > 1 && !cM[0].equals(cM[cM.length - 1])) { cM.push(new cd(cM[0].lng, cM[0].lat)) } cF.prototype.setPath.call(this, cM, T) }, setPositionAt : function(cL, T) { if (!this._userPoints[cL]) { return } this._userPoints[cL] = new cd(T.lng, T.lat); this.points[cL] = new cd(T.lng, T.lat); if (cL == 0 && !this.points[0] .equals(this.points[this.points.length - 1])) { this.points[this.points.length - 1] = new cd(T.lng, T.lat) } this._calcBounds() }, getPath : function() { var T = this._userPoints; if (T.length == 0) { T = this.points } return T } }); function f(T, cM) { cF.call(this, cM); this.setPath(T); var cL = this; cA.load("poly", function() { cL._draw() }) } a8.lang.inherits(f, cF, "Polyline"); function a(cL, T, cM) { this.point = cL; this.radius = Math.abs(T); cn.call(this, [], cM) } a.parseTolerance = [ 0.01, 0.0001, 0.00001, 0.000004 ]; a8.lang.inherits(a, cn, "Circle"); a8 .extend( a.prototype, { initialize : function(T) { this.map = T; this.points = this._getPerimeterPoints(this.point, this.radius); this._calcBounds(); return null }, getCenter : function() { return this.point }, setCenter : function(T, cL) { if (!T) { return } this.point = T }, getRadius : function() { return this.radius }, setRadius : function(T) { this.radius = Math.abs(T) }, _getPerimeterPoints : function(T, cS) { if (!T || !cS || !this.map) { return [] } var cL = this.map; var cP = T.lng, cN = T.lat; var cZ = []; var cU = cS / 6378800, cR = (Math.PI / 180) * cN, cX = (Math.PI / 180) * cP; for ( var cQ = 0; cQ < 360; cQ += 9) { var cO = (Math.PI / 180) * cQ, cV = Math .asin(Math.sin(cR) * Math.cos(cU) + Math.cos(cR) * Math.sin(cU) * Math.cos(cO)), cT = Math .atan2(Math.sin(cO) * Math.sin(cU) * Math.cos(cR), Math.cos(cU) - Math.sin(cR) * Math.sin(cV)), cW = ((cX - cT + Math.PI) % (2 * Math.PI)) - Math.PI, cY = new cd(cW * (180 / Math.PI), cV * (180 / Math.PI)); cZ.push(cY) } var cM = cZ[0]; cZ.push(new cd(cM.lng, cM.lat)); return cZ } }); function bR(T) { this.map = T; this.mapTypeLayers = []; this.tileLayers = []; this.bufferNumber = 300; this.realBufferNumber = 0; this.mapTiles = {}; this.bufferTiles = {}; this.numLoading = 0; this._mapTypeLayerContainer = this._createDiv(1); this._normalLayerContainer = this._createDiv(2); T.platform.appendChild(this._mapTypeLayerContainer); T.platform.appendChild(this._normalLayerContainer) } BMap.register(function(cL) { var T = new bR(cL); T.initialize() }); a8.extend(bR.prototype, { initialize : function() { var T = this, cL = T.map; cL.addEventListener("loadcode", function() { T.loadTiles() }); cL.addEventListener("addtilelayer", function(cM) { T.addTileLayer(cM) }); cL.addEventListener("removetilelayer", function(cM) { T.removeTileLayer(cM) }); cL.addEventListener("setmaptype", function(cM) { T.setMapType(cM) }); cL.addEventListener("zoomstartcode", function(cM) { T._zoom(cM) }) }, loadTiles : function() { var T = this; if (a8.browser.ie) { try { document.execCommand("BackgroundImageCache", false, true) } catch (cL) { } } if (!this.loaded) { T.initMapTypeTiles() } T.moveGridTiles(); if (!this.loaded) { this.loaded = true; cA.load("tile", function() { T._asyncLoadTiles() }) } }, initMapTypeTiles : function() { var cL = this.map.getMapType(); var cM = cL.getTileLayers(); for ( var T = 0; T < cM.length; T++) { var cN = new p(); a8.extend(cN, cM[T]); this.mapTypeLayers.push(cN); cN.initialize(this.map, this._mapTypeLayerContainer) } }, _createDiv : function(cL) { var T = aa("div"); T.style.position = "absolute"; T.style.left = T.style.top = "0"; T.style.zIndex = cL; return T }, showTile : function(cP, cO, cS) { var cV = this; cV.centerPos = cO; var cR = this.map.getMapType(); var cM = cV.getTileName(cP, cS); var cZ = cR.getTileSize(); var cN = (cP[0] * cZ) + cO[0]; var cY = 0; if (cR === BMAP_PERSPECTIVE_MAP && cV.map.getZoom() == 15) { cY = 0.5 } var cL = (cY - 1 - cP[1]) * cZ + cO[1]; var cT = [ cN, cL ]; var cU = this.mapTiles[cM]; if (cU && cU.img) { bI(cU.img, cT); if (cU.loaded) { this._checkTilesLoaded() } else { cU._addLoadCbk(function() { cV._checkTilesLoaded() }) } return } cU = this.bufferTiles[cM]; if (cU && cU.img) { cS.tilesDiv.insertBefore(cU.img, cS.tilesDiv.lastChild); this.mapTiles[cM] = cU; bI(cU.img, cT); if (cU.loaded) { this._checkTilesLoaded() } else { cU._addLoadCbk(function() { cV._checkTilesLoaded() }) } return } var cX = 256 * Math.pow(2, (cR.getMaxZoom() - cP[2])); var cW = new cd(cP[0] * cX, cP[1] * cX); var cQ = new bu(cP[0], cP[1]); var T = cS.getTilesUrl(cQ, cP[2]); cU = new bU(this, T, cT, cP, cS); cU._addLoadCbk(function() { cV._checkTilesLoaded() }); cU._load(); this.mapTiles[cM] = cU }, _checkTilesLoaded : function() { this.numLoading--; var T = this; if (this.numLoading == 0) { if (this._checkLoadedTimer) { clearTimeout(this._checkLoadedTimer); this._checkLoadedTimer = null } this._checkLoadedTimer = setTimeout(function() { if (T.numLoading == 0) { T.map.dispatchEvent(new bg("ontilesloaded")) } T._checkLoadedTimer = null }, 80) } }, getTileName : function(T, cL) { if (this.map.getMapType() === BMAP_PERSPECTIVE_MAP) { return "TILE-" + cL.guid + "-" + this.map.cityCode + "-" + T[0] + "-" + T[1] + "-" + T[2] } else { return "TILE-" + cL.guid + "-" + T[0] + "-" + T[1] + "-" + T[2] } }, hideTile : function(cL) { var T = cL.img; if (T) { J(T); if (y(T)) { T.parentNode.removeChild(T) } } delete this.mapTiles[cL.name]; if (!cL.loaded) { J(T); T = null; cL._callCbks(); cL.img = null; cL.mgr = null } }, moveGridTiles : function() { var da = this.mapTypeLayers; var cW = da.concat(this.tileLayers); var c2 = cW.length; for ( var c4 = 0; c4 < c2; c4++) { var cP = cW[c4]; if (cP.baseLayer) { this.tilesDiv = cP.tilesDiv } var dg = this.map; var dc = dg.getMapType(); var dh = dc.getProjection(); var c3 = dg.zoomLevel; var c6 = dg.mercatorCenter; this.mapCenterPoint = c6; var cU = dc.getZoomUnits(c3); var cX = dc.getZoomFactor(c3); var cV = Math.ceil(c6.lng / cX); var cQ = Math.ceil(c6.lat / cX); var c1 = dc.getTileSize(); var cO = [ cV, cQ, (c6.lng - cV * cX) / cX * c1, (c6.lat - cQ * cX) / cX * c1 ]; var db = cO[0] - Math.ceil((dg.width / 2 - cO[2]) / c1); var cN = cO[1] - Math.ceil((dg.height / 2 - cO[3]) / c1); var c7 = cO[0] + Math.ceil((dg.width / 2 + cO[2]) / c1); var cZ = 0; if (dc === BMAP_PERSPECTIVE_MAP && dg.getZoom() == 15) { cZ = 1 } var cY = cO[1] + Math.ceil((dg.height / 2 + cO[3]) / c1) + cZ; this.areaCenter = new cd(c6.lng, c6.lat); var cM = this.mapTiles; var cT = -this.areaCenter.lng / cU; var cS = this.areaCenter.lat / cU; var de = [ Math.round(cT), Math.round(cS) ]; var cL = dg.getZoom(); for ( var df in cM) { var di = cM[df]; var dd = di.info; if (dd[2] != cL || (dd[2] == cL && (db > dd[0] || c7 <= dd[0] || cN > dd[1] || cY <= dd[1]))) { this.hideTile(di) } } var cR = -dg.offsetX + dg.width / 2; var c0 = -dg.offsetY + dg.height / 2; cP.tilesDiv.style.left = Math.round(cT + cR) - de[0] + "px"; cP.tilesDiv.style.top = Math.round(cS + c0) - de[1] + "px"; var T = []; for ( var c9 = db; c9 < c7; c9++) { for ( var c8 = cN; c8 < cY; c8++) { T.push( [ c9, c8 ]) } } T.sort((function(dj) { return function(dk, dl) { return ((0.4 * Math.abs(dk[0] - dj[0]) + 0.6 * Math .abs(dk[1] - dj[1])) - (0.4 * Math.abs(dl[0] - dj[0]) + 0.6 * Math.abs(dl[1] - dj[1]))) } })( [ cO[0] - 1, cO[1] - 1 ])); this.numLoading += T.length; for ( var c9 = 0, c5 = T.length; c9 < c5; c9++) { this.showTile( [ T[c9][0], T[c9][1], cL ], de, cP) } } return }, addTileLayer : function(cN) { var cM = this; var T = cN.target; for ( var cL = 0; cL < cM.tileLayers.length; cL++) { if (cM.tileLayers[cL] == T) { return } } T.initialize(this.map, this._normalLayerContainer); cM.tileLayers.push(T) }, removeTileLayer : function(cO) { var cN = this; var cL = cO.target; for ( var cM = 0, T = cN.tileLayers.length; cM < T; cM++) { if (cL == cN.tileLayers[cM]) { cN.tileLayers.splice(cM, 1) } } cL.remove() }, setMapType : function() { var cM = this; var cN = this.mapTypeLayers; for ( var cL = 0, T = cN.length; cL < T; cL++) { cN[cL].remove() } delete this.tilesDiv; this.mapTypeLayers = []; this.bufferTiles = this.mapTiles = {}; this.initMapTypeTiles(); this.moveGridTiles() }, _zoom : function() { var T = this; if (T.zoomsDiv) { a8.dom.hide(T.zoomsDiv) } setTimeout(function() { T.moveGridTiles(); T.map.dispatchEvent(new bg("onzoomend")) }, 10) } }); function bU(cR, T, cO, cL, cN) { this.mgr = cR; this.position = cO; this._cbks = []; this.name = cR.getTileName(cL, cN); this.info = cL; this._transparentPng = cN.isTransparentPng(); var cS = aa("img"); cw(cS); cS.galleryImg = false; var cQ = cS.style; var cM = cR.map.getMapType(); cQ.position = "absolute"; cQ.border = "none"; cQ.width = cM.getTileSize() + "px"; cQ.height = cM.getTileSize() + "px"; cQ.left = cO[0] + "px"; cQ.top = cO[1] + "px"; this.img = cS; this.src = T; if (E) { this.img.style.opacity = 0 } var cP = this; this.img.onload = function(cY) { cP.loaded = true; if (!cP.mgr) { return } var cU = cP.mgr; var cT = cU.bufferTiles; if (!cT[cP.name]) { cU.realBufferNumber++; cT[cP.name] = cP } if (cP.img && !y(cP.img)) { if (cN.tilesDiv) { cN.tilesDiv.appendChild(cP.img); if (a8.browser.ie <= 6 && a8.browser.ie > 0 && cP._transparentPng) { cP.img.style.cssText += ';filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="' + cP.src + '",sizingMethod=scale);' } } } var cW = cU.realBufferNumber - cU.bufferNumber; for ( var cX in cT) { if (cW <= 0) { break } if (!cU.mapTiles[cX]) { cT[cX].mgr = null; var cV = cT[cX].img; if (cV && cV.parentNode) { cV.parentNode.removeChild(cV); J(cV) } cV = null; cT[cX].img = null; delete cT[cX]; cU.realBufferNumber--; cW-- } } if (E) { new g( { fps : 20, duration : 200, render : function(cZ) { if (cP.img && cP.img.style) { cP.img.style.opacity = cZ * 1 } }, finish : function() { if (cP.img && cP.img.style) { delete cP.img.style.opacity } } }) } cP._callCbks() }; this.img.onerror = function() { var cU = cP.img, cV = cP.img.getAttribute("isError") || 0; if (m && cV < 5) { cV++; cU.setAttribute("isError", cV); cU.src = T + "&t=" + new Date().getTime() } else { cP._callCbks(); if (!cP.mgr) { return } var cT = cP.mgr; var cW = cT.map.getMapType(); if (cW.getErrorImageUrl()) { cP.error = true; cP.img.src = cW.getErrorImageUrl(); if (cP.img && !y(cP.img)) { cN.tilesDiv.appendChild(cP.img) } } } }; cS = null } bU.prototype._addLoadCbk = function(T) { this._cbks.push(T) }; bU.prototype._load = function() { if (a8.browser.ie > 0 && a8.browser.ie <= 6 && this._transparentPng) { this.img.src = cc.imgPath + "blank.gif" } else { this.img.src = this.src } }; bU.prototype._callCbks = function() { var cL = this; for ( var T = 0; T < cL._cbks.length; T++) { cL._cbks[T]() } cL._cbks.length = 0 }; function J(cN) { if (!cN) { return } cN.onload = cN.onerror = null; var cL = cN.attributes, cM, T, cO; if (cL) { T = cL.length; for (cM = 0; cM < T; cM += 1) { cO = cL[cM].name; if (I(cN[cO])) { cN[cO] = null } } } cL = cN.children; if (cL) { T = cL.length; for (cM = 0; cM < T; cM += 1) { J(cN.children[cM]) } } } var E = (!a8.browser.ie || a8.browser.ie > 8); function p(T) { this.opts = T || {}; this.copyright = this.opts.copyright || null; this.transparentPng = this.opts.transparentPng || false; this.baseLayer = this.opts.baseLayer || false; this.zIndex = this.opts.zIndex || 0; this.guid = p._guid++ } p._guid = 0; a8.lang.inherits(p, a8.lang.Class, "TileLayer"); a8.extend(p.prototype, { initialize : function(cM, T) { if (this.baseLayer) { this.zIndex = -100 } this.map = cM; if (!this.tilesDiv) { var cN = aa("div"); var cL = cN.style; if (!a8.platform.isAndroid) { T.style.WebkitBackfaceVisibility = "hidden" } cL.position = "absolute"; cL.zIndex = this.zIndex; cL.left = Math.ceil(-cM.offsetX + cM.width / 2) + "px"; cL.top = Math.ceil(-cM.offsetY + cM.height / 2) + "px"; T.appendChild(cN); this.tilesDiv = cN } }, remove : function() { if (this.tilesDiv && this.tilesDiv.parentNode) { this.tilesDiv.innerHTML = ""; this.tilesDiv.parentNode.removeChild(this.tilesDiv) } delete this.tilesDiv }, isTransparentPng : function() { return this.transparentPng }, getTilesUrl : function(cL, cM) { var T = ""; if (this.opts.tileUrlTemplate) { T = this.opts.tileUrlTemplate.replace(/\{X\}/, cL.x); T = T.replace(/\{Y\}/, cL.y); T = T.replace(/\{Z\}/, cM) } return T }, getCopyright : function() { return this.copyright }, getMapType : function() { return this.mapType || BMAP_NORMAL_MAP } }); function aC(T) { p.call(this, T); this._opts = {}; T = T || {}; this._opts = a8.object.extend(this._opts, T); if (this._opts.predictDate) { if (this._opts.predictDate.weekday < 1 || this._opts.predictDate.weekday > 7) { this._opts.predictDate = 1 } if (this._opts.predictDate.hour < 0 || this._opts.predictDate.hour > 23) { this._opts.predictDate.hour = 0 } } this._tileUrl = "http://its.map.baidu.com:8002/traffic/" } aC.prototype = new p(); aC.prototype.initialize = function(cL, T) { p.prototype.initialize.call(this, cL, T); this._map = cL }; aC.prototype.isTransparentPng = function() { return true }; aC.prototype.getTilesUrl = function(cQ, cL) { var cR = ""; if (this._opts.predictDate) { cR = "HistoryService?day=" + (this._opts.predictDate.weekday - 1) + "&hour=" + this._opts.predictDate.hour + "&t=" + new Date().getTime() + "&" } else { cR = "TrafficTileService?time=" + new Date().getTime() + "&" } var cM = this._map, cS = cQ.x, cN = cQ.y, cP = Math.floor(cS / 200), cO = Math .floor(cN / 200), T = this._tileUrl + cR + "level=" + cL + "&x=" + cS + "&y=" + cN; return T.replace(/-(\d+)/gi, "M$1") }; function cu(T, cL, cM) { this._name = T; this._layers = cL instanceof p ? [ cL ] : cL.slice(0); this._opts = { tips : "", labelText : "", minZoom : 1, maxZoom : 19, tileSize : 256, textColor : "black", errorImageUrl : "", projection : new ba() }; if (this._layers.length == 1) { this._layers[0].baseLayer = true } a8.extend(this._opts, cM || {}) } a8.extend(cu.prototype, { getName : function() { return this._name }, getTips : function() { return this._opts.tips }, getLabelText : function() { return this._opts.labelText }, getTileLayer : function() { return this._layers[0] }, getTileLayers : function() { return this._layers }, getTileSize : function() { return this._opts.tileSize }, getMinZoom : function() { return this._opts.minZoom }, getMaxZoom : function() { return this._opts.maxZoom }, getTextColor : function() { return this._opts.textColor }, getProjection : function() { return this._opts.projection }, getErrorImageUrl : function() { return this._opts.errorImageUrl }, getZoomUnits : function(T) { return Math.pow(2, (18 - T)) }, getZoomFactor : function(T) { return this.getZoomUnits(T) * 256 } }); var b7 = [ "http://shangetu0.map.bdimg.com/it/", "http://shangetu1.map.bdimg.com/it/", "http://shangetu2.map.bdimg.com/it/", "http://shangetu3.map.bdimg.com/it/", "http://shangetu4.map.bdimg.com/it/" ]; var j = [ "http://online0.map.bdimg.com/tile/", "http://online1.map.bdimg.com/tile/", "http://online2.map.bdimg.com/tile/", "http://online3.map.bdimg.com/tile/", "http://online4.map.bdimg.com/tile/" ]; if (m) { b7 = [ x + "it/" ] } var aT = new p(); aT.getTilesUrl = function(cM, cP) { var cQ = cM.x; var cN = cM.y; // var T = "20130712"; // var cO = "pl"; // if (this.map.highResolutionEnabled()) { // cO = "ph" // } // var cL = j[Math.abs(cQ + cN) % j.length] + "?qt=tile&x=" // + (cQ + "").replace(/-/gi, "M") + "&y=" // + (cN + "").replace(/-/gi, "M") + "&z=" + cP + "&styles=" + cO // + (a8.browser.ie == 6 ? "&color_dep=32&colors=50" : "") // + "&udt=" + T; // if (m) { // cL = b7[Math.abs(cQ + cN) % b7.length] + "u=x=" + cQ + ";y=" + cN // + ";z=" + cP + ";v=017;type=web&fm=44" // } cL = "static/BMap/maptile/" + cP + "/" + cQ + "/" + cN + ".jpg"; return cL.replace(/-(\d+)/gi, "M$1") }; window.BMAP_NORMAL_MAP = new cu("\u5730\u56fe", aT, { tips : "\u663e\u793a\u666e\u901a\u5730\u56fe" }); var bs = new p(); bs.tileUrls = [ "http://d0.map.baidu.com/resource/mappic/", "http://d1.map.baidu.com/resource/mappic/", "http://d2.map.baidu.com/resource/mappic/", "http://d3.map.baidu.com/resource/mappic/" ]; bs.getTilesUrl = function(T, cM) { var cO = T.x; var cL = T.y; var cN = Math.pow(2, (20 - cM)) * 256; cL = Math.round((9998336 - cN * (cL)) / cN) - 1; url = this.tileUrls[Math.abs(cO + cL) % this.tileUrls.length] + this.map.currentCity + "/" + this.map.cityCode + "/3/lv" + (21 - cM) + "/" + cO + "," + cL + ".jpg"; return url }; window.BMAP_PERSPECTIVE_MAP = new cu("\u4e09\u7ef4", bs, { tips : "\u663e\u793a\u4e09\u7ef4\u5730\u56fe", minZoom : 15, maxZoom : 20, textColor : "white", projection : new cE() }); BMAP_PERSPECTIVE_MAP.getZoomUnits = function(T) { return Math.pow(2, (20 - T)) }; BMAP_PERSPECTIVE_MAP.getCityName = function(T) { if (!T) { return "" } var cL = cc.cityNames; for ( var cM in cL) { if (T.search(cM) > -1) { return cL[cM] } } return "" }; BMAP_PERSPECTIVE_MAP.getCityCode = function(T) { return ( { bj : 2, gz : 1, sz : 14, sh : 4 })[T] }; var bQ = new p( { baseLayer : true }); bQ.getTilesUrl = function(cL, cN) { var cO = cL.x; var cM = cL.y; var T = b7[Math.abs(cO + cM) % b7.length] + "u=x=" + cO + ";y=" + cM + ";z=" + cN + ";v=009;type=sate&fm=46"; return T.replace(/-(\d+)/gi, "M$1") }; window.BMAP_SATELLITE_MAP = new cu("\u536b\u661f", bQ, { tips : "\u663e\u793a\u536b\u661f\u5f71\u50cf", minZoom : 1, maxZoom : 19, textColor : "white" }); var o = new p( { transparentPng : true }); o.getTilesUrl = function(cM, cO) { var cP = cM.x; var cN = cM.y; var T = "20130617"; var cL = j[Math.abs(cP + cN) % j.length] + "?qt=tile&x=" + (cP + "").replace(/-/gi, "M") + "&y=" + (cN + "").replace(/-/gi, "M") + "&z=" + cO + "&styles=sl" + (a8.browser.ie == 6 ? "&color_dep=32&colors=50" : "") + "&udt=" + T; return cL.replace(/-(\d+)/gi, "M$1") }; window.BMAP_HYBRID_MAP = new cu( "\u6df7\u5408", [ bQ, o ], { tips : "\u663e\u793a\u5e26\u6709\u8857\u9053\u7684\u536b\u661f\u5f71\u50cf", labelText : "\u8def\u7f51", minZoom : 1, maxZoom : 19, textColor : "white" }); window.BMAP_POI_TYPE_NORMAL = 0; window.BMAP_POI_TYPE_BUSSTOP = 1; window.BMAP_POI_TYPE_BUSLINE = 2; window.BMAP_POI_TYPE_SUBSTOP = 3; window.BMAP_POI_TYPE_SUBLINE = 4; var H = 0; var bh = 1; var an = {}; function w(cL, T) { a8.lang.Class.call(this); this._loc = {}; this.setLocation(cL); this._opts = { renderOptions : { panel : null, map : null, autoViewport : true }, onSearchComplete : function() { }, onMarkersSet : function() { }, onInfoHtmlSet : function() { }, onResultsHtmlSet : function() { }, onGetBusListComplete : function() { }, onGetBusLineComplete : function() { }, onBusListHtmlSet : function() { }, onBusLineHtmlSet : function() { }, onPolylinesSet : function() { }, reqFrom : "" }; a8.extend(this._opts, T); if (typeof T != "undefined" && typeof T.renderOptions != "undefined" && typeof T.renderOptions.autoViewport != "undefined") { this._opts.renderOptions.autoViewport = T.renderOptions.autoViewport } else { this._opts.renderOptions.autoViewport = true } this._opts.renderOptions.panel = a8.G(this._opts.renderOptions.panel) } a8.inherits(w, a8.lang.Class); a8.extend(w.prototype, { getResults : function() { if (!this._isMultiKey) { return this._results } else { return this._arrResults } }, enableAutoViewport : function() { this._opts.renderOptions.autoViewport = true }, disableAutoViewport : function() { this._opts.renderOptions.autoViewport = false }, setLocation : function(T) { if (!T) { return } this._loc.src = T }, setSearchCompleteCallback : function(T) { this._opts.onSearchComplete = T || function() { } }, setMarkersSetCallback : function(T) { this._opts.onMarkersSet = T || function() { } }, setPolylinesSetCallback : function(T) { this._opts.onPolylinesSet = T || function() { } }, setInfoHtmlSetCallback : function(T) { this._opts.onInfoHtmlSet = T || function() { } }, setResultsHtmlSetCallback : function(T) { this._opts.onResultsHtmlSet = T || function() { } }, getStatus : function() { return this._status } }); var bb = { REQ_BASE_URL : x, request : function(cQ, cN, cL, cS, cM) { return; var cO = (Math.random() * 100000).toFixed(0); BMap._rd["_cbk" + cO] = function(cT) { cL = cL || {}; cQ && cQ(cT, cL); delete BMap._rd["_cbk" + cO] }; cS = cS || ""; var cR; if (cL && cL.useEncodeURI) { cR = O(cN, encodeURI) } else { cR = O(cN, encodeURIComponent) } var cP = this, T = cP.REQ_BASE_URL + cS + "?" + cR + "&ie=utf-8&oue=1&fromproduct=jsapi"; if (!cM) { T += "&res=api" } T += "&callback=BMap._rd._cbk" + cO; cx.request(T) } }; BMap._rd = {}; var S = {}; S.removeHtml = function(T) { return T.replace(/<\/?b>/g, "") }; S.parseGeoExtReg1 = function(T) { return T .replace( /([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0|[1-9]\d*),([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0|[1-9]\d*)(,)/g, "$1,$2;") }; S.parseGeoExtReg2 = function(cL, T) { var cM = new RegExp( "(((-?\\d+)(\\.\\d+)?),((-?\\d+)(\\.\\d+)?);)(((-?\\d+)(\\.\\d+)?),((-?\\d+)(\\.\\d+)?);){" + T + "}", "ig"); return cL.replace(cM, "$1") }; window.BMAP_STATUS_SUCCESS = 0; window.BMAP_STATUS_CITY_LIST = 1; window.BMAP_STATUS_UNKNOWN_LOCATION = 2; window.BMAP_STATUS_UNKNOWN_ROUTE = 3; window.BMAP_STATUS_INVALID_KEY = 4; window.BMAP_STATUS_INVALID_REQUEST = 5; window.BMAP_STATUS_PERMISSION_DENIED = 6; window.BMAP_STATUS_SERVICE_UNAVAILABLE = 7; window.BMAP_STATUS_TIMEOUT = 8; window.BMAP_ROUTE_TYPE_WALKING = 2; window.BMAP_ROUTE_TYPE_DRIVING = 3; var cv = "cur"; var c = "cen"; var cj = "s"; var Q = "con"; var al = "bd"; var cb = "nb"; var F = "bt"; var bM = "nav"; var bv = "walk"; var bA = "gc"; var d = "rgc"; var U = "dec"; var aQ = "bse"; var e = "nse"; var G = "bl"; var bf = "bsl"; var aG = "bda"; var ai = "sa"; var a1 = "nba"; var ci = "drag"; var b4 = "ext"; var s = 2; var a5 = 4; var bt = 7; var X = 11; var aN = 12; var bi = 14; var a2 = 15; var cy = 18; var u = 20; var R = 21; var ap = 26; var bE = 28; var z = 31; var bq = 35; var bC = 44; var ax = 45; var ae = 46; var bS = 47; var a0 = -1; var ab = 0; var cq = 1; var a6 = 2; var B = 3; var cI = "http://map.baidu.com/"; BMap.I = window.Instance = a8.lang.instance; var a4 = function(cM, cL) { w.call(this, cM, cL); cL = cL || {}; cL.renderOptions = cL.renderOptions || {}; this.setPageCapacity(cL.pageCapacity); if (typeof cL.renderOptions.selectFirstResult != "undefined" && !cL.renderOptions.selectFirstResult) { this.disableFirstResultSelection() } else { this.enableFirstResultSelection() } this._overlays = []; this._arrPois = []; this._curIndex = -1; this._queryList = []; var T = this; cA.load("local", function() { T._check() }) }; a8.inherits(a4, w, "LocalSearch"); a4.DEFAULT_PAGE_CAPACITY = 10; a4.MIN_PAGE_CAPACITY = 1; a4.MAX_PAGE_CAPACITY = 100; a4.DEFAULT_RADIUS = 2000; a4.MAX_RADIUS = 100000; a8.extend(a4.prototype, { search : function(T) { this._queryList.push( { method : "search", arguments : [ T ] }) }, searchInBounds : function(T, cL) { this._queryList.push( { method : "searchInBounds", arguments : [ T, cL ] }) }, searchNearby : function(cM, cL, T) { this._queryList.push( { method : "searchNearby", arguments : [ cM, cL, T ] }) }, clearResults : function() { delete this._json; delete this._status; delete this._results; delete this._ud; this._curIndex = -1; this._setStatus(); if (this._opts.renderOptions.panel) { this._opts.renderOptions.panel.innerHTML = "" } }, gotoPage : function() { }, enableFirstResultSelection : function() { this._opts.renderOptions.selectFirstResult = true }, disableFirstResultSelection : function() { this._opts.renderOptions.selectFirstResult = false }, setPageCapacity : function(T) { if (typeof T == "number" && !isNaN(T)) { this._opts.pageCapacity = T < 1 ? a4.DEFAULT_PAGE_CAPACITY : (T > a4.MAX_PAGE_CAPACITY ? a4.DEFAULT_PAGE_CAPACITY : T) } else { this._opts.pageCapacity = a4.DEFAULT_PAGE_CAPACITY } }, getPageCapacity : function() { return this._opts.pageCapacity }, toString : function() { return "LocalSearch" } }); var b5 = function(cL, T) { w.call(this, cL, T) }; a8.inherits(b5, w, "BaseRoute"); a8.extend(b5.prototype, { clearResults : function() { } }); window.BMAP_TRANSIT_POLICY_LEAST_TIME = 0; window.BMAP_TRANSIT_POLICY_LEAST_TRANSFER = 2; window.BMAP_TRANSIT_POLICY_LEAST_WALKING = 3; window.BMAP_TRANSIT_POLICY_AVOID_SUBWAYS = 4; window.BMAP_LINE_TYPE_BUS = 0; window.BMAP_LINE_TYPE_SUBWAY = 1; window.BMAP_LINE_TYPE_FERRY = 2; function aU(cM, cL) { b5.call(this, cM, cL); cL = cL || {}; this.setPolicy(cL.policy); this.setPageCapacity(cL.pageCapacity); this.QUERY_TYPE = F; this.RETURN_TYPE = bi; this.ROUTE_TYPE = bh; this._overlays = []; this._curIndex = -1; this._queryList = []; var T = this; cA.load("route", function() { T._asyncSearch() }) } aU.MAX_PAGE_CAPACITY = 100; aU.LINE_TYPE_MAPPING = [ 0, 1, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 1, 1 ]; a8.inherits(aU, b5, "TransitRoute"); a8.extend(aU.prototype, { setPolicy : function(T) { if (T >= BMAP_TRANSIT_POLICY_LEAST_TIME && T <= BMAP_TRANSIT_POLICY_AVOID_SUBWAYS) { this._opts.policy = T } else { this._opts.policy = BMAP_TRANSIT_POLICY_LEAST_TIME } }, _internalSearch : function(cL, T) { this._queryList.push( { method : "_internalSearch", arguments : [ cL, T ] }) }, search : function(cL, T) { this._queryList.push( { method : "search", arguments : [ cL, T ] }) }, setPageCapacity : function(T) { if (typeof T == "string") { T = parseInt(T); if (isNaN(T)) { this._opts.pageCapacity = aU.MAX_PAGE_CAPACITY; return } } if (typeof T != "number") { this._opts.pageCapacity = aU.MAX_PAGE_CAPACITY; return } if (T >= 1 && T <= aU.MAX_PAGE_CAPACITY) { this._opts.pageCapacity = Math.round(T) } else { this._opts.pageCapacity = aU.MAX_PAGE_CAPACITY } }, toString : function() { return "TransitRoute" }, _shortTitle : function(T) { return T.replace(/\(.*\)/, "") } }); window.BMAP_HIGHLIGHT_STEP = 1; window.BMAP_HIGHLIGHT_ROUTE = 2; var bl = function(T, cN) { b5.call(this, T, cN); this._overlays = []; this._curIndex = -1; this._queryList = []; var cM = this; var cL = this._opts.renderOptions; if (cL.highlightMode != BMAP_HIGHLIGHT_STEP && cL.highlightMode != BMAP_HIGHLIGHT_ROUTE) { cL.highlightMode = BMAP_HIGHLIGHT_STEP } this._enableDragging = this._opts.renderOptions.enableDragging ? true : false; cA.load("route", function() { cM._asyncSearch() }) }; bl.ROAD_TYPE = [ "", "\u73af\u5c9b", "\u65e0\u5c5e\u6027\u9053\u8def", "\u4e3b\u8def", "\u9ad8\u901f\u8fde\u63a5\u8def", "\u4ea4\u53c9\u70b9\u5185\u8def\u6bb5", "\u8fde\u63a5\u9053\u8def", "\u505c\u8f66\u573a\u5185\u90e8\u9053\u8def", "\u670d\u52a1\u533a\u5185\u90e8\u9053\u8def", "\u6865", "\u6b65\u884c\u8857", "\u8f85\u8def", "\u531d\u9053", "\u5168\u5c01\u95ed\u9053\u8def", "\u672a\u5b9a\u4e49\u4ea4\u901a\u533a\u57df", "POI\u8fde\u63a5\u8def", "\u96a7\u9053", "\u6b65\u884c\u9053", "\u516c\u4ea4\u4e13\u7528\u9053", "\u63d0\u524d\u53f3\u8f6c\u9053" ]; a8.inherits(bl, b5, "DWRoute"); a8.extend(bl.prototype, { search : function(cL, T) { this._queryList.push( { method : "search", arguments : [ cL, T ] }) } }); window.BMAP_DRIVING_POLICY_LEAST_TIME = 0; window.BMAP_DRIVING_POLICY_LEAST_DISTANCE = 1; window.BMAP_DRIVING_POLICY_AVOID_HIGHWAYS = 2; function q(T, cL) { bl.call(this, T, cL); cL = cL || {}; this.setPolicy(cL.policy); this.QUERY_TYPE = bM; this.RETURN_TYPE = u; this.ROUTE_TYPE = BMAP_ROUTE_TYPE_DRIVING } a8.inherits(q, bl, "DrivingRoute"); a8.extend(q.prototype, { setPolicy : function(T) { if (T >= BMAP_DRIVING_POLICY_LEAST_TIME && T <= BMAP_DRIVING_POLICY_AVOID_HIGHWAYS) { this._opts.policy = T } else { this._opts.policy = BMAP_DRIVING_POLICY_LEAST_TIME } } }); function cD(T, cL) { bl.call(this, T, cL); this.QUERY_TYPE = bv; this.RETURN_TYPE = z; this.ROUTE_TYPE = BMAP_ROUTE_TYPE_WALKING; this._enableDragging = false } a8.inherits(cD, bl, "WalkingRoute"); function aX(cL) { this._opts = {}; a8.extend(this._opts, cL); this._queryList = []; var T = this; cA.load("othersearch", function() { T._asyncSearch() }) } a8.inherits(aX, a8.lang.Class, "Geocoder"); a8.extend(aX.prototype, { getPoint : function(T, cM, cL) { this._queryList.push( { method : "getPoint", arguments : [ T, cM, cL ] }) }, getLocation : function(T, cM, cL) { this._queryList.push( { method : "getLocation", arguments : [ T, cM, cL ] }) }, toString : function() { return "Geocoder" } }); function ak(cL) { this._opts = {}; a8.extend(this._opts, cL); this._queryList = []; var T = this; cA.load("othersearch", function() { T._asyncSearch() }) } a8.extend(ak.prototype, { getCurrentPosition : function(cL, T) { this._queryList.push( { method : "getCurrentPosition", arguments : [ cL, T ] }) }, getStatus : function() { return this._status } }); function b9(cL) { this._opts = { renderOptions : { map : null } }; a8.extend(this._opts, cL); this._queryList = []; var T = this; cA.load("othersearch", function() { T._asyncSearch() }) } a8.inherits(b9, a8.lang.Class, "LocalCity"); a8.extend(b9.prototype, { get : function(T) { this._queryList.push( { method : "get", arguments : [ T ] }) }, toString : function() { return "LocalCity" } }); function V() { this._queryList = []; var T = this; cA.load("othersearch", function() { T._asyncSearch() }) } a8.inherits(V, a8.lang.Class, "Boundary"); a8.extend(V.prototype, { get : function(cL, T) { this._queryList.push( { method : "get", arguments : [ cL, T ] }) }, toString : function() { return "Boundary" } }); function bm(cM, cL) { w.call(this, cM, cL); this.QUERY_TYPE_BUSLIST = G; this.RETURN_TYPE_BUSLIST = a2; this.QUERY_TYPE_BUSLINE = bf; this.RETURN_TYPE_BUSLINE = cy; this._queryList = []; var T = this; cA.load("buslinesearch", function() { T._asyncSearch() }) } bm._iconOpen = cc.imgPath + "iw_plus.gif"; bm._iconClose = cc.imgPath + "iw_minus.gif"; bm._stopUrl = cc.imgPath + "stop_icon.png"; a8.inherits(bm, w); a8.extend(bm.prototype, { getBusList : function(T) { this._queryList.push( { method : "getBusList", arguments : [ T ] }) }, getBusLine : function(T) { this._queryList.push( { method : "getBusLine", arguments : [ T ] }) }, setGetBusListCompleteCallback : function(T) { this._opts.onGetBusListComplete = T || function() { } }, setGetBusLineCompleteCallback : function(T) { this._opts.onGetBusLineComplete = T || function() { } }, setBusListHtmlSetCallback : function(T) { this._opts.onBusListHtmlSet = T || function() { } }, setBusLineHtmlSetCallback : function(T) { this._opts.onBusLineHtmlSet = T || function() { } }, setPolylinesSetCallback : function(T) { this._opts.onPolylinesSet = T || function() { } } }); function by(cL) { w.call(this, cL); cL = cL || {}; this._options = { input : null, types : [], onSearchComplete : function() { } }; a8.extend(this._options, cL); this._loc.src = cL.location || "\u5168\u56fd"; this._word = ""; this._show = false; this._suggestion = null; this._inputValue = ""; this._initialize(); _addStat(5011); var T = this; cA.load("autocomplete", function() { T._asyncSearch() }) } a8.inherits(by, w, "Autocomplete"); a8.extend(by.prototype, { _initialize : function() { }, show : function() { this._show = true }, hide : function() { this._show = false }, setTypes : function(T) { this._options.types = T }, setLocation : function(T) { this._loc.src = T }, search : function(T) { this._word = T }, setInputValue : function(T) { this._inputValue = T } }); function aj(T, cL) { window.BMap[T] = cL } aj("Map", bz); aj("Hotspot", cm); aj("MapType", cu); aj("Point", cd); aj("Pixel", bu); aj("Size", aH); aj("Bounds", bN); aj("TileLayer", p); aj("Projection", bd); aj("MercatorProjection", ba); aj("PerspectiveProjection", cE); aj("Copyright", av); aj("Overlay", bG); aj("Label", ag); aj("Marker", ad); aj("Icon", M); aj("Polyline", f); aj("Polygon", cn); aj("InfoWindow", bP); aj("Circle", a); aj("Control", cp); aj("NavigationControl", L); aj("OverviewMapControl", cK); aj("CopyrightControl", am); aj("ScaleControl", bK); aj("MapTypeControl", aL); aj("TrafficLayer", aC); aj("ContextMenu", cz); aj("MenuItem", be); aj("LocalSearch", a4); aj("TransitRoute", aU); aj("DrivingRoute", q); aj("WalkingRoute", cD); aj("Autocomplete", by); aj("Geocoder", aX); aj("LocalCity", b9); aj("Geolocation", ak); aj("BusLineSearch", bm); aj("Boundary", V); window.BMap.apiLoad(); })();