;(function (config) {
var ba = navigator.userAgent.toLowerCase(),
ca = window,
fa = document,
ga = fa.documentElement
function ma(a) {
return -1 !== ba.indexOf(a)
}
var na = /([a-z0-9]*\d+[a-z0-9]*)/
function pa() {
var a = qa
if (!a) return null
var a = a.toLowerCase(),
b = null
if ((b = a.match(/angle \((.*)\)/))) (a = b[1]), (a = a.replace(/\s*direct3d.*$/, ''))
a = a.replace(/\s*\([^\)]*wddm[^\)]*\)/, '')
if (0 <= a.indexOf('intel')) {
b = ['Intel']
0 <= a.indexOf('mobile') && b.push('Mobile')
;(0 <= a.indexOf('gma') || 0 <= a.indexOf('graphics media accelerator')) && b.push('GMA')
if (0 <= a.indexOf('haswell')) b.push('Haswell')
else if (0 <= a.indexOf('ivy')) b.push('HD 4000')
else if (0 <= a.indexOf('sandy')) b.push('HD 3000')
else if (0 <= a.indexOf('ironlake')) b.push('HD')
else {
0 <= a.indexOf('hd') && b.push('HD')
var c = a.match(na)
c && c[1] && b.push(c[1].toUpperCase())
}
return (b = b.join(' '))
}
return 0 <= a.indexOf('nvidia') || 0 <= a.indexOf('quadro') || 0 <= a.indexOf('geforce') || 0 <= a.indexOf('nvs')
? ((b = ['nVidia']),
0 <= a.indexOf('geforce') && b.push('geForce'),
0 <= a.indexOf('quadro') && b.push('Quadro'),
0 <= a.indexOf('nvs') && b.push('NVS'),
a.match(/\bion\b/) && b.push('ION'),
a.match(/gtx\b/)
? b.push('GTX')
: a.match(/gts\b/)
? b.push('GTS')
: a.match(/gt\b/)
? b.push('GT')
: a.match(/gs\b/)
? b.push('GS')
: a.match(/ge\b/)
? b.push('GE')
: a.match(/fx\b/) && b.push('FX'),
(c = a.match(na)) && c[1] && b.push(c[1].toUpperCase().replace('GS', '')),
0 <= a.indexOf('titan') ? b.push('TITAN') : 0 <= a.indexOf('ti') && b.push('Ti'),
(b = b.join(' ')))
: 0 <= a.indexOf('amd') || 0 <= a.indexOf('ati') || 0 <= a.indexOf('radeon') || 0 <= a.indexOf('firegl') || 0 <= a.indexOf('firepro')
? ((b = ['AMD']),
0 <= a.indexOf('mobil') && b.push('Mobility'),
(c = a.indexOf('radeon')),
0 <= c && b.push('Radeon'),
0 <= a.indexOf('firepro') ? b.push('FirePro') : 0 <= a.indexOf('firegl') && b.push('FireGL'),
0 <= a.indexOf('hd') && b.push('HD'),
0 <= c && (a = a.substring(c)),
(c = a.match(na)) && c[1] && b.push(c[1].toUpperCase().replace('HD', '')),
(b = b.join(' ')))
: a.substring(0, 100)
}
var ra = 'microsoft basic render driver;vmware svga 3d;Intel 965GM;Intel B43;Intel G41;Intel G45;Intel G965;Intel GMA 3600;Intel Mobile 4;Intel Mobile 45;Intel Mobile 965'.split(';'),
sa = 'ActiveXObject' in ca,
va = ('devicePixelRatio' in ca && 1 < ca.devicePixelRatio) || (sa && 'matchMedia' in ca && ca.matchMedia('(min-resolution:144dpi)') && ca.matchMedia('(min-resolution:144dpi)').matches),
wa = ma('windows nt'),
xa = -1 !== ba.search(/windows nt [1-5]\./),
ya = -1 !== ba.search(/windows nt 5\.[12]/),
za = xa && !ya
ma('windows nt 10')
var Da = ma('windows phone'),
Ea = ma('macintosh'),
Fa = ma('Mb2345Browser'),
Ga = ma('ipad;') || ma('ipad '),
Ja = Ga && va,
Ka = ma('ipod touch;'),
La = ma('iphone;') || ma('iphone '),
Ma = La || Ga || Ka,
Na = Ma && -1 !== ba.search(/ os [456]_/)
Ma && ba.search(/ os [4-8]_/)
Ma && ba.search(/ os [78]_/)
Ma && ma('os 8_')
var Qa = Ma && ma('os 10_'),
Ra = Ma && ma('os 15_'),
Sa = ma('android'),
Ta = 0
Sa && (Ta = parseInt(ba.split('android ')[1]) || 0)
var Ua = Sa && 4 > Ta
;(Sa && 5 <= Ta) || ba.search(/android 4.4/)
var Va = Sa ? 'android' : Ma ? 'ios' : wa ? 'windows' : Ea ? 'mac' : 'other',
Wa = sa && !ca.XMLHttpRequest,
Xa = sa && !fa.querySelector,
Ya = sa && !fa.addEventListener,
Za = sa && ma('msie 9'),
$a = sa && ma('msie 10'),
ab = sa && ma('rv:11'),
bb = Ya || Za,
cb = ma('edge'),
db = ma('qtweb'),
eb = ma('ucbrowser'),
fb = ma('alipay') || (Sa && eb),
gb = ma('miuibrowser'),
hb = ma('micromessenger'),
ib = ma('mqqbrowser'),
jb = ma('baidubrowser'),
chrome = (ma('chrome') || ma('crios')) && !hb && !jb && !ib && !cb && !gb,
kb = chrome && ma('chromium'),
lb = chrome && !kb && (30 < parseInt(ba.split('chrome/')[1]) || 30 < parseInt(ba.split('crios/')[1])),
mb = ma('firefox'),
nb = mb && 27 < parseInt(ba.split('firefox/')[1]),
ob = (Ea || Ma) && ma('safari') && ma('version/'),
pb = Ea && ob && 7 < parseInt(ba.split('version/')[1]),
qb = Ma && ma('aliapp'),
rb = Ma && ((!ib && !eb && !hb && !chrome && !mb && !ob) || (qb && !eb)),
sb = Sa || Ma || Da || ma('mobile'),
tb = 'ontouchstart' in fa,
ub = ca.navigator && ca.navigator.msPointerEnabled && !!ca.navigator.msMaxTouchPoints,
vb = ca.navigator && !!ca.navigator.maxTouchPoints,
wb = !tb && (vb || ub),
xb = tb || wb,
yb = (function () {
if (!sb) return ca.devicePixelRatio || 1
var a = document.getElementsByTagName('meta')
if (window.parent && window.parent !== window)
try {
if (window.parent.location.origin === window.location.origin) a = window.parent.document.getElementsByTagName('meta')
else return 1
} catch (b) {
return 1
}
for (var c = a.length - 1; 0 <= c; c -= 1)
if ('viewport' === a[c].name) {
var c = a[c].content,
d
;-1 !== c.indexOf('initial-scale') && (d = parseFloat(c.split('initial-scale=')[1]))
a = -1 !== c.indexOf('minimum-scale') ? parseFloat(c.split('minimum-scale=')[1]) : 0
c = -1 !== c.indexOf('maximum-scale') ? parseFloat(c.split('maximum-scale=')[1]) : Infinity
if (d) {
if (c >= a) return d > c ? c : d < a ? a : d
} else if (c >= a) return 1 <= a ? 1 : Math.min(c, 1)
console && console.log && console.log('viewport\u53c2\u6570\u4e0d\u5408\u6cd5')
return null
}
})(),
zb = va && (!sb || (!!yb && 1 <= yb)),
Ab = sa && 'transition' in ga.style,
Bb = !!fa.createElementNS && !!fa.createElementNS('http://www.w3.org/2000/svg', 'svg').createSVGRect,
Cb = fa.createElement('canvas'),
Db = !(!Cb || !Cb.getContext),
Eb = window.URL || window.webkitURL,
Fb = !0 !== window.disableWorker && !sa && !cb && !(eb && Sa) && window.Worker && Eb && Eb.createObjectURL && window.Blob,
Gb = '',
qa = '',
Jb = 0,
Kb = window.forceWebGL ? { alpha: !0, antialias: !0, depth: !0 } : { alpha: !0, antialias: !0, depth: !0, failIfMajorPerformanceCaveat: !0, preserveDrawingBuffer: !0, stencil: !0 },
Lb = (function () {
if (!window.forceWebGL && (!Db || !Fb || (rb && qb && !eb))) return !1
for (var a = ['webgl', 'experimental-webgl', 'moz-webgl'], b = null, c = 0; c < a.length; c += 1) {
try {
b = Cb.getContext(a[c], Kb)
} catch (d) {}
if (b) {
if (b.drawingBufferWidth !== Cb.width || b.drawingBufferHeight !== Cb.height) break
if (window.forceWebGL) return (Gb = a[c]), (Jb = Infinity), !0
if (!b.getShaderPrecisionFormat || !b.getParameter || !b.getExtension) break
Jb = b.getParameter(b.MAX_RENDERBUFFER_SIZE)
var e = b.getParameter(b.MAX_VIEWPORT_DIMS)
if (!e) break
Jb = Math.min(Jb, e[0], e[1])
ob && 'mac' === Va && (Jb = Math.min(Jb, 4096))
e = Math.max(screen.width, screen.height)
zb && (e *= Math.min(2, window.devicePixelRatio || 1))
if (e > Jb) break
if (23 > b.getShaderPrecisionFormat(35632, 36338).precision || 23 > b.getShaderPrecisionFormat(35633, 36338).precision) break
qa = b.getExtension('WEBGL_debug_renderer_info') ? b.getParameter(37446) : null
if ((b = pa()) && -1 !== ra.indexOf(b)) break
Gb = a[c]
return !0
}
}
return !1
})(),
Mb = Lb && (lb || nb || pb) && ('mac' === Va || 'windows' === Va) && !sb,
Nb = !window.Uint8Array || !Db || db || Da || (sb && mb) || Za || Na || Ja || Ka || Ua || ma('gt-n710') || za,
Ob = !Nb && !Mb,
Pb = Mb ? 'vw' : Nb ? 'd' : Ob ? 'dv' : 'v',
Qb = ma('webkit'),
Rb = 'WebKitCSSMatrix' in ca && 'm11' in new window.WebKitCSSMatrix(),
Sb = 'MozPerspective' in ga.style,
Tb = 'OTransition' in ga.style,
Ub = Ab || Rb || Sb || Tb,
Vb = void 0 !== config[8] ? config[8] : !0,
Wb = void 0 !== config[9] ? config[9] : !0,
Xb = void 0 !== config[10] ? config[10] : !0,
Yb = void 0 !== config[11] ? config[11] : !0,
Zb = void 0 !== config[12] ? config[12] : null,
$b = !Bb && sb && Db,
ac = !0
try {
if ('undefined' === typeof ca.localStorage) ac = !1
else {
var bc = new Date().getTime() + ''
ca.localStorage.setItem('_test', bc)
ca.localStorage.getItem('_test') !== bc && (ac = !1)
ca.localStorage.removeItem('_test')
}
} catch (cc) {
ac = !1
}
var dc = parseInt(ba.split('chrome/')[1]),
ec = Vb && Db
config.l = {
Tra: Ga,
Ura: La,
size: La ? 100 : Sa ? 200 : 500,
nz: Ea,
$za: wa,
ED: Ma,
fFa: Qa,
zJ: Ra,
Xl: Sa,
cma: Ua,
L3: fb,
Dz: Va,
VH: jb,
ewa: ib,
AE: ob,
C$: hb,
Es: sa,
zi: Wa,
sv: Xa,
j5: Za,
i5: $a,
Ue: Ya,
l5: bb,
Xra: ab,
spa: cb,
$ra: sa && !ab,
Xta: Fa,
Gv: ac,
Ni: ec && ac && Yb && !sb && chrome,
lf: Zb,
geolocation: sb || (sa && !Ya) || cb,
oza: eb,
qL: eb && !chrome,
chrome: chrome,
j3: !0,
bR: mb,
ba: sb,
jua: sb && Qb,
G6: sb && Rb,
iua: sb && ca.opera,
Jc: va,
yL: yb,
ja: zb,
Tf: xb,
I6: ub,
FT: vb,
P7: wb,
sna: chrome && 57 <= dc,
tna: !sb && chrome && 64 <= dc,
B$: Qb,
Yra: Ab,
CL: Rb,
jqa: Sb,
bva: Tb,
RH: Ub,
En: Bb,
il: Db,
GS: Fb,
jA: Xb,
Mf: Mb,
y$: Gb,
z$: Kb,
TR: qa,
Vta: Jb,
AAa: !1,
Xp: Vb && !Nb,
T1: Vb ? Pb : 'd',
p2: Vb ? Lb : !1,
bL: ec,
qp: Vb && Lb,
rFa: Vb && (!Nb || Lb),
wq: Wb && !!ca.WebSocket && !jb,
cGa: $b,
kva: Db || $b ? 'c' : 'd',
}
var fc = config
config = void 0
var gc = {
overlay: ['style'],
'AMap.IndoorMap': ['AMap.CustomLayer', 'cvector'],
'AMap.IndoorMap3D': ['Map3D'],
'AMap.MarkerList': ['AMap.TplUtils'],
Map3D: ['vectorlayer', 'wgl', 'AMap.CustomLayer', 'rbush'],
'AMap.Heatmap': ['AMap.CustomLayer'],
'AMap.DistrictLayer': ['MVT'],
vectorForeign: ['gridmap', 'MVT'],
'AMap.GltfLoader': ['AMap.CustomLayer', 'Map3D'],
'AMap.LabelsLayer': ['rbush', 'promise'],
}
window.AMap
? ((window.AMap.version = '1630999129934'),
(window.AMap.uL = {
vM: function (a) {
a(fc)
},
}))
: (window.AMap = {
version: '1630999129934',
uL: {
vM: function (a) {
a(fc)
},
},
})
fc.Dk = '1630999129934'
fc.Ru = gc
for (
var hc = document.head || document.getElementsByTagName('head')[0],
ic =
'.vml{behavior:url(#default#VML);display:inline-block;position:absolute}.amap-custom{top:0;left:0;position:absolute}.amap-container img{max-width:none!important;max-height:none!important}.amap-container{touch-action:none;position:relative;overflow:hidden;background:#fcf9f2 url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAfQAAAH0AgMAAAC2uDcZAAAADFBMVEX////////////////1pQ5zAAAABHRSTlMAgP/AWuZC2AAAAVhJREFUeAFiYGAQYGDEQjAB2rcDC4BiGIqiU7abdKlO2QkeIClyPsDHweMKtOPHIJ1Op6/w7Y4fdqfT6VpndzqdrnV2p9PpWmd3Oj3qWndSoKp+2J1Op7vr7E6n07XO7nQ6XevsTqfTtc7udPo4/f787E6n0911dqfT6VpndzqdrnV2p9PpWmd3Ot27Ce8m6HS6u85dR6fTtU7r6HS61mkdnU7XOrvT6XTvJuxOp9PddXan0+laZ3c6na51dDpd67SOTqd7N+HdBJ1Od9e56+h0utZpHZ1O1zq70+l0rbM7nU73bsLudDrdXWd3Ol3rtI5Op2ud1tHpdK3TOjqd7t2EdxN0Ot1dZ3c6na51dqfT6VpndzqdrnV2p9Pp3k3Q6XR3nbuOTqdrndbR6XSt0zo6na51Wken072bsDudTnfX2Z1Op2ud3el0utbZnU7XOq2j0+t0uncTD1gO4zoT5doZAAAAAElFTkSuQmCC);-ms-touch-action:none}.amap-drags,.amap-layers{width:100%;height:100%;position:absolute;overflow:hidden}.amap-layers canvas{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.amap-layer img{pointer-events:none}.amap-e,.amap-maps{width:100%;height:100%}.amap-maps,.amap-e,.amap-layers,.amap-tile,.amap-tile-container{position:absolute;left:0;top:0;overflow:hidden}.amap-context{position:absolute;left:0;top:0}.amap-overlays,.amap-markers,.amap-marker{position:absolute;left:0;top:0}.amap-layers{z-index:0}.amap-overlays{z-index:110;cursor:default}.amap-markers{z-index:120}.amap-controls{z-index:150}.amap-copyright{position:absolute;display:block!important;left:77px;height:16px;bottom:0;padding-bottom:3px;font-size:11px;font-family:Arial,sans-serif;z-index:160}.amap-logo{position:absolute;bottom:1px;left:1px;z-index:160;height:20px}.amap-logo img{width:73px!important;height:20px!important;border:0;vertical-align:baseline!important}.amap-icon{position:relative;z-index:1}.amap-icon img{position:absolute;z-index:-1}.amap-marker-label{position:absolute;z-index:2;border:1px solid blue;background-color:white;white-space:nowrap;cursor:default;padding:3px;font-size:12px;line-height:14px}.amap-info{position:absolute;left:0;z-index:140;width:320px}.amap-menu{position:absolute;z-index:140;_width:100px}.amap-info-close{position:absolute;right:5px;_right:12px;+right:11px;top:5px;_top:2px;+top:2px;color:#c3c3c3;text-decoration:none;font:bold 16px/14px Tahoma,Verdana,sans-serif;width:14px;height:14px}.amap-info-outer,.amap-menu-outer{box-shadow:0 1px 2px rgba(0,0,0,0.1);background:none repeat scroll 0 0 white;border-radius:2px;padding:1px;text-align:left}.amap-menu-outer:hover{box-shadow:0 1px 2px rgba(0,0,0,0.3)}.amap-info-contentContainer:hover .amap-info-outer{box-shadow:0 1px 2px rgba(0,0,0,0.3)}.amap-info-content{position:relative;background:#fff;padding:10px 18px 10px 10px;line-height:1.4;overflow:auto}.amap-marker-content{position:relative}.amap-info{_width:320px}.amap-menu{_width:100px}.amap-info-sharp-old{overflow:hidden;position:absolute;background-image:url(http://webapi.amap.com/images/arrows.png)}.bottom-center .amap-info-sharp-old{height:12px;margin:0 auto;width:20px;background-position:center 12px;top:100%;margin-top:-9px;left:50%;margin-left:-10px}.bottom-left .amap-info-sharp-old{height:12px;width:13px;background-position:-16px -46px;top:100%;margin-top:-9px}.bottom-right .amap-info-sharp-old{height:12px;width:13px;top:-1px;background-position:-56px -46px;left:100%;margin-left:-13px;top:100%;margin-top:-9px}.middle-left .amap-info-sharp-old{height:20px;width:12px;background-position:left;top:50%;margin-top:-10px;margin-left:-11px}.center .amap-info-sharp-old{display:none}.middle-right .amap-info-sharp-old{height:20px;margin-right:0;width:12px;background-position:right;left:100%;margin-left:-9px;top:50%;margin-top:-10px}.top-center .amap-info-sharp-old{height:12px;margin:0 auto;width:20px;background-position:top;top:0;margin-top:-3px;left:50%;margin-left:-10px}.top-left .amap-info-sharp-old{height:12px;width:13px;background-position:-16px -3px;top:0;margin-top:-3px}.top-right .amap-info-sharp-old{height:12px;width:13px;background-position:-56px -3px;left:100%;margin-left:-13px;top:0;margin-top:-3px}.amap-info-sharp{position:absolute}.bottom-center .amap-info-sharp{bottom:0;left:50%;margin-left:-8px;border-left:8px solid transparent;border-right:8px solid transparent;border-top:8px solid #fff}.bottom-center .amap-info-sharp:after{position:absolute;content:"";margin-left:-8px;margin-top:-7px;border-left:8px solid transparent;border-right:8px solid transparent;border-top:8px solid rgba(0,0,0,0.3);filter:blur(2px);z-index:-1}.amap-info-contentContainer:hover.bottom-center .amap-info-sharp:after{border-top:8px solid rgba(0,0,0,0.5)}.bottom-left .amap-info-sharp{border-color:transparent #fff;border-width:0 0 10px 10px;border-style:solid}.bottom-left .amap-info-sharp:after{position:absolute;content:"";margin-left:-10px;border-color:transparent rgba(0,0,0,0.3);border-width:0 0 10px 10px;border-style:solid;filter:blur(1px);z-index:-1}.amap-info-contentContainer:hover.bottom-left .amap-info-sharp:after{border-color:transparent rgba(0,0,0,0.5)}.bottom-left .amap-info-content{border-radius:2px 2px 2px 0}.bottom-right .amap-info-sharp{right:0;border-top:10px solid #fff;border-left:10px solid transparent}.bottom-right .amap-info-sharp:after{position:absolute;margin-top:-9px;margin-left:-10px;content:"";border-top:10px solid rgba(0,0,0,0.3);border-left:10px solid transparent;filter:blur(1px);z-index:-1}.amap-info-contentContainer:hover.bottom-right .amap-info-sharp:after{border-top:10px solid rgba(0,0,0,0.5)}.bottom-right .amap-info-content{border-radius:2px 2px 0 2px}.top-center .amap-info-sharp{top:0;left:50%;margin-left:-8px;border-left:8px solid transparent;border-right:8px solid transparent;border-bottom:8px solid #fff}.top-center .amap-info-sharp:after{position:absolute;content:"";margin-top:0;margin-left:-8px;border-left:8px solid transparent;border-right:8px solid transparent;border-bottom:8px solid rgba(0,0,0,0.3);filter:blur(1px);z-index:-1}.top-left .amap-info-sharp{left:0;top:0;border-bottom:10px solid #fff;border-right:10px solid transparent}.top-left .amap-info-sharp:after{position:absolute;content:"";margin-top:0;margin-left:0;border-bottom:10px solid rgba(0,0,0,0.3);border-right:10px solid transparent;filter:blur(1px);z-index:-1}.top-right .amap-info-sharp{right:0;top:0;border-bottom:10px solid #fff;border-left:10px solid transparent}.top-right .amap-info-sharp:after{position:absolute;content:"";margin-top:0;margin-left:-10px;border-bottom:10px solid rgba(0,0,0,0.3);border-left:10px solid transparent;filter:blur(1px);z-index:-1}.middle-right .amap-info-sharp{right:0;top:50%;margin-top:-8px;border-top:8px solid transparent;border-left:8px solid #fff;border-bottom:8px solid transparent}.middle-right .amap-info-sharp:after{position:absolute;content:"";margin-top:-8px;margin-left:-8px;border-top:8px solid transparent;border-left:8px solid rgba(0,0,0,0.3);border-bottom:8px solid transparent;filter:blur(1px);z-index:-1}.amap-info-contentContainer:hover.middle-right .amap-info-sharp:after{border-left:8px solid rgba(0,0,0,0.5)}.middle-left .amap-info-sharp{left:0;top:50%;margin-top:-8px;border-top:8px solid transparent;border-right:8px solid #fff;border-bottom:8px solid transparent}.middle-left .amap-info-sharp:after{position:absolute;content:"";margin-top:-8px;margin-left:0;border-top:8px solid transparent;border-right:8px solid rgba(0,0,0,0.3);border-bottom:8px solid transparent;filter:blur(1px);z-index:-1}.amap-info-contentContainer:hover.middle-left .amap-info-sharp:after{border-right:8px solid rgba(0,0,0,0.5)}.amap-info-contentContainer.top-left,.amap-info-contentContainer.top-center,.amap-info-contentContainer.top-right{padding-top:8px}.amap-info-contentContainer.bottom-left,.amap-info-contentContainer.bottom-center,.amap-info-contentContainer.bottom-right{padding-bottom:8px}.amap-info-contentContainer.middle-right{padding-right:8px}.amap-info-contentContainer.middle-left{padding-left:8px}.amap-menu-outer{margin:0;padding:0;list-style-type:none}ul.amap-menu-outer li{cursor:pointer;height:35px;line-height:35px;word-break:break-all;padding:0 10px;font-size:12px;white-space:nowrap}ul.amap-menu-outer li a{text-decoration:none;font-size:13px;margin:0 5px;color:#000;padding:5px 5px}ul.amap-menu-outer li:hover{background-color:#f3f3ee}.amap-overlay-text-container{display:block;width:auto;word-break:keep-all;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:#fff;padding:2px 3px;border:1px solid #ccc;border-radius:3px}.amap-overlay-text-container.amap-overlay-text-empty{display:none}.amap-info-content-ie8{border:1px solid #9c9c9c}'.replace(
/url\((['"]?)(?:\.\.\/)+/g,
'url($1' + fc[2].split(',')[0] + '/'
),
jc = null,
kc = 0,
lc = hc.childNodes.length;
kc < lc;
kc++
)
if (1 === hc.childNodes[kc].nodeType) {
jc = hc.childNodes[kc]
break
}
if (ic)
if (hc) {
var mc = document.createElement('style')
mc.setAttribute('type', 'text/css')
mc.setAttribute('class', 'AMap.style')
mc.styleSheet ? (mc.styleSheet.cssText = ic) : (mc.innerHTML = ic)
jc ? hc.insertBefore(mc, jc) : hc.appendChild(mc)
} else document.write("')
var g = g || { Ca: { Je: 0, kr: [], Fj: {} } },
z = { o: {}, control: {}, B: {} }
g.ODa = (function (a) {
var b = Function
return function () {
return new b('return ' + a)()
}
})()
g.CLASS_NAME = 'AMap'
g.c = g.BuryPoint = {}
g.c.add = g.BuryPoint.add = function (a, b, c) {
a.w5 || a.C || !(a = a.CLASS_NAME) || ((a = a.replace('AMap.', '')), g.zA.lp(a, b, c))
}
var nc = { lang: 1, baseRender: 1, overlayRender: 1, viewMode: 1 }
g.c.ya = g.BuryPoint.addOptions = function (a, b) {
if (!a.dva)
if (b && (b.innerLayer || b.innerOverlay)) a.w5 = !0
else {
a.dva = !0
var c = a.CLASS_NAME
if (c) {
c = c.replace('AMap.', '')
g.zA.lp(c)
b = b || {}
for (var d in b) b.hasOwnProperty(d) && ('Map' === c && d in nc ? g.zA.lp(c, d, b[d]) : g.zA.lp(c, d))
}
}
}
g.da = function () {}
g.da.extend = g.da.extend = function (a) {
function b() {}
function c() {
var a = this.initialize || this.A
a && a.apply(this, arguments)
if (!d && this.Mi) {
a = document.createElement('style')
a.setAttribute('type', 'text/css')
this.CLASS_NAME && a.setAttribute('class', this.CLASS_NAME)
this.Mi = this.Mi.replace(/url\((['"]?)(?:\.\.\/)*/g, 'url($1' + g.r.Gb + '/')
a.styleSheet ? (a.styleSheet.cssText = this.Mi) : (a.innerHTML = this.Mi)
for (var b = document.head || document.getElementsByTagName('head')[0], c = null, e = 0, f = b.childNodes.length; e < f; e++)
if (1 === b.childNodes[e].nodeType) {
c = b.childNodes[e]
break
}
c ? b.insertBefore(a, c) : b.appendChild(a)
}
d = !0
}
var d = !1
b.prototype = this.prototype
var e = new b()
e.constructor = c
c.prototype = e
c.prototype.Ch = c.prototype['super'] = function (a) {
return a.callee.ma.apply(this, a)
}
for (var f in this) this.hasOwnProperty(f) && 'prototype' !== f && (c[f] = this[f])
a.t9 && (g.extend(c, a.t9), (a.t9 = null))
a.ka && (g.extend.apply(null, [e].concat(a.ka)), (a.ka = null))
a.w && e.w && (a.w = g.extend({}, e.w, a.w))
var h = e.constructor.wsa,
k = {}
if (void 0 !== h) for (f in h) h.hasOwnProperty(f) && (k[h[f]] = f)
for (f in a)
if (Object.prototype.hasOwnProperty.call(a, f)) {
var l = f,
m = f
h && k[f] && (m = k[f])
'function' === typeof a[l] && 'function' === typeof e[m] && (a[l].ma = e[m])
}
g.extend(e, a)
a.toString && (e.toString = a.toString)
c.bd = this.prototype
return c
}
g.da.Hb = g.da.include = function (a) {
g.extend(this.prototype, a)
}
g.extend = function (a) {
var b = Array.prototype.slice.call(arguments, 1),
c,
d,
e,
f
d = 0
for (e = b.length; d < e; d += 1)
if (((f = b[d] || {}), Object.assign)) Object.assign(a, f)
else for (c in f) Object.prototype.hasOwnProperty.call(f, c) && (a[c] = f[c])
return a
}
g.da.Xb = function (a) {
for (var b in a)
if (a.hasOwnProperty(b)) {
var c = a[b]
if ('string' === typeof c) this.prototype[b] && (this.prototype[c] = this.prototype[b])
else for (var d = 0, e = c.length; d < e; d++) this.prototype[b] && (this.prototype[c[d]] = this.prototype[b])
}
}
g.zA = {
Fj: {},
getKey: function (a, b) {
a = a || ''
return void 0 !== b && a ? a + '@' + b : a
},
lp: function (a, b, c) {
this.Fj[a] || (this.Fj[a] = {})
b = this.getKey(b, c)
void 0 == this.Fj[a][b] && (this.Fj[a][b] = 0)
},
send: function () {
var a = [],
b
for (b in this.Fj)
if (this.Fj.hasOwnProperty(b)) {
var c = this.Fj[b],
d = [],
e
for (e in c) c.hasOwnProperty(e) && 0 == c[e] && (d.push(e), (c[e] = 1))
d.length && a.push(b + '~' + d.join(','))
}
a.length &&
((a = ['type=nfl', 'k=' + g.r.key, 'm=' + (g.l.ba ? 1 : 0), 'pf=' + g.l.Dz, 'v=' + g.r.ln, 'branch=JSAPI', 'log=' + a.join('!')]),
(a = g.r.tc + '://webapi.amap.com/count?' + a.join('&')),
new g.jb.zb(a))
},
}
setInterval(function () {
g.zA.send()
}, 1e4)
g.va = {
h: function (a, b, c, d, e) {
if (this.ve(a, b, c || this)) return this
var f = (this.mf = this.mf || {})
f[a] = f[a] || []
e ? f[a].unshift({ xb: b, bf: c || this, Cj: d }) : f[a].push({ xb: b, bf: c || this, Cj: d })
return this
},
ve: function (a, b, c) {
var d = this.mf
if (b && c) {
if (d && a in d && d[a]) for (var e = 0; e < d[a].length; e += 1) if (d[a][e].xb === b && d[a][e].bf === c) return !0
return !1
}
return d && a in d && d[a] && 0 < d[a].length
},
G: function (a, b, c) {
if (!this.ve(a)) return this
var d = this.mf
if (d && d[a])
for (var e = 0; e < d[a].length; e += 1)
if (!((d[a][e].xb !== b && 'mv' !== b) || (c && d[a][e].bf !== c))) {
d[a].splice(e, 1)
d[a].length || (d[a] = null)
break
}
return this
},
cK: function (a, b) {
if (!this.ve(a)) return this
var c = this.mf
if (c && c[a])
for (var d = 0; d < c[a].length; d += 1)
if (!b || c[a][d].bf === b) {
c[a].splice(d, 1)
c[a].length || (c[a] = null)
break
}
return this
},
q: function (a, b) {
if (!this.ve(a)) return this
var c = { type: a }
void 0 !== b &&
(b instanceof Array
? ((c = b.slice(0)), (c.type = a))
: 'string' === typeof b || 'number' === typeof b || 'boolean' === typeof b
? (c.value = b)
: g.a.EJ(b)
? (c.value = b)
: (c = g.extend(c, b)))
for (var d = [].concat(this.mf[a]), e = 0; e < d.length; e += 1) d[e].xb && (d[e].xb.call(d[e].bf || this, c), d[e] && d[e].Cj && this.mf[a] && this.mf[a].splice(e, 1))
return this
},
ti: function (a) {
a ? this.mf && this.mf[a] && (this.mf[a] = null) : (this.mf = null)
return this
},
}
g.va.on || (g.va.on = g.va.h)
g.va.off || (g.va.off = g.va.G)
g.va.emit || (g.va.emit = g.va.q)
g.Ze = {
set: function (a, b, c) {
var d = this.Hl
if (d && d[a]) {
var d = d[a],
e = 'set' + this.I4(a)
if (d[e]) {
var f = !1
!0 == d.C ? (f = !0) : (d.C = !0)
d[e](b, c)
f || (d.C = !1)
c || this.BK(a, b)
} else d.set(a, b, c)
} else ((this.Ce = this.Ce || {})[a] = b), c || this.BK(a, b)
},
I4: (function () {
var a = {}
return function (b) {
a[b] || (a[b] = b.charAt(0).toUpperCase() + b.substr(1))
return a[b]
}
})(),
get: function (a, b, c) {
var d,
e = this.Hl
d = 'get' + this.I4(a)
if (e && e[a]) return (c = e[a]), c[d] ? ((a = !1), !0 == c.C ? (a = !0) : (c.C = !0), (b = c[d](b)), a || (c.C = !1), b) : c.get(a, b)
if (!c && this[d]) return (a = !1), !0 == this.C ? (a = !0) : (this.C = !0), (b = this[d](b)), a || (this.C = !1), b
if (this.Ce && this.Ce.hasOwnProperty(a)) return this.Ce[a]
},
X: function (a, b, c) {
this.Hl || (this.Hl = {})
this.Hl[a] !== b &&
(b.h(
a,
function (b) {
this.BK(a, b)
},
this
),
(this.Hl[a] = b),
c || this.BK(a))
},
af: function (a, b, c) {
for (var d = 0; d < a.length; d += 1) this.X(a[d], b, !c)
},
xl: function (a) {
this.Hl && this.Hl[a] && (this.Hl[a].G(a, 'mv', this), (this.Hl[a] = void 0))
},
yl: function () {
if (this.Hl) for (var a in this.Hl) this.Hl.hasOwnProperty(a) && this.xl(a)
},
BK: function (a, b) {
var c = a + 'Changed'
if (this[c]) this[c](b)
this.q(a, b)
},
vFa: function (a, b, c) {
var d = new (g.da.extend({ ka: [g.va, g.Ze] }))()
d.bQ = function () {
for (var b = !0, e = 0; e < a.length; e += 1) d.get(a[e]) || (b = !1)
b && (d.yl(), c())
}
for (var e = 0; e < a.length; e += 1) d.X(a[e], b)
},
jf: function (a, b) {
var c, d
for (c in a) a.hasOwnProperty(c) && ((d = a[c]), this.set(c, d, b))
},
}
g.r = {
localStorage: !0,
QH: 500,
Ae: !0,
De: { dark: '#202020', blue_night: '#090d20', test: '#033447', mapv: '#000001', techblue: '#000b11', insight: '#19212a', default: '#fcf9f2' },
dK: { normal: 'normal', dark: 'dark', light: 'light', fresh: 'fresh', test: 'blue', blue_night: 'blue', mapv: 'darkblue', insight: 'grey' },
key: 'e661b00bdf2c44cccf71ef6070ef41b8',
tc: 'http',
Rd: [115.423412, 39.442759, 117.514625, 41.060816, 116.405285, 39.904989],
Zd: 'http://restapi.amap.com',
Gb: 'http://webapi.amap.com',
oK: 'http://gaode.com',
Iv: 'http://m.amap.com',
OD: 'http://webrd0{1,2,3,4}.is.autonavi.com/appmaptile?lang=[lang]&size=1&scale=1&style=8&x=[x]&y=[y]&z=[z]',
SJ: 'http://wprd0{1,2,3,4}.is.autonavi.com/appmaptile?lang=zh_cn&size=1&style=7&x=[x]&y=[y]&z=[z]&scl=1<ype=3',
xU: 'http://webst0{1,2,3,4}.is.autonavi.com/appmaptile?style=6&x=[x]&y=[y]&z=[z]',
OK: 'http://webst0{1,2,3,4}.is.autonavi.com/appmaptile?x=[x]&y=[y]&z=[z]&lang=zh_cn&size=1&scale=1&style=8',
PK: 'http://wprd0{1,2,3,4}.is.autonavi.com/appmaptile?x=[x]&y=[y]&z=[z]&lang=zh_cn&size=1&scl=1&style=8<ype=11',
TE: 'http://wprd0{1,2,3,4}.is.autonavi.com/appmaptile?lang=[lang]&size=1&style=7&x=[x]&y=[y]&z=[z]',
wL: 'http://vector.amap.com',
vL: 'vdata.amap.com',
eAa: 'ws',
SI: 'http://a.amap.com/jsapi/static/image/',
Vn: 0,
}
function oc(a) {
g.da.Ru = a.Ru
g.l = a.l
g.Qva = a[7]
a.l = null
g.r.Gb = a[2].split(',')[0]
g.r.Dk = a.Dk
g.r.MJ = a.MJ
var b = (g.r.tc = g.r.Gb.split(':')[0])
'https' === b &&
((g.r.eAa = 'wss'),
(g.r.Zd = g.r.Zd.replace('http', 'https')),
(g.r.OD = g.r.OD.replace('http', 'https')),
(g.r.SJ = g.r.SJ.replace('http', 'https')),
(g.r.xU = g.r.xU.replace('http', 'https')),
(g.r.OK = g.r.OK.replace('http', 'https')),
(g.r.PK = g.r.PK.replace('http', 'https')),
(g.r.TE = g.r.TE.replace('http', 'https')),
(g.r.wL = g.r.wL.replace('http', 'https')),
(g.r.SI = g.r.SI.replace('http', 'https')))
var c = window.location.href
0 !== c.indexOf('http') && window.parent && window.parent !== window && (c = window.parent.location.href)
;-1 != c.indexOf('?') && (c = c.substr(0, c.indexOf('?')))
g.r.cqa = c
c = encodeURIComponent(c)
g.r.Up = c
g.r.Hi = g.r.Gb + '/theme/v1.3/markers/' + (g.l.Jc ? 'b' : 'n')
var d = document.createElement('style')
d.type = 'text/css'
g.r.Boa = 'url(' + b + '://webapi.amap.com/theme/v1.3/openhand.cur),default'
var e = '.amap-container{cursor:' + g.r.Boa + ';}.amap-drag{cursor:url(' + b + '://webapi.amap.com/theme/v1.3/closedhand.cur),default;}'
d.styleSheet
? ((b = function () {
try {
d.styleSheet.cssText = e
} catch (a) {}
}),
d.styleSheet.disabled ? setTimeout(b, 10) : b())
: d.appendChild(document.createTextNode(e))
;(document.head || document.getElementsByTagName('head')[0]).appendChild(d)
g.r.mode = Number(a[3])
g.r.Rd = a[1]
g.r.key = a[0]
g.r.ln = a[4]
g.r.Mc = a[5]
g.r.Nla = a[6]
g.r.RQ = a[13]
pc()
}
function pc() {
try {
if (window.localStorage)
for (var a = window.localStorage.length; 0 <= a; a -= 1) {
var b = window.localStorage.key(a)
if (b && '_AMap_' === b.slice(0, 6)) {
var c = window.localStorage.getItem(b),
c = JSON.parse(c || {})
'_AMap_anole' === b
? c.version !== g.l.lf && window.localStorage.removeItem(b)
: '_AMap_data.tileKeys' === b
? (c.vdataVer === g.l.lf && c.apiVer === g.r.Dk) || window.localStorage.removeItem(b)
: c.version !== g.r.Dk && window.localStorage.removeItem(b)
}
}
} catch (d) {}
}
window.AMap && window.AMap.uL && window.AMap.uL.vM && window.AMap.uL.vM(oc)
g.Lm = { Pu: Math.PI / 180, iwa: 180 / Math.PI, PQ: 6378137 }
;(function () {
function a(a) {
return 'undefined' === typeof a ? '' : a
}
g.$h = {
era: function (b) {
b.name = a(b.name)
var c = [b.y, b.x, b.name]
if (g.l.ba) {
var d = [g.r.Iv + '/callAPP?', 'src=jsapi_q']
d.push('&ios=' + encodeURIComponent('viewMap?sourceApplication=jsapi_q&dev=0&poiname=' + b.name + '&lat=' + b.y + '&lon=' + b.x))
d.push('&android=' + encodeURIComponent('androidamap?action=shorturl&q=' + c.join(',') + '&sourceApplication=jsapi_q'))
d.push('&wp=' + encodeURIComponent('viewMap?sourceApplication=jsapi_q&dev=0&poiname=' + b.name + '&lat=' + b.y + '&lon=' + b.x))
d.push('&mo=' + encodeURIComponent(g.r.Iv + '?q=' + c.join(',') + '&callapp=0&sourceApplication=jsapi_q'))
return d.join('')
}
return g.r.oK + '?q=' + c.join(',') + '&src=jsapi_q'
},
u4: function (b) {
b.name = a(b.name)
b.address = a(b.address)
b.x = a(b.x)
b.y = a(b.y)
var c = [b.id, b.y, b.x, b.name, b.address]
if (g.l.ba) {
var d = [g.r.Iv + '/callAPP?', 'src=jsapi_p']
d.push('&ios=' + encodeURIComponent('multiPointShow?sourceApplication=jsapi_p&dev=0&q=' + [b.y, b.x, b.name, b.address, b.id].join() + '&title=' + b.name))
d.push('&android=' + encodeURIComponent('androidamap?action=shorturl&p=' + c.join(',') + '&sourceApplication=jsapi_p'))
d.push('&wp=' + encodeURIComponent('multiPointShow?sourceApplication=jsapi_p&dev=0&q=' + [b.y, b.x, b.name, b.address, b.id].join() + '&title=' + b.name))
return d.join('')
}
return g.r.oK + '?p=' + c.join(',') + '&src=jsapi_p'
},
s4: function (b) {
if (g.l.ba) {
var c = [g.r.Iv + '/callAPP?', 'src=jsapi_detail']
c.push('&ios=' + encodeURIComponent('viewPOIDetail?sourceApplication=jsapi_detail&poiid=' + b.id))
b.name = a(b.name)
b.x = a(b.x)
b.y = a(b.y)
c.push(
'&android=' +
encodeURIComponent(
'androidamap?action=openFeature&featureName=PoiDetail&poiid=' + b.id + '&poiname=' + b.name + '&x=' + b.x + '&y=' + b.y + '&sourceApplication=jsapi_detail'
)
)
c.push('&wp=' + encodeURIComponent('viewPOIDetail?sourceApplication=jsapi_detail&poiid=' + b.id))
c.push('&mo=' + encodeURIComponent(g.r.Iv + '/detail/index/poiid=' + b.id + '&sourceApplication=jsapi_detail'))
return c.join('')
}
return g.r.oK + '/detail/' + b.id + '?src=jsapi_detail'
},
KR: function (b) {
b.sname = a(b.sname)
'' === b.sname && (b.sname = '\u8d77\u70b9')
b.dname = a(b.dname)
'' === b.dname && (b.dname = '\u7ec8\u70b9')
b.mcount = a(b.mcount)
b.my = a(b.my)
b.mx = a(b.mx)
b.mname = a(b.mname)
var c = [b.sy, b.sx, b.sname, b.dy, b.dx, b.dname, b.m, b.t, b.mcount, b.my, b.mx, b.mname]
if (g.l.ba) {
var d = [g.r.Iv + '/callAPP?', 'src=jsapi_r_' + b.t]
d.push(
'&ios=' +
encodeURIComponent(
'path?sourceApplication=jsapi_r_' +
b.t +
'&dev=0&slat=' +
b.sy +
'&slon=' +
b.sx +
'&sname=' +
b.sname +
'&dlat=' +
b.dy +
'&dlon=' +
b.dx +
'&dname=' +
b.dname +
'&m=' +
b.m +
'&t=' +
b.t +
'&vian=0&vialons=&vialats=&vianames='
)
)
var e = b.t
0 === b.t ? (e = 2) : 2 === b.t && (e = 4)
d.push(
'&android=' +
encodeURIComponent(
'androidamap://route?sourceApplication=jsapi_r_' +
b.t +
'&slat=' +
b.sy +
'&slon=' +
b.sx +
'&sname=' +
b.sname +
'&dlat=' +
b.dy +
'&dlon=' +
b.dx +
'&dname=' +
b.dname +
'&dev=0&' +
b.m +
'&t=' +
e
)
)
d.push(
'&wp=' +
encodeURIComponent(
'path?sourceApplication=jsapi_r_' +
b.t +
'&dev=0&slat=' +
b.sy +
'&slon=' +
b.sx +
'&sname=' +
b.sname +
'&dlat=' +
b.dy +
'&dlon=' +
b.dx +
'&dname=' +
b.dname +
'&m=' +
b.m +
'&t=' +
b.t +
'&vian=0&vialons=&vialats=&vianames='
)
)
d.push('&mo=' + encodeURIComponent(g.r.Iv + '/?r=' + c.join(',') + '&callapp=0&sourceApplication=jsapi_r_' + b.t))
return d.join('')
}
return g.r.oK + '?r=' + c.join(',') + 'src=jsapi_r_' + b.t
},
mt: function (a) {
g.l.ba ? (window.location.href = a) : window.open(a)
},
}
})()
'function' !== typeof Object.keys &&
(Object.keys = function (a) {
var b = [],
c
for (c in a) a.hasOwnProperty(c) && b.push(c)
return b
})
g.a = {
CLASS_NAME: 'AMap.Util',
cL: [],
Fa: 268435456,
bp: [215440491, 106744817],
Bw: (function () {
var a = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'.split('')
return function (b, c) {
var d = [],
e
c = c || a.length
if (b) for (e = 0; e < b; e++) d[e] = a[0 | (Math.random() * c)]
else {
var f
d[8] = d[13] = d[18] = d[23] = '-'
d[14] = '4'
for (e = 0; 36 > e; e++) d[e] || ((f = 0 | (16 * Math.random())), (d[e] = a[19 === e ? (f & 3) | 8 : f]))
}
return d.join('')
}
})(),
iR: {
start: function (a) {
a.startTime = new Date()
a.kt = []
var b = new Date().getTime()
a.id = requestAnimationFrame(function d() {
var e = new Date().getTime()
a.kt.push(e - b)
b = e
a.id = requestAnimationFrame(d)
})
},
cancel: function (a) {
a.id && cancelAnimationFrame(a.id)
},
stop: function (a) {
a.goa = new Date() - a.startTime
this.cancel(a)
a.iR = Math.round(1e3 / (a.goa / (a.kt.length + 1)))
},
},
F4: function (a, b, c) {
var d = 4 < arguments.length && void 0 !== arguments[4] ? arguments[4] : !1
if (a === b) return b
switch (3 < arguments.length && void 0 !== arguments[3] ? arguments[3] : 'linear') {
case 'ease':
c = g.Kw.EI(0.25, 0.1, 0.25, 1)(c)
break
case 'ease-in':
c = g.Kw.EI(0.42, 0, 1, 1)(c)
break
case 'ease-out':
c = g.Kw.EI(0, 0, 0.58, 1)(c)
break
case 'ease-in-out':
c = g.Kw.EI(0.42, 0, 0.58, 1)(c)
}
var e = a + (b - a) * c
d && (e >>= 0)
return e
},
createObjectURL: function (a) {
var b = 1 < arguments.length && void 0 !== arguments[1] ? arguments[1] : 'text/javascript; charset=utf-8',
c = null
try {
c = (window.URL || window.webkitURL).createObjectURL(new Blob([a], { type: b }))
} catch (d) {
c = null
}
return c
},
revokeObjectURL: function (a) {
;(window.URL || window.webkitURL).revokeObjectURL(a)
},
LCa: function (a) {
for (var b = {}, c = 0, d = a.length; c < d; c++) b[a[c]] = c
return b
},
mD: function (a) {
var b = {}
if (g.a.jk(a, 'object')) for (var c in a) a.hasOwnProperty(c) && (b[a[c]] = c)
return b
},
Of: function (a, b) {
for (var c = 0, d = b.length; c < d; c += 1) a.push(b[c])
},
create:
'function' === typeof Object.create
? Object.create
: function (a, b) {
function c() {}
c.prototype = a
var d = new c(),
e
for (e in b) b.hasOwnProperty(e) && (d[e] = b[e])
return d
},
cb: function (a) {
if ('object' === typeof a && null !== a) {
if (a.V6 || this.jk(a, 'Float32Array') || this.jk(a, 'Uint16Array')) return a
var b = this.isArray(a) ? [] : {},
c
for (c in a) a.hasOwnProperty(c) && (b[c] = g.a.cb(a[c]))
return b
}
return a
},
J5: function (a) {
return (a | 0) === a
},
Exa:
'function' === typeof Object.setPrototypeOf
? Object.setPrototypeOf
: function (a, b) {
for (var c in b) a[c] = b[c]
},
Ph: function (a) {
return 'function' === typeof a
},
gma: function (a) {
var b = 1 < arguments.length && void 0 !== arguments[1] ? arguments[1] : 'webgl'
if (!a) return a
for (var c = [], d = 0, e = a.length; d < e; d += 2) {
var f = parseInt(a.substr(d, 2), 16)
if ('webgl' === b || ('rgba' === b && 0 === d)) f = this.wb(f / 255, 3)
c.push(f)
}
c.push(c.shift())
return c
},
Rs: function () {},
keys:
'function' === typeof Object.keys
? Object.keys
: function (a) {
var b = [],
c
for (c in a) a.hasOwnProperty(c) && b.push(c)
return b
},
map: function (a, b) {
var c = 2 < arguments.length && void 0 !== arguments[2] ? arguments[2] : null,
d = []
if (a && a.length)
g.a.Tb(a, function () {
for (var e = arguments.length, f = Array(e), h = 0; h < e; h++) f[h] = arguments[h]
d[f[1]] = b.apply(c || a, f)
})
else return a
return d
},
forEach: function (a, b) {
if (a && a.length) {
var c = a.length
if (0 < c && (b(a[0], 0), 1 < c)) {
b(a[1], 1)
for (var d = 2; d < c; d++) b(a[d], d)
}
}
},
Tb: function (a, b) {
var c = 2 < arguments.length && void 0 !== arguments[2] ? arguments[2] : null
if (a && a.length) for (var d = 0, e = a.length; d < e && !1 !== b.call(c, a[d], d, a); d++);
},
find: function (a, b) {
for (var c = 2 < arguments.length && void 0 !== arguments[2] ? arguments[2] : null, d = 0, e = a.length; d < e; d++)
if ('function' === typeof b) {
if (b.call(c, a[d], d, a)) return a[d]
} else if (a[d] === b) return a[d]
return null
},
EJ: function (a) {
return 'object' === typeof HTMLElement ? a instanceof HTMLElement : a && 'object' === typeof a && 1 === a.nodeType && 'string' === typeof a.nodeName
},
xw: function (a, b) {
var c = 'ASDFGHJKLQWERTYUIO!sdfghjkleiu3~yr5-P&mq9`%zCN*b=8@^xpVM',
d,
e
'v5' < (b || 'v5') ? ((d = c.length), (e = 512)) : ((d = 27), (c = c.substr(0, 27)), (e = 333))
var f, h, k, l, m
h = []
k = NaN
l = 0
for (m = a.length; l < m; l++) (f = a[l]), (f = c.indexOf(f)), isNaN(k) ? (k = f * d) : (h.push(k + f - e), (k = NaN))
return h
},
nxa: function (a, b) {
for (var c = 1, c = 512 < b.length ? Math.round(Math.pow(b.length, 0.5)) : b.length, d = Math.ceil(b.length / c), e = 0; e < d; e += 1) {
var f = c * e,
h = f + c
h > b.length && (h = b.length)
for (; f < h; f += 1) a(b[f])
}
},
jDa: function (a) {
if (/^rgba\(/.test(a)) return this.Xv(a)
var b = (a = this.lI(a))
'#' === a[0] &&
((a = a.substring(1)),
3 === a.length &&
(a = a.replace(/./g, function (a) {
return a + a
})),
(b = this.Rr(8 === a.length ? a : 'ff' + a)))
return this.Xv(b)
},
lI: function () {
var a = 0 < arguments.length && void 0 !== arguments[0] ? arguments[0] : '',
a = a.toLowerCase(),
b = {
aliceblue: '#f0f8ff',
antiquewhite: '#faebd7',
aqua: '#00ffff',
aquamarine: '#7fffd4',
azure: '#f0ffff',
beige: '#f5f5dc',
bisque: '#ffe4c4',
black: '#000000',
blanchedalmond: '#ffebcd',
blue: '#0000ff',
blueviolet: '#8a2be2',
brown: '#a52a2a',
burlywood: '#deb887',
cadetblue: '#5f9ea0',
chartreuse: '#7fff00',
chocolate: '#d2691e',
coral: '#ff7f50',
cornflowerblue: '#6495ed',
cornsilk: '#fff8dc',
crimson: '#dc143c',
cyan: '#00ffff',
darkblue: '#00008b',
darkcyan: '#008b8b',
darkgoldenrod: '#b8860b',
darkgray: '#a9a9a9',
darkgreen: '#006400',
darkkhaki: '#bdb76b',
darkmagenta: '#8b008b',
darkolivegreen: '#556b2f',
darkorange: '#ff8c00',
darkorchid: '#9932cc',
darkred: '#8b0000',
darksalmon: '#e9967a',
darkseagreen: '#8fbc8f',
darkslateblue: '#483d8b',
darkslategray: '#2f4f4f',
darkturquoise: '#00ced1',
darkviolet: '#9400d3',
deeppink: '#ff1493',
deepskyblue: '#00bfff',
dimgray: '#696969',
dodgerblue: '#1e90ff',
firebrick: '#b22222',
floralwhite: '#fffaf0',
forestgreen: '#228b22',
fuchsia: '#ff00ff',
gainsboro: '#dcdcdc',
ghostwhite: '#f8f8ff',
gold: '#ffd700',
goldenrod: '#daa520',
gray: '#808080',
green: '#008000',
greenyellow: '#adff2f',
honeydew: '#f0fff0',
hotpink: '#ff69b4',
indianred: '#cd5c5c',
indigo: '#4b0082',
ivory: '#fffff0',
khaki: '#f0e68c',
lavender: '#e6e6fa',
lavenderblush: '#fff0f5',
lawngreen: '#7cfc00',
lemonchiffon: '#fffacd',
lightblue: '#add8e6',
lightcoral: '#f08080',
lightcyan: '#e0ffff',
lightgoldenrodyellow: '#fafad2',
lightgrey: '#d3d3d3',
lightgreen: '#90ee90',
lightpink: '#ffb6c1',
lightsalmon: '#ffa07a',
lightseagreen: '#20b2aa',
lightskyblue: '#87cefa',
lightslategray: '#778899',
lightsteelblue: '#b0c4de',
lightyellow: '#ffffe0',
lime: '#00ff00',
limegreen: '#32cd32',
linen: '#faf0e6',
magenta: '#ff00ff',
maroon: '#800000',
mediumaquamarine: '#66cdaa',
mediumblue: '#0000cd',
mediumorchid: '#ba55d3',
mediumpurple: '#9370d8',
mediumseagreen: '#3cb371',
mediumslateblue: '#7b68ee',
mediumspringgreen: '#00fa9a',
mediumturquoise: '#48d1cc',
mediumvioletred: '#c71585',
midnightblue: '#191970',
mintcream: '#f5fffa',
mistyrose: '#ffe4e1',
moccasin: '#ffe4b5',
navajowhite: '#ffdead',
navy: '#000080',
oldlace: '#fdf5e6',
olive: '#808000',
olivedrab: '#6b8e23',
orange: '#ffa500',
orangered: '#ff4500',
orchid: '#da70d6',
palegoldenrod: '#eee8aa',
palegreen: '#98fb98',
paleturquoise: '#afeeee',
palevioletred: '#d87093',
papayawhip: '#ffefd5',
peachpuff: '#ffdab9',
peru: '#cd853f',
pink: '#ffc0cb',
plum: '#dda0dd',
powderblue: '#b0e0e6',
purple: '#800080',
rebeccapurple: '#663399',
red: '#ff0000',
rosybrown: '#bc8f8f',
royalblue: '#4169e1',
saddlebrown: '#8b4513',
salmon: '#fa8072',
sandybrown: '#f4a460',
seagreen: '#2e8b57',
seashell: '#fff5ee',
sienna: '#a0522d',
silver: '#c0c0c0',
skyblue: '#87ceeb',
slateblue: '#6a5acd',
slategray: '#708090',
snow: '#fffafa',
springgreen: '#00ff7f',
steelblue: '#4682b4',
tan: '#d2b48c',
teal: '#008080',
thistle: '#d8bfd8',
tomato: '#ff6347',
turquoise: '#40e0d0',
violet: '#ee82ee',
wheat: '#f5deb3',
white: '#ffffff',
whitesmoke: '#f5f5f5',
yellow: '#ffff00',
yellowgreen: '#9acd32',
}
return 'string' === typeof a ? (b[a.toLowerCase()] ? b[a.toLowerCase()] : a) : a
},
FI: function (a, b, c) {
var d, e
d = Math.floor(c / 2)
e = c - d
d = ((1 << d) - 1) << e
e = (1 << e) - 1
return [c, (a & d) | (b & e), (b & d) | (a & e)]
},
GI: function (a) {
return a ? encodeURIComponent(a) : ''
},
Zc: function (a, b, c, d) {
c = a[b].i[c]
if ('undefined' === typeof c) return null
a = a[b].s
if ('number' === typeof c) return a[c]
for (; 'undefined' === typeof c[d.toString()] && !((d -= 1), 3 > d); );
d = c[d.toString()]
return 'number' === typeof d ? a[d] : null
},
Xv: function (a) {
a = a.split(',')
a[0] = parseFloat(a[0].split('rgba(')[1]) / 255
a[1] = parseFloat(a[1]) / 255
a[2] = parseFloat(a[2]) / 255
a[3] = parseFloat(a[3])
return a
},
axa: function (a) {
a = a.split(',')
a[0] = parseFloat(a[0].split('rgb(')[1]) / 255
a[1] = parseFloat(a[1]) / 255
a[2] = parseFloat(a[2]) / 255
return a
},
sU: function (a) {
return 'rgba(' + 255 * a[0] + ',' + 255 * a[1] + ',' + 255 * a[2] + ',' + a[3] + ')'
},
Ona: function (a) {
return this.sU(this.Zl(a))
},
Zl: function (a) {
if (a instanceof Array) return 3 == a.length && a.push(1), a
a = this.lI(a)
if (0 == a.indexOf('#')) {
if (4 === a.length)
return (
(a = a.substr(1).replace(/./g, function (a) {
return a + a
})),
this.op(a)
)
if (7 == a.length) return this.op(a.substr(1))
if (9 == a.length) return (a = a.substr(1)), this.Xk(a.substr(6) + a.substr(0, 6))
} else {
if (0 == a.indexOf('rgb(')) return (a = this.axa(a)), a.push(1), a
if (0 == a.indexOf('rgba(')) return this.Xv(a)
}
},
B8: function (a) {
return g.a.Rr('ff' + a)
},
Rr: function (a) {
for (var b = [], c = 0, d = a.length; c < d; c += 2) b.push(parseInt(a.substr(c, 2), 16))
b.push((b.shift() / 255).toFixed(2))
return 'rgba(' + b.join(',') + ')'
},
op: function (a) {
return g.a.Xk('ff' + a)
},
Xk: function (a) {
for (var b = [], c = 0, d = a.length; c < d; c += 2) b.push(parseInt(a.substr(c, 2), 16) / 255)
b.push(b.shift())
return b
},
uh: function (a) {
for (var b in a) if (a.hasOwnProperty(b)) return !1
return !0
},
Fo: function (a, b) {
0 <= b && a.splice(b, 1)
return a
},
aya: function (a, b) {
return a.startsWith ? a.startsWith(b) : a.substr(0, b.length) === b
},
Ay: function (a, b) {
var c = g.a.indexOf(a, b)
return g.a.Fo(a, c)
},
filter: function (a, b, c) {
var d = []
g.a.Tb(a, function (a, f) {
b.call(c, a, f) && d.push(a)
})
return d
},
indexOf: function (a, b) {
if (!a || !a.length) return -1
if (a.indexOf) return a.indexOf(b)
for (var c = 0; c < a.length; c += 1) if (a[c] === b) return c
return -1
},
cD: function (a, b) {
return a.endsWith ? a.endsWith(b) : a.length < b.length ? !1 : a.substr(a.length - b.length) == b ? !0 : !1
},
bind: (function () {
var a = !1
Function.prototype.bind && (a = !0)
return function (b, c) {
var d = 2 < arguments.length ? Array.prototype.slice.call(arguments, 2) : null
return a
? d
? (d.unshift(c), b.bind.apply(b, d))
: b.bind(c)
: function () {
return b.apply(c, d || arguments)
}
}
})(),
ub: function (a, b) {
b = b || {}
a.w = g.extend({}, a.w, b)
return a.w
},
Fna: function (a, b, c) {
return 'function' == typeof b ? this.KP(a, !0, this.Ama(b, c, 1)) : this.KP(a, !0)
},
KP: function (a, b, c, d, e, f, h) {
var k
c && (k = e ? c(a, d, e) : c(a))
if (void 0 !== k) return k
if (!this.O5(a)) return a
if ((d = this.isArray(a))) {
if (((k = this.nsa(a)), !b)) return this.ima(a, k)
} else {
var l = Object.prototype.toString.call(a),
m = '[object Function]' == l
if ('[object Object]' == l || '[object Arguments]' == l || (m && !e)) {
if (((k = this.osa(m ? {} : a)), !b)) return this.rma(k, a)
} else return e ? a : {}
}
f || (f = [])
h || (h = [])
for (e = f.length; e--; ) if (f[e] == a) return h[e]
f.push(a)
h.push(k)
;(d ? this.jma : this.wma)(a, function (d, e) {
k[e] = g.a.KP(d, b, c, e, a, f, h)
})
return k
},
rma: function (a, b) {
return null == b ? a : this.uma(b, Object.keys(b), a)
},
O5: function (a) {
var b = typeof a
return !!a && ('object' == b || 'function' == b)
},
oFa: function (a) {
return !!a && 'object' == typeof a
},
mFa: function (a) {
return 'number' == typeof a && -1 < a && 0 == a % 1 && 9007199254740991 >= a
},
nsa: function (a) {
var b = a.length,
c = new a.constructor(b)
b && 'string' == typeof a[0] && Object.hasOwnProperty.call(a, 'index') && ((c.index = a.index), (c.input = a.input))
return c
},
ima: function (a, b) {
var c = -1,
d = a.length
for (b || (b = Array(d)); ++c < d; ) b[c] = a[c]
return b
},
osa: function (a) {
a = a.constructor
;('function' == typeof a && a instanceof a) || (a = Object)
return new a()
},
Ama: function (a, b, c) {
if ('function' != typeof a) return this.rv
if (void 0 === b) return a
switch (c) {
case 1:
return function (c) {
return a.call(b, c)
}
case 3:
return function (c, e, f) {
return a.call(b, c, e, f)
}
case 4:
return function (c, e, f, h) {
return a.call(b, c, e, f, h)
}
case 5:
return function (c, e, f, h, k) {
return a.call(b, c, e, f, h, k)
}
}
return function () {
return a.apply(b, arguments)
}
},
jma: function (a, b) {
for (var c = -1, d = a.length; ++c < d && !1 !== b(a[c], c, a); );
return a
},
rv: function (a) {
return a
},
hoa: function (a) {
return function (b, c, d) {
var e = g.a.Bya(b)
d = d(b)
for (var f = d.length, h = a ? f : -1; a ? h-- : ++h < f; ) {
var k = d[h]
if (!1 === c(e[k], k, e)) break
}
return b
}
},
wma: function (a, b) {
return g.a.hoa()(a, b, Object.keys)
},
Bya: function (a) {
return g.a.O5(a) ? a : Object(a)
},
uma: function (a, b, c) {
c || (c = {})
for (var d = -1, e = b.length; ++d < e; ) {
var f = b[d]
c[f] = a[f]
}
return c
},
x3: function () {
return !1
},
join: function (a, b) {
if (a.join) return a.join(b)
var c = [],
d
for (d in a) a.hasOwnProperty(d) && c.push(d + '=' + (a[d] || ''))
return c.join(b)
},
f4: function (a, b) {
return (a || '') + Math.round(Math.random() * Math.pow(10, b || 6))
},
yb: (function () {
var a = 0
return function (b) {
b._amap_id || ((a += 1), (b._amap_id = a))
return b._amap_id
}
})(),
wpa: 'data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=',
dg: Date.now
? function () {
return Date.now()
}
: function () {
return new Date().getTime()
},
LD: function (a, b, c, d) {
var e
if (d) {
var f = 0,
h,
k = this.dg
e = function () {
h = k()
if (h - f < b) return !1
f = h
a.apply(c, arguments)
}
} else {
var l, m, n
n = function () {
l = !1
m && (e.apply(c, m), (m = !1))
}
e = function () {
l ? (m = arguments) : ((l = !0), a.apply(c, arguments), setTimeout(n, b))
}
}
return e
},
wb: function (a, b) {
if (a === a << 0) return a
var c = Math.pow(10, b || 0)
return Math.round(parseFloat(a) * c) / c
},
isArray: Array.isArray
? Array.isArray
: function (a) {
return this.jk(a, 'array')
},
jk: function (a, b) {
return Object.prototype.toString.call(a).split(' ')[1].slice(0, -1).toLowerCase() === b.toLowerCase()
},
ka:
'function' === typeof Array.prototype.ka
? function (a, b) {
return a.ka(b)
}
: function (a, b) {
return -1 !== this.indexOf(a, b)
},
x9: function (a) {
var b = 0
if (0 === a.length) return b
for (var c, d = 0, e = a.length; d < e; d += 1) (c = a.charCodeAt(d)), (b = (b << 5) - b + c), (b &= b)
return b
},
wDa: function (a, b) {
b = b ? Math.ceil(parseInt(b.substr(6)) / 24) : 1
for (var c = '', d = 0, e = a.length; d < e; d++) c += String.fromCharCode((a.charCodeAt(d) - 256 - b + 65535) % 65535)
return c
},
Eoa: function (a, b) {
var c = (a + '').slice(-2),
d = (b + '').slice(-2)
a = a.slice(0, -2)
b = b.slice(0, -2)
var e = parseInt((d + c).slice(1)),
f = Math.ceil(e / 250) % 2 ? 1 : -1,
d = parseInt('1' + d) / 3e3
a -= (parseInt('1' + c) / 3e3) * f
b -= d * (1 < e / 500 ? 1 : -1)
return new g.U(parseFloat(a).toFixed(5), parseFloat(b).toFixed(5))
},
a7: function (a) {
return 'undefined' !== typeof JSON && JSON.stringify ? g.a.x9(JSON.stringify(a)) : null
},
EHa: function (a, b) {
if (b || !a.hasOwnProperty('_amap_hash')) {
var c = g.a.a7(a)
c && (a._amap_hash = c)
}
return a._amap_hash
},
iepngFix: function (a) {
function b() {
for (var a; c.length; ) (a = c.shift()), window.DD_belatedPNG.fixPng(a)
d.ES = !0
}
this.M7 || ((this.M7 = []), (this.ES = !1))
var c = this.M7,
d = this
if ('img' === a.tagName.toLowerCase()) c.push(a)
else {
a = a.getElementsByTagName('*')
for (var e = 0; e < a.length; e += 1) c.push(a[e])
}
window.DD_belatedPNG && this.ES
? setTimeout(function () {
b()
}, 100)
: this.ES || g.tb.load('AMap.FixPng', b)
},
Ka: function (a) {
if (g.a.isArray(a))
if (g.a.isArray(a[0])) for (var b = 0; b < a.length; b += 1) a[b] = g.a.Ka(a[b])
else if (((b = typeof a[0]), 'string' === b || 'number' === b)) return new g.U(a[0], a[1])
return a
},
gAa: function (a) {
for (var b = [], c = 0, d = a.length; c < d; c += 1) b[c] = [a[c].x, a[c].y]
return b
},
Lq: function (a) {
return g.a.isArray(a) ? new g.xd(a[0], a[1]) : a
},
DP: function (a) {
var b = a.type,
c = a.UU,
d = a.error
a = new g.jb.XMLHttpRequest(a.url, { Ed: void 0 === b ? 'GET' : b, O2: a.data, pU: 'text/plain' })
a.h(
'complete',
function (a) {
a = JSON.parse(a.data)
c && c(a)
},
this
)
a.h(
'error',
function () {
var a = { errmsg: 'REQUEST_FAILED' }
d && d(a)
},
this
)
},
}
;(function () {
function a(a) {
window.clearTimeout(a)
}
function b(a) {
var b,
c,
d = ['webkit', 'moz', 'o', 'ms']
for (b = 0; b < d.length && !c; b += 1) c = window[d[b] + a]
return c
}
function c(a) {
var b = +new Date(),
c = Math.max(0, (g.l.Xl ? 50 : 20) - (b - d))
d = b + c
return window.setTimeout(a, c)
}
var d = 0,
e = window.requestAnimationFrame || b('RequestAnimationFrame') || c,
f = window.cancelAnimationFrame || b('CancelAnimationFrame') || b('CancelRequestAnimationFrame') || a
g.a.Wc = function (a, b, c, d) {
if (c) b ? g.a.bind(a, b).call(b, d) : a()
else
return e(function () {
b ? g.a.bind(a, b).call(b, d) : a()
})
}
g.a.ri = function (a) {
a && f.call(window, a)
}
})()
g.a.qU = window.requestIdleCallback
? function (a, b) {
return window.requestIdleCallback(a, b)
}
: function (a) {
var b = 1 < arguments.length && void 0 !== arguments[1] ? arguments[1] : {},
c = g.a.dg()
return setTimeout(function () {
a({
didTimeout: !1,
timeRemaining: function () {
return Math.max(0, 70 - (g.a.dg() - c))
},
})
}, b.timeout || 0)
}
g.a.$P = window.cancelIdleCallback
? function (a) {
return window.cancelIdleCallback(a)
}
: function (a) {
clearTimeout(a)
}
;(function (a) {
var b = 1,
c = {}
a.a.Cxa = function (a, b) {
if (c[a]) {
var f = c[a]
f.GE = 1
f.result = b
if (f.nn) {
for (var h = f.nn, k = 0, l = h.length; k < l; k++) h[k].call(null, b)
f.nn = null
}
}
}
a.a.Bna = function (a) {
c[a] = null
}
a.a.Qza = function (a, b) {
if (c[a]) {
var f = c[a]
0 < f.GE ? b(null, f.result) : (f.nn || (f.nn = []), f.nn.push(b))
} else b(null, a)
}
a.a.ER = function (d, e) {
var f = navigator.geolocation
if (!a.l.ED || 'https:' === document.location.protocol) return d(null, f)
var h
e && e.Rza && ((h = 'f' + b++), (c[h] = { GE: 0 }))
var k = null,
l = !1
e &&
e.timeout &&
(k = setTimeout(function () {
k = void 0
d({ code: 3, info: 'TIME_OUT', message: 'Get geolocation time out.' })
l = !0
}, e.timeout))
f.getCurrentPosition(
function () {
l || (clearTimeout(k), (k = void 0), d(null, f))
},
function (b) {
l ||
(clearTimeout(k),
(k = void 0),
2 === b.code && 0 < b.message.indexOf('permission')
? a.tb.load('AMap.GeoRemoteLoc', function () {
d(null, a.qaa, h)
})
: d(null, f))
},
{ timeout: 1e3 }
)
return h
}
})(g)
;(function (a) {
var b = a.da.extend({ ka: [a.va], A: function () {} })
a.Lj = new b()
})(g)
;(function (a) {
var b = a.da.extend({
ka: [a.va],
A: function () {
this.mga()
},
mga: function () {
a.Lj && a.Lj.h('vecTileParsed.buildings', this.Tfa, this)
},
H5: function (a) {
return a.map.FZ
},
Rqa: function (a) {
return this.H5(a) ? a.map.PN : null
},
zxa: function (a, b) {
if (b) {
var e = b.map
e && (e.PN ? e.PN.toString() : '') !== (a ? a.toString() : '') && ((e.PN = a || []), e.set('display', 0))
}
},
W8: function (a, b) {
if (b) {
var e = b.map
e && e.FZ !== a && ((e.FZ = a), e.set('display', 0))
}
},
PBa: function () {},
BZ: function (a, b) {
if (a) for (var e = 0, f = a.length; e < f; e++) a[e] && 0 > b.indexOf(a[e]) && b.push(a[e])
},
B3: function (b) {
if (!b) return null
b = b.map.la
for (var d = 0, e = b.length; d < e; d++)
if (a.o.ei && b[d] instanceof a.o.ei && b[d].ga && b[d].ga.length && (-1 !== b[d].ga.indexOf('building') || -1 !== b[d].ga.indexOf('poilabel')) && b[d].Ra) {
var f = b[d].S.get('tiles', null, !0)
if (f && f.length) return b[d]
}
return null
},
oqa: function (a) {
if ((a = this.B3(a))) {
if ((a = a.S.get('tiles', null, !0))) a = a[0]
else return null
if (!a || !a.length) return null
for (var b = [], e = 0, f = a.length; e < f; e++) {
var h = a[e]
h.pe && h.pe.tf && this.BZ(h.pe.tf, b)
}
return b
}
},
Tfa: function (a) {
if (a.rp && a.rp.pe) {
var b = a.rp.pe.tf
if (b) {
var e = []
this.BZ(b, e)
this.q('vecTileParsed.builds.found', { m2: e, rp: a.rp })
}
}
},
})
a.Mj = new b()
})(g)
;(function (a) {
function b() {
return {
checkup: function () {
var a = Array.prototype.slice.call(arguments, 0)
a.pop()(null, a)
},
}
}
function c(a) {
return {
injectCode: function (b, c) {
var d = null,
e = null
try {
d = new Function('self', b)(a)
} catch (f) {
console.error('error', e), (e = f.toString())
}
c(e, d)
},
}
}
function d(a) {
function b(c, d) {
function e(a, b, c) {
a = { $z: Date.now(), Oz: h, error: a, result: b, Hq: !1, cl: !1 }
if (c) for (var f in c) c.hasOwnProperty(f) && (a[f] = c[f])
d(a)
}
var f = c.gS,
h = c.Oz,
l = c.lQ,
m = c.BC,
n = c.hma || [],
p = a._wkHandlers[f]
p ? (p[l] ? (m ? p[l].apply(p, n.concat(e)) : e(null, p[l].apply(p, n))) : e('Unknown cmd: ' + l)) : e('Can not find handler for: ' + f)
}
var c = [],
d = null,
e = null
for (d in this._wkHandlers) -1 !== d.indexOf('_def_') && (e = this._wkHandlers.YFa = d)
'function' === typeof this._wkHandlers[e].A && this._wkHandlers[e].A.call(this._wkHandlers[e])
a.yu = function (a) {
c.push.apply(c, a)
}
a.addEventListener(
'message',
function (d) {
function e(b) {
if (t) {
t.push(b)
var d = !!b.Hq
d || n++
b = n >= h || b.cl
if (d || b) {
d = 1 < t.length ? { Vwa: t } : t[0]
d.$z = Date.now()
d.mHa = p
if (c.length) {
try {
a.postMessage(d, c)
} catch (f) {
a.postMessage(d), console.error(f)
}
c.length = 0
} else a.postMessage(d)
t.length = 0
b && (e = t = null)
}
} else console.error('Seemed callback already sent!!', b, b.result.lc)
}
var f = d.data
d = f.Twa || [f]
for (var h = d.length, n = 0, p = Date.now() - f.$z, t = [], f = 0; f < h; f++) b(d[f], e)
},
!1
)
}
function e(d, h) {
this.w = a.extend({ batchSend: !0, lazy: !1, libPolyfills: null }, h)
this.Qp = []
this.WA = this.w.clientId || 'w' + f++
this.w.onReady && this.lT(this.w.onReady)
this.mG = this.Wea()
if ('function' === typeof d) {
var m = {}
m[this.mG] = d
d = m
}
d[e.SR] = c
d[this.JY()] = b
this.CG = d
this.PB(null)
this.w.lazy || this.ky()
a.Hra || !1 === this.w.hostWorker || (a.Hra = this)
this.lo && this.lo.A && this.lo.A.call(this.lo)
}
var f = 1,
h = 1
a.extend(e, {
SR: '_g_',
Nxa: function (a) {
if (!a.cca) {
var b = []
a.addEventListener(
'message',
function (a) {
a = a.data
a = a.Vwa || [a]
for (var c = 0, d = a.length; c < d; c++) {
var e = a[c],
f
a: {
f = e.Oz
for (var h = !e.cl, k = 0, v = b.length; k < v; k++) {
var w = b[k]
if (f === w.Oz) {
h || b.splice(k, 1)
f = w
break a
}
}
f = void 0
}
f && f.BC(e.error, e.result, !0)
}
},
!1
)
a.Rba = b
a.cca = !0
}
},
})
a.extend(e.prototype, {
Wea: function () {
return '_def_' + this.WA
},
JY: function () {
return '_cln_' + this.WA
},
jka: function () {
var a = Array.prototype.slice.call(arguments, 0)
this.z0 = a
if (this.Qx) {
for (var b = 0, c = this.Qx.length; b < c; b++) this.Qx[b].apply(null, a)
this.Qx.length = 0
}
},
yu: function (a) {
this.aka && this.Qp.push.apply(this.Qp, a)
},
lT: function (a) {
this.z0 ? a.apply(null, this.z0) : (this.Qx || (this.Qx = []), this.Qx.push(a))
},
ky: function (b) {
var c = this
if (!c.GX) {
c.GX = !0
var d = function (d, e) {
d && a.l.GS && console.warn(d)
c.jka.call(c, d, e)
b && b(d, e)
}
a.l.GS
? this.Xja(function (a, b) {
b
? this.tga(b, function (a, c) {
a ? d(a) : (this.PB(c), (this.zP = c), (this.Qp.length = 0), (this.lo = null), d(null, { yma: b, bAa: c }))
})
: d('Worker start failed!')
})
: d('Worker not supported!')
}
},
wf: function (b, c) {
var d = 2 < arguments.length && void 0 !== arguments[2] ? arguments[2] : a.a.Rs,
f = this
b = b || f.mG
var h = {}
if (a.a.jk(c, 'object')) {
var q = 'return {',
r
for (r in c)
if (c.hasOwnProperty(r))
var s = c[r],
q =
'function' === typeof s
? q + ('\n\t' + r + ': ' + s.toString() + ',')
: 'object' === typeof s
? q + ('\n\t' + r + ': ' + JSON.stringify(s) + ',')
: q + ('\n\t' + r + ': "' + s + '",')
c = new Function(q + '\n}')
}
f.lX(b, c, h)
f.PB(null, h)
f.lT(function (a) {
a
? d(a)
: f.zP
? ((a = f.QY(c, f.BN(f.WA, b), !0)),
f.zP.sendMessage(e.SR + ':injectCode', a, function (a, b) {
a || f.PB(f.zP, h)
d(a, b)
}))
: d('Worker msger missing!!')
})
},
BN: function (a, b) {
if (!a || !b) throw Error('clientId or ns missing!!')
return a + '_' + b
},
tfa: function (a, b, c) {
function d() {
var b = Array.prototype.slice.call(arguments, 0)
c.sendMessage.apply(c, [a].concat(b))
}
var e = this
if (!c)
return function () {
var a = b.apply(e.lo, arguments)
e.GX || ('untilCall' === e.w.lazy && e.ky())
return a
}
d._proxy2Worker = !0
return d
},
Vca: function (a) {
var b = {},
c
for (c in a) a.hasOwnProperty(c) && this.lX(c, a[c], b)
return b
},
lX: function (a, b, c) {
b = b.call(null, !1)
for (var d in b) b.hasOwnProperty(d) && ((c[a + ':' + d] = b[d]), a === this.mG && (c[d] = b[d]))
},
PB: function (a, b) {
if (!b) this.lo || (this.lo = this.Vca(this.CG)), (b = this.lo)
else if (this.lo) for (var c in b) b.hasOwnProperty(c) && (this.lo[c] = b[c])
for (c in b)
if (b.hasOwnProperty(c)) {
var d = b[c]
'function' === typeof d && (this[c] = this.tfa(c, d, a))
}
this.aka = !!a
},
QY: function (a, b) {
var c = 2 < arguments.length && void 0 !== arguments[2] ? arguments[2] : !1,
d = a.toString(),
e,
d = d.replace(/^function([^\(]*)\(/, function () {
e = '_prep_h' + h++
return 'function ' + e + '('
})
return e
? '\n\t\t\t\t' +
d +
"\n\t\t\t\tif (self._wkHandlers['" +
b +
"'] && " +
!c +
") {\n\t\t\t\t\tthrow new Error('" +
b +
" already exists!')\n\t\t\t\t} else {\n\t\t\t\t\tif (" +
c +
" && self._wkHandlers['" +
b +
"']) {\n\t\t\t\t\t\tvar handlerFunObj = " +
e +
".call(null, self) || {}\n\n\t\t\t\t\t\tif (typeof Object.assign === 'function') {\n\t\t\t\t\t\t\tObject.assign(self._wkHandlers['" +
b +
"'], handlerFunObj)\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tfor (var key in handlerFunObj) {\n\t\t\t\t\t\t\t\tif (handlerFunObj.hasOwnProperty(key)) {\n\t\t\t\t\t\t\t\t\tself._wkHandlers['" +
b +
"'][key] = handlerFunObj[key]\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tself._wkHandlers['" +
b +
"'] = " +
e +
'.call(null, self) || {}\t\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t' +
e +
' = null;\n\t\t\t'
: (console.error('No function match!!'), !1)
},
Xja: function (a) {
var b = this.WA,
c = [],
d
for (d in this.CG)
if (this.CG.hasOwnProperty(d)) {
var f = this.QY(this.CG[d], this.BN(b, d))
f && c.push(f)
}
b = this.w.libPolyfills || []
d = 0
for (f = b.length; d < f; d++) b[d] = '(' + b[d].toString() + ')(self);'
var h = b.join(';\n') + ';\n' + c.join(';\n'),
c = this.w.hostWorker,
r = this
c && c !== r
? c.lT(function (b, c) {
b
? a.call(r, b)
: c.bAa.sendMessage(e.SR + ':injectCode', h, function (b) {
b ? a.call(r, b) : a.call(r, null, c.yma)
})
})
: a.call(r, null, r.nla(h))
},
nla: function (b) {
b = ['self._wkHandlers={};', b, '(' + d.toString() + ')(self)'].join('')
var c
try {
var e = a.a.createObjectURL(b)
c = new Worker(e)
setTimeout(function () {
a.a.revokeObjectURL(e)
e = null
}, 5e3)
} catch (f) {
return
}
return c
},
Oda: function (b) {
var c = 1,
d = b.Rba,
e = this,
f = !!e.w.batchSend
return function (h) {
var r = Array.prototype.slice.call(arguments, 1),
s = 'function' === typeof r[r.length - 1] ? r.pop() : null,
u = e.WA,
v = h.split(':'),
w = e.mG
1 < v.length && ((h = v[1]), (w = v[0]))
r = { $z: a.a.dg(), gS: e.BN(u, w), BC: !!s, Oz: u + '_' + c++, lQ: h, hma: r }
s && d.push({ lQ: r.lQ, gS: r.gS, $z: r.$z, Oz: r.Oz, BC: s })
f ? e.xca(b, r) : e.Ox(b, r)
}
},
Ox: function (a, b) {
if (this.Qp.length) {
try {
a.postMessage(b, this.Qp)
} catch (c) {
a.postMessage(b), console.error(c)
}
this.Qp.length = 0
} else a.postMessage(b)
},
xca: function (b, c) {
b.vO || (b.vO = [])
b.vO.push(c)
if (!b.q0) {
var d = this
b.q0 = setTimeout(function () {
b.q0 = null
var c = b.vO
c.length && (d.Ox(b, 1 === c.length ? c[0] : { $z: a.a.dg(), Twa: c }), (c.length = 0))
}, 0)
}
},
ela: function (a) {
var b = this
a.addEventListener(
'error',
function (a) {
console.error(a)
b.PB(null)
},
!1
)
e.Nxa(a)
},
tga: function (a, b) {
var c = this
c.ela(a)
var d = this.Oda(a)
if (e.tda) b.call(c, null, { sendMessage: d })
else {
e.tda = !0
var f = [
c.JY() + ':checkup',
Math.random().toFixed(5) + '',
Math.round(1e3 * Math.random()),
!1,
function (a, e) {
var h = !0
if (a || !e || e.length !== f.length - 2) h = !1
else
for (var k = 0, v = e.length; k < v; k++)
if (e[k] !== f[k + 1]) {
h = !1
break
}
h ? b.call(c, null, { sendMessage: d }) : (console.error(a), b.call(c, 'Self checkup failed!!'))
},
]
d.apply(c, f)
}
},
})
a.IA = e
})(g)
;(function () {
if (!g.TL) {
g.TL = { oba: {}, BD: {} }
var a = g.TL,
b = g.TL.oba,
c = g.a,
d = g.r
b.start = function (b) {
a.BD[b.id] = {
K: b.K,
time: { u5: c.dg() },
Xma: function () {
return c.dg() - this.time.u5
},
}
}
b.end = function (b) {
var d = a.BD[b.id],
e = d.time,
d = c.bind(d.Xma, d),
l = b.index,
m = b.key
'function' !== typeof b.Mc && (b.Mc = function () {})
if (void 0 === e[m]) void 0 === l ? (e[m] = d()) : ((e[m] = []), (e[m][l] = d()))
else if (void 0 !== l && void 0 === e[m][l]) e[m][l] = d()
else return b.Mc(Error('Duplicate Invoke'))
b.Mc(null)
}
b.push = function (b) {
var c = a.BD[b.id].time,
d = b.key,
e = b.Jg
'function' !== typeof b.Mc && (b.Mc = function () {})
if (void 0 === c[d]) c[d] = e
else return b.Mc(Error('Duplicate Invoke'))
b.Mc(null)
}
b.send = function (b) {
var c = d.tc + '://webapi.amap.com/count?',
k = g.extend(e({ K: a.BD[b.id].K }), b.params || {}),
l = g.a
b.params && b.params.rs && !b.params.type && ((b = a.BD[b.id].time), delete b.u5, (k = g.extend(k, b)))
b = []
for (var m in k) l.isArray(k[m]) ? b.push([m, k[m].join('-')].join('=')) : b.push([m, k[m]].join('='))
b.push('jl=' + (d.MJ ? 1 : 0))
if (l.jk(window.performance, 'performance') && l.jk(window.performance.getEntriesByType, 'function')) {
var n = 0,
p = ['webapi.amap.com', 'jsapi-test.amap.test', 'localhost'],
q = ['/maps', '/css']
l.Tb(window.performance.getEntriesByType('resource'), function (a) {
var b = void 0,
c = void 0
a.name.match(/:\/\/([^:?#/]+)/) && (b = RegExp.$1)
a.name.match(/[^\/](\/[^/?#:]+)/) && (c = RegExp.$1)
b && c && l.ka(p, b) && l.ka(q, c) && (n += parseInt(a.responseEnd - a.startTime))
})
0 !== n && b.push('sd=' + n)
}
new g.jb.zb(c + b.join('&'))
}
var e = function (a) {
var b = g.l
a = g.f.S3(a.K)
return {
type: 'q',
resolution: a.width + '*' + a.height,
k: d.key,
u: d.Up,
iw: b.Mf ? 1 : 0,
cw: b.p2 ? 1 : 0,
gc: b.TR,
m: b.ba ? 1 : 0,
cv: b.Xp ? 1 : 0,
pf: b.Dz,
dpr: window.devicePixelRatio,
screenwidth: screen.width,
scale: b.yL || 0,
detect: b.ja ? 1 : 0,
v: d.ln,
}
}
}
})()
;(function () {
if (!g.HL) {
var a = g.a.mD({ r: 'Conf', extend: 'extend', l: 'Browser', xw: 'uncodeCoords' })
g.HL = function () {
var b = new g.IA(
function () {
return {
A: function () {
this.px = { ok: 0, mE: 0 }
this.Rk = {}
this.qo = []
this.Pp = {}
this.Vj = {}
this.Rt = 0
this.d_ = 500
},
xh: function (a, b) {
var e = a.Md,
f = a.Ie,
h = 'building' === a.ga[0]
;((f && e !== this.px.mE && this.px.mE) || (!f && !h && e !== this.px.ok && this.px.ok)) && this.Lla(!!f)
f ? (this.px.mE = e) : h || (this.px.ok = e)
this.qta(a, b)
},
Lla: function (a) {
if (a) this.gX()
else if (!a && Object.keys(this.Rk).length) for (var b in this.Rk) this.Rk.hasOwnProperty(b) && ((a = this.Rk[b]), a.Mt || a.abort())
},
Kya: function () {
this.Rt > this.d_ && this.bU(Object.keys(this.Vj).slice(0, Math.floor(this.d_ / 2)))
},
bU: function (a) {
for (var b = 0, e = a.length; b < e; b++) delete this.Vj[a[b]]
this.Rt -= a.length
},
NC: function (a) {
var b = a.ga
a = a.Ie
var e = new XMLHttpRequest()
e.Nq = ''
e.yE = [new Date().getTime() + '_' + Math.random(), a ? 1 : 0, b.join('|')].join('-')
return e
},
Z4: function (a, b, e) {
var f = this,
h = a.Ib,
k = a.Ie,
l = [],
m = h.filter(function (a) {
var b = f.Vj[a.key]
if (b) {
if (b.WZ) return !0
l.push(a.key)
}
return !1
}),
n = !1
if (m.length && ((n = m.length === h.length) || 'function' !== typeof b || b(a, m), !k)) {
var p = []
m.forEach(function (a) {
a = a.key
p.push.apply(p, f.Vj[a])
delete f.Vj[a]
})
this.Rt -= m.length
this.Us(this.extend({}, a, { dF: p, Md: a.Md, Cn: n }), e)
}
!k && l.length && this.bU(l)
this.Kya()
return n
},
qta: function (a, b) {
function e(e, f) {
var m = 2 < arguments.length && void 0 !== arguments[2] ? arguments[2] : !1
if (p.Rk[q.yE] || p.iga(q)) {
var n = e.split('|')
f && (n[0] = f + n[0])
var t = n,
x = ''
n[n.length - 1] && ((x = n[n.length - 1]), (t = n.splice(0, n.length - 1)))
if (k)
for (var n = 0, y = t.length; n < y; n++) {
if (t[n]) {
var E = JSON.parse(t[n])
if (E.length) {
var C = E[0].split('-').slice(0, -1).join('/')
p.Vj[C] ? p.Vj[C].push(E) : ((p.Vj[C] = [E]), p.Rt++)
m && (p.Vj[C].WZ = !0)
}
}
}
else p.Us(p.extend({}, a, { dF: t, Md: h, Cn: m, yS: !0 }), b)
return x
}
r || (p.Ll(l, b), (r = !0))
}
var f = this,
h = a.Md,
k = a.Ie,
l = a.Ib,
m = a.url
if (
!this.Z4(
a,
function (a, b) {
var c = a.Ib,
d = a.url,
e = d.match(/&t=([^&]+)/)[1].split(';')
b.reverse().forEach(function (a) {
a = c.indexOf(a)
;-1 !== a && e.splice(a, 1)
})
a.url = d.replace(/&t=[^&]+/, '&t=' + e.join(';'))
},
b
)
) {
if (this.bC() && (this.gX(), k)) {
this.Ll(l, b)
return
}
var n = 0,
p = this,
q = this.NC(a)
k ? this.qo.push(q) : ((this.Rk[q.yE] = q), (q.Ib = l), (q.Mc = b))
var r = !1
q.onreadystatechange = function () {
if (4 === q.readyState && 0 === q.status) q.Mt || ((q.Mt = !0), f.Ll(l, b), (q.onreadystatechange = null), k ? f.E0(q) : delete f.Rk[q.yE]), (q = null)
else if (!q.Mt)
if (3 === q.readyState) {
var h = q.responseText.substring(n)
q.Nq = e(h, q.Nq)
n = q.responseText.length
} else
4 === q.readyState && ((h = q.responseText.substring(n)), a.Ci && (h += '|'), e(h, q.Nq, !0), (q.Nq = ''), k ? f.E0(q) : delete f.Rk[q.yE], (q = null))
}
q.onerror = function () {}
q.open('GET', m, !0)
q.send()
k &&
(q.T9 = l.map(function (a) {
return a.key
}))
}
},
$D: function (a) {
function b(d, p, r) {
var s = [r, d, p].join('/')
d = e.filter(function (a) {
return a.key === s
})[0]
18 < k && !n && (s += '/' + k)
if (d && 'loaded' !== d.status && -1 !== m.indexOf(t))
if ('limg' === t)
(p = h[1]),
(d.qd = p),
'string' === typeof p.b && (p.b = w.aB(p.b)),
(r = ''),
(r = 'object' === typeof p.u ? p.u.url : p.u) && (p.u = { url: r, Bk: 'limg-' + d.key + '-' + f })
else {
p = { Hg: d.ta, Oi: s, Oa: h, Ed: t, iy: a.Du, FD: 'building' === t, Bi: 'poilabel' === t || 'roadlabel' === t || ('building' === t && q) }
if ('poilabel' === t || 'roadlabel' === t) p.qd = d.qd
t === m[m.length - 1] && (d.status = 'loaded')
l.push(p)
}
}
var e = a.Ib,
f = a.LS,
h = a.PC,
k = a.Md,
l = a.Oc,
m = a.ga,
n = a.Mf,
p = a.WR,
q = a.Ae,
r = h[0].split('-'),
s = parseInt(r[1]),
u = parseInt(r[2]),
v = parseInt(r[0]),
w = this,
t = r[3],
r = Math.pow(2, v)
10 > v && (s <= p && b(s + r, u, v), s >= r - p && b(s - r, u, v))
b(s, u, v)
},
E0: function (a) {
for (var b = this.qo.length - 1; 0 <= b; b--) this.qo[b] === a && this.qo.splice(b, 1)
},
iga: function (a) {
for (var b = 0, e = this.qo.length; b < e; b++) if (this.qo[b] === a) return !0
return !1
},
bC: function () {
return Object.keys(this.Rk).length ? !0 : !1
},
gX: function () {
if (this.qo.length) {
for (var a = this.qo.length - 1; 0 <= a; a--) {
var b = this.qo[a]
b.Mt || b.abort()
b.T9 && this.bU(b.T9)
}
this.qo.length = 0
}
},
Ll: function (a, b) {
b(null, { Ib: a, P5: !0, disabled: this.disabled }, { cl: !0 })
},
}
},
{ batchSend: !1 }
)
b.wf(
null,
new Function(
'\n return {\n ' +
a.Conf +
': ' +
JSON.stringify(g.r) +
',\n ' +
a.extend +
': ' +
g.extend.toString() +
',\n ' +
a.Browser +
': ' +
JSON.stringify(g.l) +
',\n ' +
a.uncodeCoords +
': ' +
g.a.xw.toString() +
'\n }'
)
)
return b
}
}
})()
g.f = {
CLASS_NAME: 'DomUtil',
get: function (a) {
return 'string' === typeof a ? document.getElementById(a) : a
},
HD: function (a, b, c) {
return a.parentNode == b ? !0 : a.parentNode && a.parentNode !== document.body && !g.f.zn(a.parentNode, c) ? g.f.HD(a.parentNode, b) : !1
},
Lo: function (a) {
if (!a) return [0, 0]
var b = a.offsetWidth,
c = a.offsetHeight
;(b && c) || !a.childNodes[0] || ((b = b || a.childNodes[0].offsetWidth), (c = c || a.childNodes[0].offsetHeight))
window.opera && ((b = Math.max(b, a.childNodes[0].scrollWidth)), (c = Math.max(c, a.childNodes[0].scrollHeight)))
return [b, c]
},
JFa: function (a, b) {
var c = document.head || document.getElementsByTagName('head')[0]
if (c) {
var d = document.createElement('link')
d.setAttribute('rel', 'stylesheet')
d.setAttribute('type', 'text/css')
d.setAttribute('href', a)
b ? c.appendChild(d) : c.insertBefore(d, c.firstChild)
} else document.write("")
},
Zc: function (a, b) {
var c = a.style[b]
!c && a.currentStyle && (c = a.currentStyle[b])
;(c && 'auto' !== c) || !document.defaultView || (c = (c = document.defaultView.getComputedStyle(a, null)) ? c[b] : null)
;(c && 'auto' !== c) || 'height' !== b || (c = a.clientHeight + 'px')
;(c && 'auto' !== c) || 'width' !== b || (c = a.clientWidth + 'px')
return 'auto' === c ? null : c
},
lJ: function (a) {
if (a)
return new g.xd(
a.clientWidth || document.body.clientWidth,
a.clientHeight || (g.l.Es ? ('CSS1Compat' === document.compatMode ? document.documentElement.clientHeight : document.body.clientHeight) : document.body.clientHeight),
!0
)
},
S3: function (a) {
return new g.xd(a.clientWidth, a.clientHeight)
},
RR: function (a) {
var b = 0,
c = 0,
d = a,
e = document.body,
f = document.documentElement,
h,
k = g.l.sv
do {
b += d.offsetTop || 0
c += d.offsetLeft || 0
b += parseInt(g.f.Zc(d, 'borderTopWidth'), 10) || 0
c += parseInt(g.f.Zc(d, 'borderLeftWidth'), 10) || 0
h = g.f.Zc(d, 'position')
if (d.offsetParent === e && 'absolute' === h) break
if ('fixed' === h) {
b += e.scrollTop || f.scrollTop || 0
c += e.scrollLeft || f.scrollLeft || 0
break
}
d = d.offsetParent
} while (d)
d = a
do {
if (d === e) break
b -= d.scrollTop || 0
c -= d.scrollLeft || 0
g.f.Xoa() || (!g.l.B$ && !k) || ((c += d.scrollWidth - d.clientWidth), k && 'hidden' !== g.f.Zc(d, 'overflow-y') && 'hidden' !== g.f.Zc(d, 'overflow') && (c += 17))
d = d.parentNode
} while (d)
return new g.H(c, b)
},
Xoa: function () {
g.f.hea || ((g.f.hea = !0), (g.f.gea = 'ltr' === g.f.Zc(document.body, 'direction')))
return g.f.gea
},
create: function (a, b, c, d) {
a = document.createElement(a)
c && (a.className = c)
b && (d && 'before' === d ? b.insertBefore(a, b.firstChild) : b.appendChild(a))
return a
},
b3: function () {
document.selection && document.selection.empty && document.selection.empty()
this.dja || ((this.dja = document.onselectstart), (document.onselectstart = g.a.x3))
},
o3: function () {},
Dya: function (a, b, c) {
c ? this.Wa(a, b) : this.eb(a, b)
},
zn: function (a, b) {
if (a && b) return 0 < a.className.length && RegExp('(^|\\s)' + b + '(\\s|$)').test(a.className)
},
Wa: function (a, b) {
a && b && (a.classList && a.classList.add ? a.classList.add(b) : g.f.zn(a, b) || (a.className += (a.className ? ' ' : '') + b))
},
sxa: function (a, b) {
a && (a.className = b || '')
},
eb: function (a, b) {
function c(a, c) {
return c === b ? '' : a
}
a && b && (a.classList && a.classList.remove ? a.classList.remove(b) : (a.className = a.className.replace(/(\S+)\s*/g, c).replace(/(^\s+|\s+$)/, '')))
},
p4: function (a, b) {
return 1 === b
? ''
: 'opacity' in a.style
? 'opacity:' + b
: 8 <= document.documentMode
? "-ms-filter:'progid:DXImageTransform.Microsoft.Alpha(opacity=" + Math.ceil(100 * b) + ")'"
: 'filter:alpha(opacity=' + Math.ceil(100 * b) + ')'
},
Xq: function (a, b) {
if (a.style)
if ('opacity' in a.style) a.style.opacity = b
else if ('filter' in a.style) {
var c = Math.round(100 * b)
a.style.filter = ''
100 !== c && (a.style.filter = ' progid:DXImageTransform.Microsoft.Alpha(opacity=' + c + ')')
}
},
YU: function (a) {
for (var b = document.documentElement.style, c = 0; c < a.length; c += 1) if (a[c] in b) return a[c]
return !1
},
G4: function (a) {
var b = g.l.CL
return 'translate' + (b ? '3d' : '') + '(' + a.x + 'px,' + a.y + 'px' + ((b ? ',0' : '') + ')')
},
HEa: function (a, b) {
return g.f.G4(b.add(b.Nd(-1 * a))) + (' scale(' + a + ') ')
},
a9: function (a, b, c) {
a.aj = b
!c && g.l.RH
? ((b = g.f.G4(b)),
(c = a.style[g.f.pg].split('rotate')),
1 < c.length ? ((c[0] = b), (a.style[g.f.pg] = c.join('rotate'))) : (a.style[g.f.pg] = b),
g.l.G6 && (a.style.WebkitBackfaceVisibility = 'hidden'))
: ((a.style.left = b.x + 'px'), (a.style.top = b.y + 'px'))
},
Ud: function (a) {
a.aj || (a.aj = a.style.left ? new g.H(parseInt(a.style.left), parseInt(a.style.top)) : new g.H(0, 0))
return a.aj
},
vHa: function (a, b) {
a = a instanceof Array ? a : [a]
for (var c = 0; c < a.length; c += 1) a[c].style.cssText = b
},
T8: function (a, b) {
';' !== b[b.length - 1] && (b += ';')
return b.toLowerCase() !== a.style.cssText.replace(/ /g, '').toLowerCase() ? ((a.style.cssText = b), !0) : !1
},
$a: function (a, b) {
a = a instanceof Array ? a : [a]
for (var c = 0; c < a.length; c += 1) for (var d in b) b.hasOwnProperty(d) && (a[c].style[d] = b[d])
return this
},
Iz: function (a) {
for (; a.childNodes.length; ) a.removeChild(a.childNodes[0])
},
remove: function (a) {
a && a.parentNode && a.parentNode.removeChild(a)
},
rotate: function (a, b, c) {
var d = g.f.pg
c = c || { x: a.clientWidth / 2, y: a.clientHeight / 2 }
d
? ((a.style[d] = '' + (' rotate(' + b + 'deg)')), (a.style[g.f.ot[d] + '-origin'] = c.x + 'px ' + c.y + 'px'))
: ((d = Math.cos((b * Math.PI) / 180)),
(b = Math.sin((b * Math.PI) / 180)),
(a.style.filter = 'progid:DXImageTransform.Microsoft.Matrix()'),
0 < a.filters.length && ((a = a.filters.item(0)), (a.Dx = -c.x * d + c.y * b + c.x), (a.Dy = -c.x * b - c.y * d + c.y), (a.M11 = a.M22 = d), (a.M12 = -(a.M21 = b))))
},
C4: function (a, b, c) {
var d = g.f.pg
c = c || { x: a.clientWidth / 2, y: a.clientHeight / 2 }
return d ? g.f.ot[d] + ':' + ('' + (' rotate(' + b + 'deg)')) + ';' + (g.f.ot[d] + '-origin:' + c.x + 'px ' + c.y + 'px') : ''
},
xm: function (a, b, c) {
a.width = b
a.height = c
},
getElementsByClassName: function (a, b, c) {
b = b || '*'
c = c || document
if (c.getElementsByClassName) return c.getElementsByClassName(a)
b = c.getElementsByTagName(b)
a = RegExp('(^|\\s)' + a + '(\\s|$)')
c = []
for (var d = 0, e; d < b.length; d++) (e = b[d]), a.test(e.className) && c.push(e)
return c
},
fillText: function (a, b) {
if (a) return void 0 !== a.textContent ? (a.textContent = b) : void 0 !== a.innerText ? (a.innerText = b) : (a.innerHTML = b), a
},
}
;(function () {
var a = g.f.YU(['userSelect', 'WebkitUserSelect', 'OUserSelect', 'MozUserSelect', 'msUserSelect']),
b
g.extend(g.f, {
b3: function () {
g.F.h(window, 'selectstart', g.F.preventDefault)
if (a) {
var c = document.documentElement.style
'none' !== c[a] && ((b = c[a]), (c[a] = 'none'))
}
},
o3: function () {
g.F.G(window, 'selectstart', g.F.preventDefault)
a && 'none' !== b && ((document.documentElement.style[a] = b), (b = 'none'))
},
Poa: function () {
g.F.h(window, 'dragstart', g.F.preventDefault)
},
ypa: function () {
g.F.G(window, 'dragstart', g.F.preventDefault)
},
})
})()
g.f.pg = g.f.YU(['WebkitTransform', 'OTransform', 'MozTransform', 'msTransform', 'transform'])
g.f.ot = { transform: 'transform', WebkitTransform: '-webkit-transform', OTransform: '-o-transform', MozTransform: '-moz-transform', msTransform: '-ms-transform' }
g.f.JF = g.f.YU(['webkitTransition', 'transition', 'OTransition', 'MozTransition', 'msTransition'])
g.f.bBa = 'webkitTransition' === g.f.JF || 'OTransition' === g.f.JF ? g.f.JF + 'End' : 'transitionend'
g.F = {
h: function (a, b, c, d) {
function e(b) {
b = b || window.event
b.target = b.target || b.srcElement
return c.call(d || a, b, k)
}
var f = g.a.yb(a) + '_' + g.a.yb(c) + '_' + g.a.yb(d || a),
h = b + f
if (a[h]) return this
var k = b
g.l.bR && 'mousewheel' === b && (b = 'DOMMouseScroll')
if (g.l.Es && ('mouseover' === b || 'mouseout' === b)) {
var l = e
b = 'mouseover' === b ? 'mouseenter' : 'mouseleave'
e = function (a) {
l(a)
}
}
if (g.l.P7 && 0 === b.indexOf('touch')) return (a[h] = e), this.Tla(a, b, e, f)
g.l.Tf && 'dblclick' === b && this.Rla && this.Rla(a, e, f)
'addEventListener' in a ? a.addEventListener(b, e, !1) : 'attachEvent' in a ? a.attachEvent('on' + b, e) : (a['on' + b] = e)
a[h] = e
return this
},
Cj: function (a, b, c, d) {
var e = this
this.h(
a,
b,
function h(k) {
e.G(a, b, h, d)
return c.call(d || a, k || window.event, b)
},
d
)
},
G: function (a, b, c, d) {
c = g.a.yb(a) + '_' + g.a.yb(c) + '_' + g.a.yb(d || a)
d = b + c
var e = a[d]
g.l.bR && 'mousewheel' === b && (b = 'DOMMouseScroll')
!g.l.Es || ('mouseover' !== b && 'mouseout' !== b) || (b = 'mouseover' === b ? 'mouseenter' : 'mouseleave')
g.l.P7 && -1 < b.indexOf('touch')
? this.zwa(a, b, c)
: g.l.Tf && 'dblclick' === b && this.vwa
? this.vwa(a, c)
: 'removeEventListener' in a
? a.removeEventListener(b, e, !1)
: 'detachEvent' in a && -1 === b.indexOf('touch')
? e && a.detachEvent('on' + b, e)
: (a['on' + b] = null)
a[d] = void 0
return this
},
BHa: function (a, b) {
var c = document.createEvent('MouseEvents')
c.initMouseEvent(a, !0, !0, window, 1, b.screenX, b.screenY, b.clientX, b.clientY, !1, !1, !1, !1, 0, null)
b.target.dispatchEvent(c)
},
Yla: function (a) {
a.$e = 'info'
g.l.Ue && g.F.stopPropagation(a)
},
stopPropagation: function (a) {
a.stopPropagation ? a.stopPropagation() : (a.cancelBubble = !0)
return this
},
bya: function (a) {
var b = g.F.Yla
g.l.Tf && (g.F.h(a, 'touchstart', b, this), g.F.h(a, 'touchmove', b, this), g.F.h(a, 'touchend', b, this))
g.l.ba || (g.F.h(a, 'mousedown', b, this), g.F.h(a, 'mouseup', b, this), g.F.h(a, 'mousemove', b, this), g.F.h(a, 'mousewheel', b, this))
g.l.FT && (g.F.h(a, 'pointerdown', b, this), g.F.h(a, 'pointerup', b, this), g.F.h(a, 'pointermove', b, this))
g.l.I6 && (g.F.h(a, 'MSPointerDown', b, this), g.F.h(a, 'MSPointerUp', b, this), g.F.h(a, 'MSPointerMove', b, this))
},
preventDefault: function (a) {
a.preventDefault ? a.preventDefault() : (a.returnValue = !1)
return this
},
stop: function (a) {
return g.F.preventDefault(a).stopPropagation(a)
},
rxa: function (a) {
return a && a.getBoundingClientRect ? ((a.rM = a.getBoundingClientRect()), (a.SW = [a.clientLeft, a.clientTop]), !0) : !1
},
sza: function (a) {
a.rM && ((a.rM = null), (a.SW = null))
},
Npa: function (a, b) {
var c = b.rM || b.getBoundingClientRect(),
d = b.SW || [b.clientLeft, b.clientTop]
return new g.H(a.clientX - c.left - d[0], a.clientY - c.top - d[1])
},
km: function (a, b) {
if (b && b.getBoundingClientRect) return this.Npa(a, b)
var c = document.body,
d = document.documentElement,
c = new g.H(g.l.Tf ? a.pageX : a.clientX + (c.scrollLeft || d.scrollLeft), g.l.Tf ? a.pageY : a.clientY + (c.scrollTop || d.scrollTop))
return b ? c.ab(g.f.RR(b)) : c
},
M5: function (a) {
return 1 === a.which || 0 === a.button || 1 === a.button
},
}
g.extend(g.F, {
uO: [],
h_: !1,
Tla: function (a, b, c, d) {
switch (b) {
case 'touchstart':
return this.Wla(a, b, c, d)
case 'touchend':
return this.Ula(a, b, c, d)
case 'touchmove':
return this.Vla(a, b, c, d)
}
},
No: function (a) {
if (g.l.FT) return a
switch (a) {
case 'pointerdown':
return 'MSPointerDown'
case 'pointerup':
return 'MSPointerUp'
case 'pointercancel':
return 'MSPointerCancel'
case 'pointermove':
return 'MSPointerMove'
}
},
Wla: function (a, b, c, d) {
function e(a) {
for (var b = !1, d = 0; d < f.length; d += 1)
if (f[d].pointerId === a.pointerId) {
b = !0
break
}
b || f.push(a)
a.touches = f.slice()
a.changedTouches = [a]
c(a)
}
var f = this.uO
a['_amap_touchstart' + d] = e
a.addEventListener(this.No('pointerdown'), e, !1)
this.h_ ||
((a = function (a) {
for (var b = 0; b < f.length; b += 1)
if (f[b].pointerId === a.pointerId) {
f.splice(b, 1)
break
}
}),
document.documentElement.addEventListener(this.No('pointerup'), a, !1),
document.documentElement.addEventListener(this.No('pointercancel'), a, !1),
(this.h_ = !0))
return this
},
Vla: function (a, b, c, d) {
function e(a) {
if (a.pointerType !== a.MSPOINTER_TYPE_MOUSE || 0 !== a.buttons) {
for (var b = 0; b < f.length; b += 1)
if (f[b].pointerId === a.pointerId) {
f[b] = a
break
}
a.touches = f.slice()
a.changedTouches = [a]
c(a)
}
}
var f = this.uO
a['_amap_touchmove' + d] = e
a.addEventListener(this.No('pointermove'), e, !1)
return this
},
Ula: function (a, b, c, d) {
function e(a) {
for (var b = 0; b < f.length; b += 1)
if (f[b].pointerId === a.pointerId) {
f.splice(b, 1)
break
}
a.touches = f.slice()
a.changedTouches = [a]
c(a)
}
var f = this.uO
a['_amap_touchend' + d] = e
a.addEventListener(this.No('pointerup'), e, !1)
a.addEventListener(this.No('pointercancel'), e, !1)
return this
},
zwa: function (a, b, c) {
c = a['_amap_' + b + c]
switch (b) {
case 'touchstart':
a.removeEventListener(this.No('pointerdown'), c, !1)
break
case 'touchmove':
a.removeEventListener(this.No('pointermove'), c, !1)
break
case 'touchend':
a.removeEventListener(this.No('pointerup'), c, !1), a.removeEventListener(this.No('pointercancel'), c, !1)
}
return this
},
})
;(function () {
function a(a) {
var b = a.target || a.srcElement
b.cX && f(b.cX)
b.cX = e(function () {
var c = b.Bp
if (c && c.Ap) for (var d = 0; d < c.Ap.length; d += 1) c.Ap[d].call(c, a)
})
}
function b() {
var b = this.contentDocument.defaultView
b.Bp = this.aca
b.addEventListener('resize', a)
a.call(b, { target: b })
}
var c = document.attachEvent,
d = navigator.userAgent.match(/(Trident|Edge)/),
e = g.a.Wc,
f = g.a.ri
g.extend(g.F, {
Xla: function (e, f) {
if (!e.Ap)
if (((e.Ap = []), c)) (e.Bp = e), e.attachEvent('onresize', a)
else {
'static' === window.getComputedStyle(e).position && (e.style.position = 'relative')
var l = (e.Bp = document.createElement('object'))
l.setAttribute('style', 'display: block; position: absolute; top: 0; left: 0; height: 100%; width: 100%; overflow: hidden; pointer-events: none; z-index: -1;')
l.aca = e
l.onload = b
l.type = 'text/html'
d && e.appendChild(l)
l.data = 'about:blank'
d || e.appendChild(l)
}
e.Ap.push(f)
},
RGa: function (b, d) {
b.Ap.splice(b.Ap.indexOf(d), 1)
b.Ap.length || (c ? b.detachEvent('onresize', a) : (b.Bp.contentDocument.defaultView.removeEventListener('resize', a), (b.Bp = !b.removeChild(b.Bp))))
},
Cna: function (a) {
a.Ap = null
if (a.Bp) {
var b = a.Bp
b.parentNode === a && b.parentNode.removeChild(b)
a.Bp = null
}
},
})
})()
g.tb = {
kua: g.r.Gb + '/maps',
Ru: g.da.Ru,
XS: 0,
Cz: [],
Mu: {},
Fg: function (a, b) {
function c() {
d += 1
d === e.length && b && b()
}
a.length || b()
for (var d = 0, e = [], f = 0; f < a.length; f += 1) {
var h = this.Ru[a[f]]
if (h) for (var k = 0; k < h.length; k += 1) e.push(h[k])
e.push(a[f])
}
for (f = 0; f < e.length; f += 1) this.YQ(e[f], c)
},
ID: function (a) {
for (var b = 0; b < a.length; b += 1) if (1 !== this.QC(a[b]).status) return !1
return !0
},
YQ: function (a, b) {
var c = this.QC(a)
if (1 === c.status) b && b()
else {
b && c.ly.push(b)
try {
if (g.l.Gv && window.localStorage) {
var d = window.localStorage['_AMap_' + a]
d && ((d = JSON.parse(d)), d.version === g.r.Dk ? (window._jsload_(a, d.script, !0), d.css && window._cssload_(a, d.css, !0)) : window.localStorage.removeItem('_AMap_' + a))
}
} catch (e) {}
if (0 === c.status) {
this.cwa(a)
var f = this
f.XS ||
((f.XS = 1),
window.setTimeout(function () {
f.XS = 0
var a = f.kua + '/modules?v=' + g.r.ln + '&key=' + g.r.key + '&m=' + f.Cz.join(',') + '&vrs=' + g.r.Dk
g.tb.Pt(f.Cz.join(','))
f.Cz = []
c.TK = f.Bta(a)
}, 1))
c.status = -1
}
}
},
Pt: function (a) {
a = g.r.Zd + '/v3/log/init?' + ['s=rsv3&product=JsModule&key=' + g.r.key, 'm=' + a].join('&')
new g.jb.zb(a, { callback: 'callback' })
},
load: function (a, b) {
var c = this.Ru[a]
if (c) {
for (var d = [], e = 0; e < c.length; e += 1) d.push(c[e])
d.push(a)
for (
var f = 0,
c = function () {
f += 1
f === d.length && b && b()
},
e = 0;
e < d.length;
e += 1
)
this.YQ(d[e], c)
} else this.YQ(a, b)
},
cwa: function (a) {
for (var b = 0; b < this.Cz.length; b += 1) if (this.Cz[b] === a) return
this.Cz.push(a)
},
Nn: function (a, b) {
var c = this.QC(a)
try {
eval(b)
} catch (d) {
return
}
c.status = 1
for (var e = 0, f = c.ly.length; e < f; e += 1) c.ly[e]()
c.ly = []
},
pd: function (a, b) {
var c = this
c.timeout = setTimeout(function () {
1 !== c.Mu[a].status ? (c.remove(a), c.load(a, b)) : clearTimeout(c.timeout)
}, 5e3)
},
QC: function (a) {
this.Mu[a] || ((this.Mu[a] = {}), (this.Mu[a].status = 0), (this.Mu[a].ly = []))
return this.Mu[a]
},
remove: function (a) {
this.Mu[a] = null
},
Bta: function (a) {
g.r.mode && (a += '&mode=' + g.r.mode)
var b = document.createElement('script')
b.charset = 'utf-8'
a && 0 === a.indexOf(g.r.Gb) && (b.crossOrigin = 'Anonymous')
b.src = a
document.body.appendChild(b)
return b
},
}
window._jsload_ = function (a, b, c) {
var d = g.tb.QC(a)
d.TK && 0 <= g.a.indexOf(document.body.childNodes, d.TK) && document.body.removeChild(d.TK)
d.TK = null
try {
if (!c && window.localStorage && b && '' !== b && g.l.Gv) {
var e = window.localStorage['_AMap_' + a],
e = e || '{}',
e = JSON.parse(e)
e.version !== g.r.Dk || e.script
? window.localStorage.setItem('_AMap_' + a, JSON.stringify({ version: g.r.Dk, script: b }))
: window.localStorage.setItem('_AMap_' + a, JSON.stringify({ version: g.r.Dk, script: b, css: e.css }))
}
} catch (f) {}
g.tb.Nn(a, b)
}
window._cssload_ = function (a, b, c) {
try {
!c && window.localStorage && b && '' !== b && g.l.Gv && window.localStorage.setItem('_AMap_' + a, JSON.stringify({ css: b, version: g.r.Dk }))
} catch (d) {}
var e = document.createElement('style')
e.type = 'text/css'
;-1 === g.r.Gb.indexOf('webapi.amap.com') && (b = b.replace(/webapi.amap.com/gi, g.r.Gb.split('://')[1]))
'https' === g.r.tc && (b = b.replace(/http:/gi, 'https:'))
e.styleSheet
? ((a = function () {
try {
e.styleSheet.cssText = b
} catch (a) {}
}),
e.styleSheet.disabled ? setTimeout(a, 10) : a())
: e.appendChild(document.createTextNode(b))
a = document.head || document.getElementsByTagName('head')[0]
2 > a.childNodes.length ? a.appendChild(e) : a.insertBefore(e, a.childNodes[1])
}
;(function (a) {
var b = g.l
if (!g.indexedDB && b.Ni) {
var c = a.indexedDB || a.webkitIndexedDB || a.msIndexedDB || a.mozIndexedDB,
d = a.IDBKeyRange || a.oIa || a.WFa || a.VFa
if (c) {
var e = g.a,
f = null
a = 'amap-jsapi' + (a.CAa ? '-debug' : '')
var h = g.extend({}, g.va),
k
try {
;(k = c.open(a)),
(k.onsuccess = function () {
f = this.result
h.q('dbReady', { status: 'success' })
}),
(k.onerror = function () {
h.q('dbReady', { status: 'error' })
}),
(k.onblocked = function () {
h.q('dbReady', { status: 'blocked' })
}),
(k.onupgradeneeded = function (a) {
a.currentTarget.result.createObjectStore('tile', { keyPath: 'tileKey' })
})
} catch (l) {
b.Ni = !1
} finally {
if (!b.Ni) return
}
var b = function (a) {
return function () {
try {
return a.apply(this, arguments)
} catch (b) {
var c = arguments[arguments.length - 1]
'function' === typeof c &&
setTimeout(function () {
c({ code: 4, HI: b })
}, 1)
}
}
},
m = b(function (a, b) {
return null === f
? (setTimeout(function () {
b && b({ code: 3 })
}, 1),
null)
: f.transaction('tile', a).objectStore('tile')
})
g.indexedDB = {
kC: function (a, b) {
f
? 'function' === typeof a && a()
: h.h('dbReady', function (c) {
'success' === c.status ? 'function' === typeof a && a() : 'function' === typeof b && b({ code: 3, status: status })
})
},
count: b(function (a) {
var b = this,
c = arguments
this.kC(function () {
b.Pt.apply(b, c)
}, a)
}),
Pt: b(function (a) {
var b = m('readonly', a).count()
b.onsuccess = function () {
a(null, b.result)
}
b.onerror = function () {
a({ code: 7 })
}
}),
get: b(function (a, b, c) {
var d = this,
e = setTimeout(function () {
e && ((e = null), c && c({ code: 7 }))
}, b.timeout || 1e3)
this.kC(function () {
d.Jea.call(d, a, function (a, b) {
e && (clearTimeout(e), (e = null), c(a, b))
})
}, c)
}),
Jea: b(function (a, b) {
var c = m('readonly', b)
if (e.isArray(a)) {
var d, f
;(function () {
function e(b) {
var f = c.get(a[b])
f.onsuccess = function (a) {
a.target.result && (d[b] = a.target.result)
h()
}
f.onerror = h
}
function h() {
f++
f === a.length && b(null, d)
}
d = []
for (var k = (f = 0), l = a.length; k < l; k++) e(k)
})()
} else {
var h = c.get(a)
h.onsuccess = function (a) {
b && b(null, a.target.result)
}
h.onerror = function () {
b && b({ code: 1 })
}
}
}),
add: b(function (a, b) {
var c = this,
d = arguments
this.kC(function () {
c.eca.apply(c, d)
}, b)
}),
eca: b(function (a, b) {
function c() {
0 === --f && b(null)
}
e.isArray(a) || (a = [a])
var d = a.length,
f = d,
h = 0,
k = Math.ceil(d / 5),
l = setInterval(function () {
if (h++ < k) {
var e = 5 * h
e > d && (e = d)
for (var f = m('readwrite', b), s = 5 * (h - 1); s < e; s++) {
var E = f.put(a[s])
E.onsuccess = E.onerror = c
}
} else clearInterval(l)
}, 32)
}),
remove: b(function (a, b) {
var c = this,
d = arguments
this.kC(function () {
c.qka.apply(c, d)
}, b)
}),
qka: b(function (a, b) {
var c = m('readwrite', b)
e.isArray(a) || (a = [a])
a = a.sort()
c.openCursor(d.bound(a[0], a[a.length - 1])).onsuccess = function (c) {
if ((c = c.target.result)) {
if (e.ka(c.value.tileKey, a)) c['delete']()
for (var d = -1, f = 0, h = a.length; f < h; f++)
if (a[f] > c.value.tileKey) {
d = f
break
}
c['continue'](a[d])
} else b && b(null)
}
}),
clear: b(function (a) {
var b = this,
c = arguments
this.kC(function () {
b.bG.apply(b, c)
}, a)
}),
bG: b(function (a) {
var b = m('readwrite', a).clear()
b.onsuccess = function () {
a && a(null)
}
b.onerror = function () {
a && a({ code: 2 })
}
}),
}
} else b.Ni = !1
}
})(window)
;(function () {
function a(a) {
u.data.keys = u.data.keys
.filter(function (b) {
return !r.ka(a, b)
})
.concat(a)
}
function b(a) {
var b = g.r.Dk + '|' + a.Oi.replace(/\//g, ',') + '|' + (a.Mf ? 'w' : 'v') + '|',
c
c = a.ja
var d = a.Ae
c = [c ? 1 : 0, q.ba ? 1 : 0, d ? 1 : 0].join()
return b + c + '|' + m(a.url)
}
function c() {
u.data.keys.length >= u.VL && d()
}
function d() {
var a = u.data.keys.length,
b = Math.floor(a / 2)
a > u.VL && (b = Math.floor(a - u.VL / 2))
a = u.data.keys.slice(0, b)
u.data.keys = u.data.keys.slice(b + 1)
s.remove(a, function (a) {
a && 3 === a.code && (q.Ni = !1)
})
}
function e() {
var a = 0 < arguments.length && void 0 !== arguments[0] ? arguments[0] : r.Rs
k()
w.setItem(u.key, u.data, !0)
f(a)
}
function f(a) {
q.Ni &&
s &&
s.clear(function (b) {
b && 3 === b.code && (q.Ni = !1)
a()
})
}
function h() {
k()
var a = w.getItem(u.key, !0)
a && (a.vdataVer === u.data.vdataVer && a.apiVer === u.data.apiVer ? (u.data = a) : e())
}
function k() {
u.data = { vdataVer: q.lf, apiVer: g.r.Dk, keys: [], config: {}, fsTiles: {} }
u.pt = {}
}
function l(a) {
a && ((u.data.vdataVer = a), (q.lf = a))
}
function m(a) {
var b = 'limg'
;/flds=([^&]+)/.test(a) && (b = RegExp.$1)
return b
}
function n(a) {
if ('object' === typeof a && null !== a) {
var b = []
if (r.isArray(a))
if (Object.keys(a).length == a.length)
b = a.map(function (a) {
return n(a)
})
else {
b.push('__arrayObject')
var c = {},
d
for (d in a) (0 > parseInt(d) || isNaN(parseInt(d))) && a.hasOwnProperty(d) && (c[d] = n(a[d]))
b.push(c)
b.push(
a.map(function (a) {
return n(a)
})
)
}
else if (r.jk(a, 'Float32Array')) b.push('__Float32Array'), b.push(Array.prototype.slice.call(a))
else if (r.jk(a, 'Uint16Array')) b.push('__Uint16Array'), b.push(Array.prototype.slice.call(a))
else for (d in ((b = {}), a)) a.hasOwnProperty(d) && (b[d] = n(a[d]))
return b
}
return a
}
function p(a) {
if ('object' === typeof a && null !== a) {
var b = {}
if (r.isArray(a))
if ('__Float32Array' === a[0]) b = new Float32Array(a[1])
else if ('__Uint16Array' === a[0]) b = new Uint16Array(a[1])
else if ('__arrayObject' === a[0]) {
b = p(a[2])
a = a[1]
for (var c in a) a.hasOwnProperty(c) && (b[c] = a[c])
} else
b = a.map(function (a) {
return p(a)
})
else for (c in a) a.hasOwnProperty(c) && (b[c] = p(a[c]))
return b
}
return a
}
var q = g.l,
r = g.a
if (!g.Nj && q.Ni) {
var s = g.indexedDB,
u = { VL: 1e3, key: '_AMap_data.tileKeys' },
v = [],
w = {
getItem: function (a, b) {
var c = localStorage.getItem(a)
if (c && b) {
var d
try {
d = JSON.parse(c)
} catch (e) {
d = null
}
c = d
}
return c
},
setItem: function (a, b, c) {
var d = b
c && ((d = JSON.stringify(b)), 1.5 < d.length / 1024 / 1024 && Object.keys(b.gqa).length && ((b.gqa = {}), (d = JSON.stringify(b))))
try {
localStorage.setItem(a, d)
} catch (f) {
e()
}
},
}
g.Nj = {
clear: e,
get: function (c, d) {
function f(a) {
var b = { iS: l, F6: G, SFa: w, Tg: u.data.config }
a &&
B.length &&
(/\|limg/.test(B[0])
? (b.l6 = a
.map(function (a) {
return JSON.parse(a.data)
})
.filter(function (a) {
return a && a.key
}))
: (b.Oc = h(a)))
d && d(null, b)
w.length && ((l = []), (G = []))
}
function h(a) {
var b = []
m(c.url)
.split(',')
.forEach(function (c) {
a.forEach(function (a) {
if ((a = JSON.parse(a.data[c]))) {
var d = a.Hg
a.Hg = new g.pr(d.z, d.x, d.y)
a.Hg.T = d.T
b.push(a)
}
})
})
return b
}
var k = 'FS' === c.type
if (!q.Gv || !(k || (q.Ni && 0 !== u.data.keys.length))) return d({ code: 1 })
var l = [],
w = [],
B = [],
G = [],
H = []
c.vya.forEach(function (a) {
var d = !1,
e = b({ Oi: a.key, url: c.url, Mf: c.Mf, ja: c.o.ja, Ae: c.Ae })
k && (v.push(e), u.data.fsTiles[e] && (l.push(a), B.push(e), H.push({ data: p(u.data.fsTiles[e]), tileKey: e }), (d = !0)))
d || (q.Ni && r.ka(u.data.keys, e) ? (B.push(e), w.push(a)) : G.push(a))
})
if ((k && 0 === w.length) || 0 === B.length) return f(H)
k &&
H.length &&
H.forEach(function (a) {
a = r.indexOf(B, a.tileKey)
B.splice(a, 1)
})
s.get(B, { timeout: c.timeout || 1e3 }, function (b, c) {
if (b || c.length !== B.length) b && 3 === b.code ? (q.Ni = !1) : e(), (G = w), (w = []), f(null)
else {
if (k)
for (var d = c.length - 1; 0 <= d; d--) {
var h = c[d]
h && h.data ? (u.data.fsTiles[h.tileKey] = n(h.data)) : G.push(w.splice(d, 1)[0])
}
l = w
w = []
f(c)
a(B)
}
})
;(G.length || w.length) && f(H)
},
yw: function (a) {
a.Ib.forEach(function (c) {
c = b({ Oi: c.key, url: a.url, Mf: a.Mf, ja: a.o.ja, Ae: a.Ae })
u.pt[c] && delete u.pt[c]
})
},
set: function (a, c) {
a.lf && a.lf !== u.data.vdataVer && (l(a.lf), e(), c && c({ code: 2 }))
!a.qd && a.Oc
? a.Oc.forEach(function (c) {
var d = b({ Oi: c.Oi, url: a.url, Mf: a.Mf, ja: a.o.ja, Ae: a.Ae })
if (q.Ni || r.ka(v, d)) {
var e = u.pt[d] || {}
e[c.Ed] = c.Oa
u.pt[d] = e
}
})
: a.data &&
a.data.forEach(function (c) {
var d = b({ Oi: c.key, url: a.url, Mf: a.Mf, ja: a.o.ja, Ae: a.Ae })
if (q.Ni || r.ka(v, d)) u.pt[d] = c.data
})
u.data.config = { 'x-vd-v': a['x-vd-v'], tv: a.tv, bgc: a.bgc }
},
flush: (function () {
var a = !0
return function () {
var b = this
if (a) {
if (Object.keys(u.data.fsTiles).length) for (var c in u.data.fsTiles) u.data.fsTiles.hasOwnProperty(c) && !r.ka(v, c) && delete u.data.fsTiles[c]
q.Ni
? s.count(function (a, c) {
a ||
(c !== u.data.keys.length
? (u.data.keys.length && (u.data.keys = []),
f(function () {
b.rG(!0)
}))
: b.rG(!0))
})
: b.rG(!0)
a = !1
} else b.rG()
}
})(),
rG: function () {
var a = 0 < arguments.length && void 0 !== arguments[0] ? arguments[0] : !1,
b = {},
d = [],
f = Object.keys(u.pt),
h = []
f.length
? (f.forEach(function (a) {
var c = u.pt[a]
a
.split('|')
.pop()
.split(',')
.every(function (a) {
return 'limg' === a ? !0 : c && void 0 !== c[a]
})
? (r.ka(u.data.keys, a) || (h.push(a), d.push({ tileKey: a, data: c })), r.ka(v, a) && void 0 === u.data.fsTiles[a] && (u.data.fsTiles[a] = c))
: (b[a] = c)
}),
d.length &&
(q.Ni
? s.add(d, function (a) {
a ? (3 !== a.code ? e() : (q.Ni = !1)) : ((u.data.keys = u.data.keys.concat(h)), w.setItem(u.key, u.data, !0), c())
})
: w.setItem(u.key, u.data, !0)),
(u.pt = b))
: (a && w.setItem(u.key, u.data, !0), c())
},
}
h()
}
})()
g.U = g.da.extend({
A: function (a, b, c) {
var d = parseFloat(b),
e = parseFloat(a)
if (isNaN(a) || isNaN(b)) throw 'Invalid Object: LngLat(' + e + ', ' + d + ')'
!0 !== c && ((d = Math.max(Math.min(d, 90), -90)), (e = ((e + 180) % 360) + (-180 > e || 180 === e ? 180 : -180)))
this.Q = d
this.R = e
this.lng = Math.round(1e6 * e) / 1e6
this.lat = Math.round(1e6 * d) / 1e6
},
AR: function () {
return g.a.wb(this.R, 6)
},
xR: function () {
return g.a.wb(this.Q, 6)
},
add: function (a, b) {
return new g.U(this.R + a.R, this.Q + a.Q, b)
},
ab: function (a, b) {
return new g.U(this.R - a.R, this.Q - a.Q, b)
},
ld: function (a, b) {
return new g.U(this.R / a, this.Q / a, b)
},
Nd: function (a, b) {
return new g.U(this.R * a, this.Q * a, b)
},
Ge: function (a) {
return g.Ft.distance(this, a)
},
offset: function (a, b) {
if (isNaN(a) || isNaN(b)) return !1
var c = 2 * Math.asin(Math.sin(Math.round(a) / 12756274) / Math.cos((this.Q * Math.PI) / 180)),
c = this.R + (180 * c) / Math.PI,
d = 2 * Math.asin(Math.round(b) / 12756274)
return new g.U(c, this.Q + (180 * d) / Math.PI)
},
gb: function (a) {
a = g.a.Ka(a)
return a instanceof g.U ? 1e-9 >= Math.max(Math.abs(this.Q - a.Q), Math.abs(this.R - a.R)) : !1
},
toString: function () {
return g.a.wb(this.R, 6) + ',' + g.a.wb(this.Q, 6)
},
wl: function () {
return [this.R, this.Q]
},
cb: function () {
var a = this.controlPoints,
b = new g.U(this.R, this.Q)
a && (b.controlPoints = [].concat(a))
return b
},
})
g.U.Nqa = function (a, b, c) {
c = c + 1 || Math.round(Math.abs(a.R - b.R))
if (!c || 0.001 > Math.abs(a.R - b.R)) return []
var d = [],
e = Math.PI,
f = g.Lm.Pu,
h = g.Lm.iwa,
k = Math.asin,
l = Math.sqrt,
m = Math.sin,
n = Math.pow,
p = Math.cos,
q = Math.atan2,
r = a.Q * f
a = a.R * f
var s = b.Q * f
b = b.R * f
for (var k = 2 * k(l(n(m((r - s) / 2), 2) + p(r) * p(s) * n(m((a - b) / 2), 2))), u, v, w, t, f = 1; f < c; f += 1)
(u = (1 / c) * f),
(v = m((1 - u) * k) / m(k)),
(w = m(u * k) / m(k)),
(u = v * p(r) * p(a) + w * p(s) * p(b)),
(t = v * p(r) * m(a) + w * p(s) * m(b)),
(v = v * m(r) + w * m(s)),
(v = q(v, l(n(u, 2) + n(t, 2)))),
(u = q(t, u)),
b > a ? (u < a && (u += 2 * e), u > b && (u -= 2 * e)) : (u > a && (u -= 2 * e), u < b && (u += 2 * e)),
d.push(new g.U(u * h, v * h, !0))
return d
}
g.U.Xb({ AR: 'getLng', xR: 'getLat', add: 'add', ab: 'subtract', ld: 'divideBy', Nd: 'multiplyBy', Ge: 'distance', offset: 'offset', gb: 'equals', toString: 'toString' })
g.oe = g.da.extend({
A: function () {
this.CLASS_NAME = 'AMap.Bounds'
var a = null,
b = null
if (1 === arguments.length && arguments[0] instanceof Array) (a = new g.U(arguments[0][0], arguments[0][1], !0)), (b = new g.U(arguments[0][2], arguments[0][3], !0))
else if (2 === arguments.length) (a = g.a.Ka(arguments[0])), (b = g.a.Ka(arguments[1]))
else if (4 === arguments.length) (a = new g.U(arguments[0], arguments[1])), (b = new g.U(arguments[2], arguments[3]))
else if (0 === arguments.length) (a = new g.U(-180, -90)), (b = new g.U(180, 90))
else throw 'Invalid Object: Bounds(' + arguments.join(',') + ')'
this.wc = a
this.nc = b
},
iv: function () {
return this.wc
},
Py: function () {
return this.nc
},
dk: function () {
return new g.U(this.wc.R, this.nc.Q, !0)
},
Oo: function () {
return new g.U(this.nc.R, this.wc.Q, !0)
},
contains: function (a) {
var b = this.wc,
c = this.nc,
d
if (a instanceof g.tp) return this.dV().contains(a)
a instanceof g.oe ? ((d = a.wc), (a = a.nc)) : (d = a = g.a.Ka(a))
var e = d.R,
f = b.R,
h = a.R,
k = c.R
f > k && ((k += 360), 0 > e && (e += 360), 0 > h && (h += 360))
return d.Q >= b.Q && a.Q <= c.Q && e >= f && h <= k
},
Zg: function (a) {
var b = this.wc,
c = this.nc,
d = a.wc
a = a.nc
var e = a.R >= b.R && d.R <= c.R
return a.Q >= b.Q && d.Q <= c.Q && e
},
xi: function () {
return new g.U(this.wc.R > this.nc.R ? ((this.wc.R + this.nc.R + 360) / 2) % 360 : (this.wc.R + this.nc.R) / 2, (this.wc.Q + this.nc.Q) / 2)
},
extend: function (a) {
this.wc.R = Math.min(this.wc.R, a.R)
this.wc.Q = Math.min(this.wc.Q, a.Q)
this.nc.R = Math.max(this.nc.R, a.R)
this.nc.Q = Math.max(this.nc.Q, a.Q)
return this
},
rza: function (a) {
return this.extend(a.wc).extend(a.nc)
},
toString: function () {
return this.wc.toString() + ';' + this.nc.toString()
},
cb: function () {
return new g.oe(this.wc.cb(), this.nc.cb())
},
gb: function (a) {
return a instanceof g.oe ? this.wc.gb(a.wc) && this.nc.gb(a.nc) : !1
},
vj: function () {
return Math.abs(this.nc.R - this.wc.R)
},
tj: function () {
return Math.abs(this.wc.Q - this.nc.Q)
},
dV: function (a) {
var b = [this.iv(), this.Oo(), this.Py(), this.dk()]
a && b.push(this.iv())
return new g.tp(b)
},
zya: function (a) {
return new g.Wf(a.kc(this.dk(), 20), a.kc(this.Oo(), 20))
},
sR: function (a, b) {
return this.dV(b).sR(a)
},
pR: function (a) {
return this.zya(a).xi()
},
})
g.oe.Xb({ iv: 'getSouthWest', Py: 'getNorthEast', dk: 'getNorthWest', Oo: 'getSouthEast', contains: 'contains', Zg: 'intersects', xi: 'getCenter', extend: 'extend' })
g.H = g.da.extend({
A: function (a, b, c) {
if (isNaN(a) || isNaN(b)) throw 'Invalid Object: Pixel(' + a + ', ' + b + ')'
this.x = c ? Math.round(a) : Number(a)
this.y = c ? Math.round(b) : Number(b)
},
vf: function () {
return this.x
},
ue: function () {
return this.y
},
add: function (a, b) {
return new g.H(this.x + a.x, this.y + a.y, b)
},
ab: function (a, b) {
return new g.H(this.x - a.x, this.y - a.y, b)
},
ld: function (a, b) {
return new g.H(this.x / a, this.y / a, b)
},
Nd: function (a, b) {
return new g.H(this.x * a, this.y * a, b)
},
Ge: function (a) {
var b = a.x - this.x
a = a.y - this.y
return Math.sqrt(b * b + a * a)
},
floor: function () {
return new g.H(Math.floor(this.x), Math.floor(this.y))
},
round: function () {
return new g.H(this.x, this.y, !0)
},
gb: function (a) {
return a instanceof g.H && this.x === a.x && this.y === a.y
},
cb: function (a) {
return new g.H(this.x, this.y, a)
},
toString: function () {
return this.x + ',' + this.y
},
wl: function () {
return [this.x, this.y]
},
length: function () {
return Math.sqrt(this.x * this.x + this.y * this.y)
},
direction: function () {
var a = this.x,
b = this.y
if (0 === a && 0 === b) return null
if (0 === a) return 0 < b ? 90 : 270
var c = (180 * Math.atan(b / a)) / Math.PI
return 0 > a && 0 < b ? c + 180 : 0 > a && 0 > b ? c + 180 : 0 < a && 0 > b ? c + 360 : c
},
Lu: function (a) {
var b = this.length(),
c = a.length()
return b && c ? (180 * Math.acos((this.x * a.x + this.y * a.y) / c / b)) / Math.PI : null
},
uoa: function (a) {
var b = this.length(),
c = a.length()
return b && c ? (this.x * a.x + this.y * a.y) / c / b : null
},
toFixed: function (a) {
this.x = g.a.wb(this.x, a)
this.y = g.a.wb(this.y, a)
return this
},
})
g.H.Xb({ vf: 'getX', ue: 'getY', add: 'add', ab: 'subtract', ld: 'divideBy', Nd: 'multiplyBy', Ge: 'distance', gb: 'equals', toString: 'toString' })
g.xd = g.da.extend({
A: function (a, b, c) {
if (isNaN(a) || isNaN(b)) throw 'Invalid Object: Size(' + a + ', ' + b + ')'
this.width = c ? Math.round(a) : Number(a)
this.height = c ? Math.round(b) : Number(b)
},
cb: function () {
return new g.xd(this.width, this.height)
},
vj: function () {
return this.width
},
tj: function () {
return this.height
},
PE: function () {
return new g.H(this.vj(), this.tj())
},
contains: function (a) {
return Math.abs(a.x) <= Math.abs(this.width) && Math.abs(a.y) <= Math.abs(this.height)
},
gb: function (a) {
return a instanceof g.xd && this.width === a.width && this.height === a.height
},
toString: function () {
return this.vj() + ',' + this.tj()
},
})
g.xd.Xb({ vj: 'getWidth', tj: 'getHeight', toString: 'toString' })
g.tp = g.da.extend({
A: function (a) {
this.CLASS_NAME = 'AMap.ArrayBounds'
a = g.a.Ka(a)
this.path = []
for (var b = 0; b < a.length; b += 1) this.path.push([a[b].R, a[b].Q])
this.bounds = this.Rd = a
},
contains: function (a, b) {
if (a instanceof g.tp) return g.Ft.isRingInRing(a.path, this.path)
a instanceof g.H ? (a = [a.x, a.y]) : a instanceof g.U && (a = [a.R, a.Q])
return g.wd.Sd(a, this.path, b)
},
toBounds: function () {
for (var a = new g.oe(180, 90, -180, -90), b = this.Rd.length - 1; 0 <= b; b -= 1) a.extend(this.Rd[b])
return a
},
sR: function (a) {
for (var b = [], c = 0; c < this.path.length; c += 1) b[c] = a.kc(this.path[c], 20)
return b
},
pR: function (a) {
return this.toBounds().pR(a)
},
xi: function () {
return this.toBounds().xi()
},
toString: function () {
return this.path.join(';')
},
})
g.tp.Xb({ contains: 'contains', xi: 'getCenter' })
g.daa = g.tp.extend({
A: function (a) {
this.CLASS_NAME = 'AMap.CoordsBounds'
this.path = a
if (a[0] instanceof g.H) {
this.path = []
for (var b = 0; b < a.length; b += 1) this.path.push([a[b].x, a[b].y])
}
this.bounds = this.Rd = a
},
toString: function () {
return this.path.join(';')
},
})
g.Wf = g.da.extend({
A: function () {
if (2 === arguments.length) (this.hc = arguments[0]), (this.Vd = arguments[1])
else if ((1 === arguments.length && arguments[0] instanceof Array) || 4 === arguments.length) {
var a = arguments[0] instanceof Array ? arguments[0] : arguments
this.hc = new g.H(a[0], a[1])
this.Vd = new g.H(a[2], a[3])
} else throw 'Invalid Object: PixelBounds(' + arguments.join(',') + ')'
},
xi: function (a) {
return new g.H((this.hc.x + this.Vd.x) / 2, (this.hc.y + this.Vd.y) / 2, a)
},
contains: function (a) {
var b
a instanceof g.Wf ? ((b = a.hc), (a = a.Vd)) : (b = a)
return b.x > this.hc.x && a.x < this.Vd.x && b.y > this.hc.y && a.y < this.Vd.y
},
vj: function () {
return this.Vd.x - this.hc.x
},
tj: function () {
return this.Vd.y - this.hc.y
},
Zg: function (a, b) {
b || 0 === b || (b = 20)
var c = this.hc,
d = this.Vd,
e = a.hc,
f = a.Vd,
h = f.y >= c.y - b && e.y <= d.y + b
return f.x >= c.x - b && e.x <= d.x + b && h
},
toString: function () {
return this.hc + ';' + this.Vd
},
cb: function () {
return new g.Wf(this.hc.cb(), this.Vd.cb())
},
})
g.I = {}
g.I.QP = function (a) {
for (var b = [Infinity, Infinity, -Infinity, -Infinity], c = 0, d = a.length; c < d; c += 1) g.I.II(b, a[c])
return b
}
g.I.a2 = function (a, b, c) {
var d = Math.min.apply(null, a)
a = Math.max.apply(null, a)
var e = Math.min.apply(null, b)
b = Math.max.apply(null, b)
return g.I.qoa(d, a, e, b, c)
}
g.I.buffer = function (a, b) {
a[0] -= b
a[1] -= b
a[2] += b
a[3] += b
}
g.I.cb = function (a) {
return a.slice()
}
g.I.Sd = function (a, b) {
return a[0] <= b[0] && b[0] <= a[2] && a[1] <= b[1] && b[1] <= a[3]
}
g.I.N2 = function (a, b) {
return a[0] <= b[0] && b[2] <= a[2] && a[1] <= b[1] && b[3] <= a[3]
}
g.I.oDa = function () {
return [Infinity, Infinity, -Infinity, -Infinity]
}
g.I.qoa = function (a, b, c, d, e) {
return 'undefined' !== typeof e ? ((e[0] = a), (e[2] = b), (e[1] = c), (e[3] = d), e) : [a, c, b, d]
}
g.I.empty = function (a) {
a[0] = a[1] = Infinity
a[2] = a[3] = -Infinity
return a
}
g.I.gb = function (a, b) {
return a[0] === b[0] && a[2] === b[2] && a[1] === b[1] && a[3] === b[3]
}
g.I.extend = function (a, b) {
b[0] < a[0] && (a[0] = b[0])
b[2] > a[2] && (a[2] = b[2])
b[1] < a[1] && (a[1] = b[1])
b[3] > a[3] && (a[3] = b[3])
}
g.I.II = function (a, b) {
b[0] < a[0] && (a[0] = b[0])
b[0] > a[2] && (a[2] = b[0])
b[1] < a[1] && (a[1] = b[1])
b[1] > a[3] && (a[3] = b[1])
}
g.I.hEa = function (a) {
return [a[0], a[1]]
}
g.I.iEa = function (a) {
return [a[2], a[1]]
}
g.I.xi = function (a) {
return [(a[0] + a[2]) / 2, (a[1] + a[3]) / 2]
}
g.I.uEa = function (a, b, c, d, e) {
var f = (b * d[0]) / 2
d = (b * d[1]) / 2
b = Math.cos(c)
c = Math.sin(c)
f = [-f, -f, f, f]
d = [-d, d, -d, d]
var h, k, l
for (h = 0; 4 > h; h += 1) (k = f[h]), (l = d[h]), (f[h] = a[0] + k * b - l * c), (d[h] = a[1] + k * c + l * b)
return g.I.a2(f, d, e)
}
g.I.tj = function (a) {
return a[3] - a[1]
}
g.I.IEa = function (a) {
return [a[2] - a[0], a[3] - a[1]]
}
g.I.NEa = function (a) {
return [a[0], a[3]]
}
g.I.OEa = function (a) {
return [a[2], a[3]]
}
g.I.vj = function (a) {
return a[2] - a[0]
}
g.I.Zg = function (a, b) {
return a[0] <= b[2] && a[2] >= b[0] && a[1] <= b[3] && a[3] >= b[1]
}
g.I.uh = function (a) {
return a[2] < a[0] || a[3] < a[1]
}
g.I.normalize = function (a, b) {
return [(b[0] - a[0]) / (a[2] - a[0]), (b[1] - a[1]) / (a[3] - a[1])]
}
g.I.pHa = function (a, b) {
var c = ((a[2] - a[0]) / 2) * (b - 1),
d = ((a[3] - a[1]) / 2) * (b - 1)
a[0] -= c
a[2] += c
a[1] -= d
a[3] += d
}
g.I.touches = function (a, b) {
return g.I.Zg(a, b) && (a[0] === b[2] || a[2] === b[0] || a[1] === b[3] || a[3] === b[1])
}
g.I.transform = function (a, b, c) {
a = [a[0], a[1], a[0], a[3], a[2], a[1], a[2], a[3]]
b(a, a, 2)
return g.I.a2([a[0], a[2], a[4], a[6]], [a[1], a[3], a[5], a[7]], c)
}
g.oe.Hb({
A: (function () {
var a = g.oe.prototype.A
return function () {
a.apply(this, arguments)
this.southwest = this.wc
this.northeast = this.nc
}
})(),
extend: (function () {
var a = g.oe.prototype.extend
return function () {
a.apply(this, arguments)
this.wc.lng = this.wc.R
this.wc.lat = this.wc.Q
this.nc.lng = this.nc.R
this.nc.lat = this.nc.Q
return this
}
})(),
})
g.KF = g.da.extend({
A: function (a, b, c, d) {
this.eX = a
this.uX = b
this.IX = c
this.eY = d
},
transform: function (a, b) {
return this.s1(a.cb(), b)
},
s1: function (a, b) {
b = b || 1
a.x = b * (this.eX * a.x + this.uX)
a.y = b * (this.IX * a.y + this.eY)
return a
},
tza: function (a, b) {
b = b || 1
return new g.H((a.x / b - this.uX) / this.eX, (a.y / b - this.eY) / this.IX)
},
})
g.zp = g.da.extend({
A: function (a) {
this.UL = a.MAX_LATITUDE || 85.0511287798
a.project && a.unproject && ((this.kc = a.project), (this.Wh = a.unproject))
},
})
g.zp.pW = {
kc: function (a) {
return new g.H(a.R, a.Q)
},
Wh: function (a, b) {
return new g.U(a.x, a.y, b)
},
}
g.zp.pba = new g.zp({
MAX_LATITUDE: 85.0511287798,
project: function (a) {
var b = Math.PI / 180,
c = this.UL,
c = Math.max(Math.min(c, a.Q), -c)
a = a.R * b
b = Math.log(Math.tan(Math.PI / 4 + (c * b) / 2))
return new g.H(a, b, !1)
},
unproject: function (a, b) {
var c = 180 / Math.PI
return new g.U(a.x * c, (2 * Math.atan(Math.exp(a.y)) - Math.PI / 2) * c, b)
},
})
g.zp.tW = {
UL: 85.0840591556,
gM: 6356752.3142,
fM: 6378137,
kc: function (a) {
var b = Math.PI / 180,
c = this.UL,
d = Math.max(Math.min(c, a.Q), -c),
e = this.fM,
c = this.gM
a = a.R * b * e
b *= d
e = c / e
e = Math.sqrt(1 - e * e)
d = e * Math.sin(b)
d = Math.pow((1 - d) / (1 + d), 0.5 * e)
b = Math.tan(0.5 * (0.5 * Math.PI - b)) / d
b = -c * Math.log(b)
return new g.H(a, b)
},
Wh: function (a, b) {
for (
var c = 180 / Math.PI, d = this.fM, e = this.gM, f = (a.x * c) / d, d = e / d, d = Math.sqrt(1 - d * d), e = Math.exp(-a.y / e), h = Math.PI / 2 - 2 * Math.atan(e), k = 15, l = 0.1;
1e-7 < Math.abs(l) && ((k -= 1), 0 < k);
)
(l = d * Math.sin(h)), (l = Math.PI / 2 - 2 * Math.atan(e * Math.pow((1 - l) / (1 + l), 0.5 * d)) - h), (h += l)
return new g.U(f, h * c, b)
},
}
g.Zh = {}
g.Zh.pF = {
MD: function (a, b) {
var c = this.Pf.kc(a),
d = this.scale(b)
return this.UE.s1(c, d)
},
lE: function (a, b, c) {
b = this.scale(b)
a = this.UE.tza(a, b)
return this.Pf.Wh(a, c)
},
kc: function (a) {
return this.Pf.kc(a)
},
scale: function (a) {
return 256 << a
},
nq: function (a) {
return (12756274 * Math.PI) / (256 * Math.pow(2, a))
},
}
g.Zh.IL = g.extend({}, g.Zh.pF, {
code: 'EPSG:3857',
Pf: g.zp.pba,
UE: new g.KF(0.5 / Math.PI, 0.5, -0.5 / Math.PI, 0.5),
kc: function (a) {
return this.Pf.kc(a).Nd(6378137)
},
})
g.Zh.$V = g.extend({}, g.Zh.pF, {
code: 'EPSG:3395',
Pf: g.zp.tW,
UE: (function () {
var a = g.zp.tW
return new g.KF(0.5 / (Math.PI * a.fM), 0.5, -0.5 / (Math.PI * a.gM), 0.5)
})(),
})
g.Zh.aW = g.extend({}, g.Zh.pF, { code: 'EPSG:4326', Pf: g.zp.pW, UE: new g.KF(1 / 360, 0.5, -1 / 360, 0.25) })
g.Zh.YAa = g.extend({}, g.Zh.pF, { Pf: g.zp.pW, UE: new g.KF(1, 0, 1, 0) })
g.RJ = {
kc: function (a, b) {
a = g.a.Ka(a)
return this.mj.MD(a, b || this.get('zoom'))
},
Wh: function (a, b, c) {
return this.mj.lE(a, b || this.get('zoom'), c)
},
ota: function (a, b) {
return this.kc(a, b)
},
eEa: function (a, b) {
return this.Wh(a, b)
},
$p: function (a, b, c) {
g.c.add(this, 'containerToLngLat')
var d = this.get('size').PE().ld(2)
if (a.gb(d) && !c) return this.get('center')
a = this.yg(a, b, c)
return this.Od(a)
},
Ls: function (a, b) {
g.c.add(this, 'lngLatToContainer')
var c = 0
b && (c = 'string' === typeof b ? Math.round(parseFloat(b) / 0.14929107086948487) : b)
var d = this.Bb(a)
return this.Xd(d, null, c)
},
Bb: function (a) {
a = g.a.Ka(a)
return this.kc(a, 20)
},
Od: function (a) {
return a ? this.Wh(a, 20) : a
},
LJ: function (a) {
a = g.a.Ka(a)
return this.kc(a, 20).ab(g.a.dc)
},
m6: function (a, b) {
b || (a = g.a.Ka(a))
var c = [],
d = !1
void 0 === a[0].length && (d = !0)
for (var c = [], e = 0, f = a.length; e < f; e += 1)
if (d) {
var h = this.kc(a[e], 20).ab(g.a.dc)
c[e] = [h.x, h.y]
} else c[e] = this.m6(a[e], !0)
return c
},
kqa: function (a) {
return this.Wh(a.add(g.a.dc), 20)
},
fEa: function (a) {
return this.Xd(a.add(g.a.dc))
},
nEa: function (a) {
return a ? this.kc(this.get('center'), a) : this.get('centerPixel')
},
GBa: function (a) {
return new g.H(a.x + 2.0037508342789244e7, 2.0037508342789244e7 - a.y).ld(0.14929107086948487)
},
t7: function (a) {
return new g.H(0.14929107086948487 * a.x - 2.0037508342789244e7, 2.0037508342789244e7 - 0.14929107086948487 * a.y)
},
}
z.NF = g.da.extend({
ka: [g.va, g.Ze],
w: { center: new g.U(116.397128, 39.916527), zoom: 13, rotation: 0, crs: 'EPSG3857' },
A: function (a) {
this.CLASS_NAME = 'AMap.View2D'
g.c.ya(this, a)
a = a || {}
a.center && (a.center = g.a.Ka(a.center))
this.w = a
},
})
z.Rb = g.da.extend({
ka: [g.va, g.Ze, g.RJ],
w: {
features: 'all',
showLabel: !0,
dragEnable: !0,
showIndoorMap: g.l.ba ? !1 : !0,
lang: 'zh_cn',
keyboardEnable: !0,
doubleClickZoom: !0,
scrollWheel: !0,
zoomEnable: !0,
jogEnable: !0,
continuousZoomEnable: !0,
resizeEnable: !1,
animateEnable: !0,
rotateEnable: !1,
labelzIndex: 99,
showFog: !0,
touchZoom: !0,
zooms: [3, g.l.ba ? (g.l.Jc ? 19 : 20) : 18],
defaultCursor: '',
limitBounds: null,
logoUrl: g.r.Gb + '/theme/v1.3/logo@1x.png',
logoUrlRetina: g.r.Gb + '/theme/v1.3/logo@2x.png',
copyright: '\x3c!--v1.4.16--\x3e © ' + new Date().getFullYear() + ' AutoNavi ',
isHotspot: !g.l.ba,
baseRender: g.l.T1,
overlayRender: g.l.kva,
mapStyle: 'amap://styles/normal',
showBuildingBlock: g.l.Mf,
crs: 'EPSG3857',
rotation: 0,
pitch: 0,
yaw: 0,
scale: 1,
center: new g.U(116.397128, 39.916527),
zoom: 13,
detectRetina: !0,
pitchEnable: !1,
buildingAnimation: !1,
maxPitch: 83,
turboMode: !0,
preloadMode: !1,
workerMode: !0,
},
poiOnAMAP: function (a) {
g.c.add(this, 'poiOnAMAP')
var b = {},
c = g.a.Ka(a.location)
b.id = a.id
c && ((b.y = c.Q), (b.x = c.R))
b.name = a.name
b.address = a.address
g.$h.mt(g.$h.u4(b))
},
detailOnAMAP: function (a) {
g.c.add(this, 'detailOnAMAP')
var b = {},
c = g.a.Ka(a.location)
b.id = a.id
c && ((b.y = c.Q), (b.x = c.R))
b.name = a.name
g.$h.mt(g.$h.s4(b))
},
setLabelzIndex: function (a) {
g.c.add(this, 'setLabelzIndex')
return this.set('labelzIndex', a)
},
getLabelzIndex: function () {
return this.get('labelzIndex', null, !0)
},
setVectorMapForeign: function (a) {
if (g.l.Xp) {
var b = this.Z6(a)
a = b[0]
var c = b[1]
this.set('name_field', c, !0)
this.set('vectorMapForeign', a, !0)
var d = this,
b = []
a && (b.push('gridmap'), b.push('MVT', 'vectorForeign'), b.push('labelcanvas'))
g.tb.Fg(b, function () {
d.q6(function () {
d.map &&
((d.map.Fi = !0),
d.map.EG && d.map.EG(),
d.map.Re && d.map.Re instanceof g.Rb.CF && d.map.Re.he && d.map.Re.he.S && (d.map.Re.he.S.dI(), (d.map.Re.he.S.K6 = c), d.map.Re.he.S.reload()),
d.set('display'))
})
})
}
},
setMapStyle: function (a) {
g.c.add(this, 'setMapStyle')
a = a || 'normal'
;-1 === a.indexOf('amap://styles/') ? (g.r.dK[a] ? this.set('styleUrl', 'amap://styles/' + g.r.dK[a]) : this.set('styleUrl', '')) : this.set('styleUrl', a)
this.ZS()
},
getMapStyle: function () {
return this.get('styleUrl') || this.get('mapStyle', null, !0)
},
getFeatures: function () {
return this.get('features', null, !0)
},
setFeatures: function (a) {
g.c.add(this, 'setFeatures')
this.set('features', a)
},
setLang: function (a) {
g.c.add(this, 'setLang', a)
;('en' !== a && 'zh_cn' !== a && 'zh_en' !== a) || a === this.get('lang', null, !0) || (this.set('lang', a), this.hk && this.hk.z8(this))
},
getLang: function () {
return this.get('lang', null, !0)
},
setCity: function (a, b) {
g.c.add(this, 'setCity')
var c = this
new g.jb.zb(g.r.Zd + '/v3/config/district?subdistrict=0&extensions=all&key=' + g.r.key + '&s=rsv3&output=json&keywords=' + a, { callback: 'callback' }).h(
'complete',
function (d) {
var e = d.districts
if (e && e.length) {
d = e[0]
;/[^\w]+/.test(a) &&
(e = g.a.find(e, function (b) {
return b.name === a
})) &&
e !== d &&
(d = e)
try {
var f = d.center.split(','),
h
switch (d.level) {
case 'city':
h = 10
break
case 'province':
h = 7
break
case 'district':
h = 12
break
case 'country':
h = 4
break
default:
h = 12
}
;-1 !== d.name.indexOf('\u5e02') && (h = 10)
c.C = !0
c.setZoomAndCenter(h, new g.U(f[0], f[1]), !0)
c.C = !1
b && b.call(c, f, h)
} catch (k) {}
}
},
this
)
},
getScreenShot: function (a, b) {
g.c.add(this, 'getScreenShot')
return this.map && g.l.il ? this.map.E4(a, b) : ''
},
getCity: function (a, b) {
g.c.add(this, 'getCity')
var c = g.r.Zd + '/v3/geocode/regeo?&extensions=&&key=' + g.r.key + '&s=rsv3&output=json&location=' + (b || this.get('center', null, !0))
new g.jb.zb(c, { callback: 'callback', gy: !0, Ed: 'REGEO' }).h(
'complete',
function (b) {
b = b.regeocode.addressComponent
a({
province: b.province,
city: b.city instanceof Array ? '' : b.city,
citycode: b.citycode instanceof Array ? '' : b.citycode,
district: b.district instanceof Array ? '' : b.district,
})
},
this
)
},
A: function (a, b) {
b = g.extend({}, b)
this.id = g.a.yb(this)
this.CLASS_NAME = 'AMap.Map'
g.c.ya(this, b)
this.C = !0
b = b || {}
b.mapStyle && g.r.dK[b.mapStyle] && (b.mapStyle = 'amap://styles/' + g.r.dK[b.mapStyle])
b.mapStyle && -1 !== b.mapStyle.indexOf('amap://styles/') ? ((b.styleUrl = b.mapStyle), delete b.mapStyle) : (b.styleUrl = 'amap://styles/normal')
b.bgColor && g.extend(g.r.De, b.bgColor)
b.maxPitch && (b.maxPitch = Math.min(this.w.maxPitch, Math.max(b.maxPitch, 0)))
b.pitch && (b.pitch = Math.min(b.maxPitch || this.w.maxPitch, Math.max(b.pitch, 0)))
'3D' !== b.viewMode && (b.pitch = 0)
g.r.Vr = b.buildingColor || null
b.mobile && (g.l.ba = !0)
b.noPoi && (g.r.wua = !0)
b.editEnable = g.r.RQ ? b.editEnable : !1
b.editEnable && ((b.nolimg = !0), (b.showIndoorMap = !1))
void 0 !== b.nolimg && (b.nolimg_param = b.nolimg)
'3D' === b.viewMode && g.l.qp && void 0 === b.showBuildingBlock && !0 === b.showBuildingBlock
this.wq = !!b.enableSocket
b.server && (g.r.Zd = b.server)
b.vdataUrl && (g.r.vL = b.vdataUrl)
if ('string' === typeof a) {
if (((a = this.K = document.getElementById(a)), !a)) return
} else 'DIV' === a.tagName && (this.K = a)
if (this.K.___amap___) {
var c = this.K.___amap___
c.C = !0
c.destroy()
c.C = !1
}
this.K.___amap___ = this
var c = this.w.zooms[1],
d = this.w.zooms[0]
b.zooms ? ((b.zooms[0] = Math.max(d, b.zooms[0])), !0 === b.expandZoomRange && (c = g.l.ba ? (g.l.Jc ? 19 : 20) : 20), (b.zooms[1] = Math.min(c, b.zooms[1]))) : (b.zooms = [d, c])
b.forceZooms && (b.zooms = b.forceZooms)
b = this.ina(b)
c = this.getSize(!0)
b.center && (b.center = g.a.Ka(b.center))
this.mj = this.roa(b.crs || this.w.crs, b.center || this.w.center)
this.nma(c, b)
d = b.lang
'en' !== d && 'zh_cn' !== d && 'zh_en' !== d && (b.lang = 'zh_cn')
g.f.pg || ((b.rotation = 0), (b.pitch = 0), (b.rotateEnable = !1))
b.preloadMode = !1
g.l.GS ? !1 !== b.workerMode && (z.Rb.Pt ? ((b.workerMode = !1), z.Rb.Pt++) : (z.Rb.Pt = 1)) : (b.workerMode = !1)
b.layers && ((d = b.layers), delete b.layers, (b.layers = d))
b.baseRender = b.baseRender || g.l.T1
b.forceVector && (b.baseRender = g.l.Mf ? 'vw' : 'v')
b.disableVector && (b.baseRender = 'd')
'dom' === b.renderer && ((b.baseRender = 'd'), (b.overlayRender = 'd'))
c = Math.max(c.width, c.height)
g.l.ja && (c *= Math.min(2, window.devicePixelRatio || 1))
'vw' === b.baseRender && c > g.l.Vta && (b.baseRender = 'dv')
c = b.vectorMapForeign
'd' == b.baseRender && c && (b.vectorMapForeign = !1)
c && !g.l.Xp && (b.vectorMapForeign = !1)
c = this.Z6(b.vectorMapForeign)
b.vectorMapForeign = c[0]
b.name_field = c[1]
b.turboMode = !1
g.a.ub(this, b)
this.jf(this.w)
'rotateEnable' in b || '3D' !== b.viewMode || !g.l.qp || this.set('rotateEnable', !0)
'pitchEnable' in b || '3D' !== b.viewMode || !g.l.qp || this.set('pitchEnable', !0)
c = this.get('zoom', null, !0)
;('3D' === this.get('viewMode') && g.l.qp) || (c = Math.round(c))
d = this.get('zooms')
c > d[1] ? (c = d[1]) : c < d[0] && (c = d[0])
this.set('zoom', c)
this.w.zoom = c
this.toa(this.w)
this.cQ()
var e = this
this.jf({ overlays: [], infos: {}, controls: {} })
var f = []
b.vectorMapForeign && f.push('gridmap')
b.vectorMapForeign && g.l.Xp && f.push('MVT', 'vectorForeign')
b.forceVector && (f.push('vectorlayer'), f.push('overlay'))
'3D' === b.viewMode && g.l.qp && f.push('Map3D')
g.l.il && (b.vectorMapForeign || b.mapStyle || b.nolimg) && f.push('labelcanvas')
b.editEnable && f.push('edit')
g.l.il && (f.push('AMap.IndoorMap'), -1 !== f.indexOf('Map3D') && f.push('AMap.IndoorMap3D'))
this.ja = g.l.ja && this.get('detectRetina')
this.t$(b)
this.C = !1
e = this
this.Fta(function () {
e.q6(function () {
g.tb.Fg(f, function () {
if (!e.get('destroy')) {
var b = new g.Rb(a, e)
if (g.Te) {
var c = (g.Te[0] || g.Te).stylemaps['50001:1'].browserStyle[0].split('&')
b.VF = [c[0], c[4]]
}
b.af('zoom center centerCoords rotation yaw pitch resolution'.split(' '), e.view, !0)
b.h(
'complete',
function () {
var a = {}
b.J && '3D' == b.J.type && ((a.canvas = b.J.xa), (a.gl = b.J.ca))
this.q('complete', a)
},
e,
!0
)
b.mj = e.mj
e.af(['zoomSlow', 'panTo', 'targetLevel', 'render'], b)
b.af(['size', 'bounds'], e)
e.loaded = !0
e.q('coreMapCreated')
g.l.il && e.Pla()
e.C = !0
'3D' === e.view.type && (e.AmbientLight || (e.AmbientLight = new g.Sw.PV([1, 1, 1], 0.9)), e.DirectionLight || (e.DirectionLight = new g.Sw.ZV([0, -1, 1], [1, 1, 1], 0.1)))
e.C = !1
}
})
})
})
},
Z6: function (a) {
if (a) {
if ('string' == typeof a && 'style_' === a.substr(0, 6)) return [a]
switch (a) {
case !0:
case 'Chinese_Simplified':
return ['style_zh_cn']
case 'English':
return ['style_en']
case 'Local':
return ['style_local']
case 'Chinese_Traditional':
return ['style_en', ['coalesce', '{name_zh-Hant}', '{name}']]
default:
return ['style_zh_cn']
}
} else return [!1]
},
q6: function (a) {
try {
var b = this.get('vectorMapForeign')
if (b)
if (((g.PJ = 0), (g.OJ = 0), 'string' == typeof b && 'style_' == b.substr(0, 6))) {
var c = this,
d,
e = b.slice(6)
32 == e.length
? ((c.js = !0),
(g.r.aqa = g.r.SI + 'style_local/'),
(d = g.r.tc + '://restapi.amap.com/v4/sdk/map/styles?styleid=' + e + '&key=' + g.r.key + '&sdkType=abroad_js_json&s=rsv3'),
(d += '&platform=JS&logversion=2.0'),
(d += '&appname=' + g.r.Up),
(d += '&csid=' + g.a.Bw()),
(d += '&sdkversion=' + g.r.ln))
: ((c.js = !1), (g.r.aqa = g.r.SI + b + '/'), (d = g.r.Gb + '/styles/foreign/web_v8_' + b + '.json'))
var f = new g.jb.XMLHttpRequest(d, { pU: 'application/json', responseType: 'json' })
f.h(
'complete',
function (b) {
if (b && b.data && !b.data.MDa) {
if (b.data.style) b = b.data
else if ('string' === typeof b.data) b = JSON.parse(b.data)
else {
c.set('vectorMapForeign', !1)
c.js = !1
a()
return
}
var d = b.hole
if (d) {
g.oy = []
for (var e = 0, f = d.length; e < f - 1; e += 2) {
var h = c.kc([d[e + 1], d[e]], 16)
g.oy.push([h.x >> 0, h.y >> 0])
}
}
;(d = b.style) && d.layers && ((g.Ota = d.layers), b.zoomlevel && ((g.PJ = b.zoomlevel[0]), (g.OJ = b.zoomlevel[1])))
} else (c.js = !1), c.set('vectorMapForeign', !1)
a()
},
this
)
f.h(
'error',
function () {
c.js = !1
c.set('vectorMapForeign', !1)
a()
},
this
)
} else (this.js = !1), this.set('vectorMapForeign', !1), a()
else (this.js = !1), this.set('vectorMapForeign', !1), a()
} catch (h) {
;(this.js = !1), this.set('vectorMapForeign', !1), a()
}
},
Fta: function (a) {
function b() {
var a = AMap.anole,
b = {},
c = [],
d = 0,
e = void 0
if (a) {
for (var a = a.replace(/\?/g, ':').replace(/\//g, '&'), e = a.split(''), a = 0, f = e.length; a < f; a++) void 0 === b[e[a]] && ((b[e[a]] = d++), c.push(e[a]))
c.reverse()
d = 0
for (a = e.length; d < a; d++) e[d] = c[b[e[d]]]
a = e.join('')
g.Te = eval(a)
delete AMap.anole
}
}
if (g.l.Ue || g.Te) a()
else {
var c = !0
if (window.__AMapStyleSource) c = !1
else
try {
var d = JSON.parse(localStorage.getItem('_AMap_anole'))
d && d.version === g.l.lf && d.script && 100 < d.script.length ? eval(d.script) : (c = !1)
} catch (e) {
c = !1
}
if (c) b(), a()
else {
var f = document.createElement('script')
f.qDa = 'anonymous'
f.id = 'amap_anole_js'
f.src = window.__AMapStyleSource || g.r.tc + '://vdata.amap.com/style?v=' + g.r.ln + '&key=' + g.r.key + '&mapstyle=normal'
c = document
;(c.head || c.getElementsByTagName('head')[0] || c.body).appendChild(f)
f.onload = function () {
if (!g.Te) {
if (AMap.anole && !window.__AMapStyleSource && g.l.Gv)
try {
var c = { version: g.l.lf, script: "AMap['anole']=" + JSON.stringify(AMap.anole) }
localStorage.setItem('_AMap_anole', JSON.stringify(c))
} catch (d) {}
b()
}
a()
f.parentNode.removeChild(f)
}
}
}
},
getViewMode_: function () {
return this.view.type
},
qqa: function (a, b, c) {
var d = new g.U(a[4], a[5])
if ((a = new g.oe(a[0], a[1], a[2], a[3])) && b && d) {
for (var e = c[1]; e > c[0]; e -= 1) {
var f = this.kc(a.wc, e),
h = this.kc(a.nc, e)
if (Math.abs(h.x - f.x) < b.width && Math.abs(f.y - h.y) < b.height) break
}
return [d, Math.min(e + 1, c[1])]
}
return null
},
nma: function (a, b) {
if (!(b && b.center && b.zoom)) {
var c = this.qqa(g.r.Rd, a, b.zooms)
b.center = b.center || (c && c[0])
'number' !== typeof b.zoom && (b.zoom = c && c[1])
}
},
roa: function (a, b) {
if (b instanceof g.U) {
if ('string' === typeof a) {
switch (a) {
case 'EPSG3395':
return g.Zh.$V
case 'EPSG4326':
return g.Zh.aW
}
return g.Zh.IL
}
if (a.pointToLngLat && a.lngLatToPoint) return { lE: a.pointToLngLat, MD: a.lngLatToPoint, nq: a.getResolution }
throw 'illegal projection'
}
var c = this.get('zoom', null, !0)
return {
nq: function (a) {
return Math.pow(2, c - a)
},
MD: function () {},
lE: function () {},
}
},
Lxa: function (a, b) {
this.ax && this.ax.stop()
var c = ['pitch', 'rotation', 'zoom', 'center'],
d = {},
e = !1,
f
for (f in a)
if (a.hasOwnProperty(f) && -1 !== g.a.indexOf(c, f)) {
var h = this.get(f)
void 0 === h || h === a[f] || (h.gb && h.gb(a[f])) || ((d[f] = this.get(f)), (e = !0))
}
e &&
((this.ax = new g.Kj(d, a, null, 0)),
(this.ax.transition = function (a, c, e) {
e /= b || 300
if (1 <= e) return c
var f = {},
h
for (h in d) d.hasOwnProperty(h) && (f[h] = 'center' === h ? a[h].add(c[h].ab(a[h]).Nd(e)) : a[h] + (c[h] - a[h]) * e)
return f
}),
(this.ax.Jq = function (b) {
b === a && (this.ax.stop(), (this.Fd = null))
for (var c in b) b.hasOwnProperty(c) && ('center' === c ? ((this.C = !0), this.setCenter(b[c], !0), (this.C = !1)) : this.set(c, b[c]))
}),
this.ax.Nn(this))
},
toa: function (a) {
'3D' === this.get('viewMode') && g.l.qp ? (this.set('baseRender', 'vw'), (this.view = new g.qM(this, a))) : (this.view = new g.NF(this, a))
this.o5()
},
o5: function () {
this.Bi = 'd' < this.get('baseRender') || '3D' === this.view.type
},
featuresChanged: function () {
this.cQ()
},
ZS: function () {
this.cQ()
this.KU()
},
KU: function () {
if (this.qm) {
var a = !0
this.C = !0
var b = this.getMapStyle()
if (!1 === this.get('showIndoorMap') || ('normal' !== b && 'amap://styles/normal' !== b)) a = !1
for (var b = this.getLayers(), c = (this.C = !1), d = 0, e = b.length; d < e; d += 1) {
if (b.hasOwnProperty(d) && 'AMap.IndoorMap' === b[d].CLASS_NAME && b[d] !== this.qm) {
a = !1
break
}
b[d].vq && b[d].vq() && b[d].get('visible') && (c = !0)
}
;(a = c && a) && this.qm.getMap() !== this && this.qm.setMap(this)
this.qm.set('visible', a)
}
},
cQ: function () {
this.t$()
if (this.view && '3D' !== this.view.type) {
var a = this.get('baseRender')
if (a && !('dv' < a)) {
var b = this.get('features', null, !0)
this.C = !0
var c = this.getMapStyle()
this.C = !1
var d = this.get('editEnable')
b &&
c &&
(g.l.Xp && (d || 'all' !== b || ('normal' !== c && 'amap://styles/normal' !== c))
? (this.set('baseRender', 'v'), (this.uT = a))
: this.uT && (this.set('baseRender', this.uT), (this.uT = null)))
this.o5()
}
}
},
Pla: function () {
var a = this
!a.qm &&
a.K &&
((a.indoorMap = a.qm = new AMap.IndoorMap({ innerLayer: !0 })),
a.KU(),
g.a.Wc(function () {
a.q('indoor_create', { target: a })
a.set('display')
}))
},
layersChanged: function () {
this.C = !0
var a = this.getLayers()
this.YJ = this.C = !1
for (var b = 0; b < a.length; b += 1) (a[b].C = !0), a[b].getMap() !== this && a[b].setMap(this), (a[b].C = !1), a[b].YJ && (this.YJ = !0)
this.KU()
},
getMapNumber: function () {
if (this.map) return this.map.tE()
},
getAdcode: function () {
g.c.add(this, 'getAdcode')
return g.r.Nla
},
t$: function () {
function a() {
var a = !1
g.a.Tb(
b.w.layers,
function (b) {
if (b.FG && b.constructor === z.o.rb) return (a = !0), !1
},
b
)
if (
g.a.ka(['d', 'dv'], b.get('baseRender')) ||
!g.a.ka(['normal', 'amap://styles/normal'], b.get('mapStyle')) ||
('3D' === b.get('viewMode') && 0 < b.get('pitch')) ||
'all' !== b.get('features') ||
b.get('editEnable') ||
!b.get('turboMode')
)
a = !1
return a
}
if (!this.d8) {
var b = this,
c = a(),
d = this.get('rasterLayer')
if (d && !c) this.sk(d), this.set('rasterLayer', void 0)
else if (!d && c && this.get('layers')) {
d = new z.o.rb({ innerLayer: !0, map: this, Sv: !0, zIndex: 0 })
d.Hsa = !0
if (this.w.layers) {
var e = null
g.a.Tb(this.w.layers, function (a) {
a instanceof z.o.rb && a.FG && (null === e || a.get('zIndex') > e.get('zIndex')) && (e = a)
})
e && d.af(['zIndex', 'opacity', 'zooms', 'visible'], e)
}
this.set('rasterLayer', d, !0)
}
}
},
ina: function (a) {
a || (a = {})
if (a.hasOwnProperty('defaultLayer')) {
a.layers = [a.defaultLayer]
var b = a.defaultLayer
b.GP = !0
this.set('defaultLayer', b, !0)
}
a.layers && 0 !== a.layers.length ? this.set('defaultLayer', a.layers[0], !0) : ((b = new z.o.rb({ innerLayer: !0 })), (a.layers = [b]), (b.GP = !0), this.set('defaultLayer', b, !0))
if ((b = a.view))
b.w.rotation && (a.rotation = b.w.rotation),
b.w.center && (a.center = b.w.center),
b.w.zoom && (a.zoom = Math.max(a.zooms[0], Math.min(a.zooms[1], b.w.zoom))),
b.w.crs && (a.crs = b.w.crs)
a.level && !a.zoom && (a.zoom = a.level)
return a
},
setLimitBounds: function (a) {
g.c.add(this, 'setLimitBounds')
a instanceof g.tp && ((a.C = !0), (a = a.toBounds()), (a.C = !1))
a instanceof g.oe || (a = null)
this.set('limitBounds', a)
},
clearLimitBounds: function () {
g.c.add(this, 'clearLimitBounds')
this.set('limitBounds', null)
},
getLimitBounds: function () {
g.c.add(this, 'getLimitBounds')
return this.get('limitBounds', null, !0)
},
PH: function (a) {
var b = this.get('layers')
if (!(0 <= g.a.indexOf(b, a)) && (b.push(a), this.set('layers', b), a.xB)) {
a = a.getLayers()
for (var b = -1, c = a.length; ++b < c; ) {
var d = a[b]
d instanceof z.o.Yb || !d.setMap || d.setMap(this)
}
}
},
sC: function (a) {
var b = this.get('overlays')
0 <= g.a.indexOf(b, a) ||
(a instanceof z.B.Tn
? (this.get('overlays').push(a), this.ry instanceof z.B.Tn && ((this.ry.C = !0), this.ry.close(), (this.ry.C = !1)), (this.ry = a), this.set('contextmenu', a, !0))
: (a instanceof z.B.Ye && (this.rm instanceof z.B.Ye && this.Jz(this.rm), (this.rm = a)), this.get('overlays').push(a)),
this.q('overlays'))
},
sk: function (a) {
var b = this.get('layers'),
c = g.a.indexOf(b, a)
if (-1 !== c) {
if (a.xB)
for (c = b.length; -1 < --c; ) {
var d = b[c]
;(d.YA !== a && d !== a) || b.splice(c, 1)
}
else a.YA && a.YA.Tka(a), (b = g.a.Fo(b, c))
this.set('layers', b)
if (a.xB) for (a = a.getLayers(), b = -1, c = a.length; ++b < c; ) (d = a[b]), d instanceof z.o.Yb || !d.setMap || d.setMap()
}
},
getZooms: function () {
return this.get('zooms', null, !0)
},
setZooms: function (a) {
return this.set('zooms', a, !0)
},
Jz: function (a) {
var b = this.get('overlays')
this.set('overlays', g.a.Fo(b, g.a.indexOf(b, a)))
},
getTileCoordByLngLat: function (a, b, c) {
b = b || 256
this.C = !0
c = c || Math.round(this.getZoom())
this.C = !1
a = this.kc(a, c)
c = new g.pr(c, Math.floor(a.x / b), Math.floor(a.y / b))
c.aD = a.x % b
c.bD = a.y % b
return c
},
setZoom: function (a, b) {
g.c.add(this, 'setZoom')
a = this.gD(a)
var c = this.get('zooms')
a > c[1] && (a = c[1])
a < c[0] && (a = c[0])
this.get('zoomEnable') && (b || !this.loaded ? (this.set('zoom', a), this.q('zoomstart'), this.q('zoomchange'), this.q('zoomend')) : this.set('zoomSlow', a))
},
getZoom: function (a) {
g.c.add(this, 'getZoom')
return a ? this.get('zoom', null, !0) : this.gD(this.get('targetLevel') || this.get('zoom', null, !0))
},
getCenter: function () {
g.c.add(this, 'getCenter')
return this.get('center', null, !0)
},
setCenter: function (a, b) {
g.c.add(this, 'setCenter')
a = g.a.Ka(a)
b || !this.loaded ? (this.q('movestart'), this.set('center', a), this.q('mapmove'), this.map ? this.map.q('moveend') : this.q('moveend')) : ((this.C = !0), this.panTo(a), (this.C = !1))
},
getCoordsBound: function () {
return this.view.jm()
},
getCoordsBoundByZoom: function (a) {
return this.view.nqa(a)
},
setRotation: function () {
var a = 0 < arguments.length && void 0 !== arguments[0] ? arguments[0] : 0
g.c.add(this, 'setRotation')
!g.l.Ue && this.get('rotateEnable') && this.set('rotation', a)
},
getRotation: function () {
g.c.add(this, 'getRotation')
return this.get('rotation')
},
setPitch: function (a) {
g.c.add(this, 'setPitch')
a = Math.min(this.get('maxPitch'), Math.max(a, 0))
'3D' === this.view.type && this.get('pitchEnable') && this.set('pitch', a)
},
getPitch: function () {
g.c.add(this, 'getRotation')
return '3D' === this.view.type ? this.get('pitch') : 0
},
getStatus: function () {
g.c.add(this, 'getStatus')
for (
var a = 'isHotspot pitchEnable dragEnable zoomEnable keyboardEnable jogEnable doubleClickZoom scrollWheel resizeEnable touchZoom rotateEnable animateEnable'.split(' '), b = {}, c = 0;
c < a.length;
c += 1
)
b[a[c]] = this.get(a[c], null, !0)
return b
},
setStatus: function (a) {
g.c.add(this, 'setStatus')
for (var b in a)
a.hasOwnProperty(b) &&
-1 !==
'isHotspot,pitchEnable,dragEnable,keyboardEnable,doubleClickZoom,scrollWheel,zoomEnable,jogEnable,continuousZoomEnable,resizeEnable,animateEnable,rotateEnable,touchZoom'.indexOf(
b
) &&
this.set(b, a[b])
},
getResolution: function (a, b) {
g.c.add(this, 'getResolution')
var c = (a = g.a.Ka(a)) ? a.Q : this.get('center', null, !0).Q
return this.mj.nq(b || this.get('zoom')) * Math.cos((c * Math.PI) / 180)
},
getScale: function (a) {
g.c.add(this, 'getScale')
this.C = !0
a = (this.getResolution() * (a || 96)) / 0.0254
this.C = !1
return a
},
getDefaultCursor: function () {
g.c.add(this, 'getDefaultCursor')
return this.get('defaultCursor', null, !0) || 'url(' + g.r.Gb + '/theme/v1.3/openhand.cur),default'
},
setDefaultCursor: function (a) {
g.c.add(this, 'setDefaultCursor')
return this.set('defaultCursor', a, !0)
},
zoomIn: function (a) {
g.c.add(this, 'zoomIn')
this.C = !0
this.setZoom(this.getZoom() + 1, a)
this.C = !1
},
zoomOut: function (a) {
g.c.add(this, 'zoomOut')
this.C = !0
this.setZoom(this.getZoom() - 1, a)
this.C = !1
},
gD: function (a) {
return this.view && '3D' === this.view.type ? g.a.wb(a, 4) : Math.round(a)
},
setZoomAndCenter: function (a, b, c) {
g.c.add(this, 'setZoomAndCenter')
b = g.a.Ka(b)
a = this.gD(a)
var d = this.get('zooms')
a > d[1] && (a = d[1])
a < d[0] && (a = d[0])
this.C = !0
this.loaded ? this.set('zoomAndCenter', [a, b, c]) : (this.setZoom(a, !0), this.setCenter(b, !0))
this.C = !1
},
clearMap: function () {
g.c.add(this, 'clearMap')
for (var a = this.get('overlays'), b = 0; b < a.length; b += 1) a[b].set('map', null, !0)
this.set('overlays', [])
if (this.map && this.map.la)
for (a = this.map.la, b = a.length - 1; 0 <= b; b -= 1)
if (a[b].S instanceof z.o.ML) {
var c = a[b].S
c.C = !0
c.setMap(null)
c.C = !1
}
},
destroy: function () {
g.c.add(this, 'destroy')
this.qm && (this.qm.setMap(), (this.indoorMap = this.qm = null))
this.set('overlays', [])
this.set('defaultLayer', null)
this.set('layers', [])
var a = this.get('controls')
a.remove = []
for (var b in a.Ld) a.Ld.hasOwnProperty(b) && a.remove.push(a.Ld[b])
a.Ld = []
a.add = []
this.set('controls', a)
this.set('destroy', !0)
this.Ra = !1
this.yl()
this.w = this.K = null
this.Gc && this.Gc.yl()
this.Gc = null
this.view && this.view.yl()
this.view = null
this.ti()
z.Rb.Pt--
},
addControl: function (a) {
g.c.add(this, 'addControl')
var b = g.a.yb(a),
c = this.get('controls') || {}
c.Ld = c.Ld || {}
c.Ld[b] || (c.Ld[b] = a)
c.add = c.add || []
c.add.push(a)
this.set('controls', c)
},
removeControl: function (a) {
g.c.add(this, 'removeControl')
var b = g.a.yb(a),
c = this.get('controls') || {}
c.Ld = c.Ld || {}
c.Ld[b] && delete c.Ld[b]
c.remove = c.remove || []
c.remove.push(a)
this.set('controls', c)
},
clearControl: function () {
g.c.add(this, 'clearControl')
var a = this.get('controls') || {}
a.remove = a.remove || []
a.Ld = a.Ld || {}
for (var b in a.Ld) a.Ld.hasOwnProperty(b) && (a.remove.push(a.Ld[b]), delete a.Ld[b])
this.set('controls', a)
},
plugin: function (a, b) {
g.c.add(this, 'plugin')
'string' === typeof a && (a = [a])
for (var c = [], d = 0; d < a.length; d += 1) {
var e = a[d].split('.')
2 < e.length || (2 == e.length ? 'AMap' === e[0] && (window.AMap[e[1]] || c.push(a[d])) : c.push(a[d]))
}
if (0 === c.length) return b(), this
g.tb.Fg(c, b)
return this
},
clearInfoWindow: function () {
g.c.add(this, 'clearInfoWindow')
var a = this.get('overlays')
a && 0 !== a.length && this.rm && ((this.rm.C = !0), this.rm.close(), (this.rm.C = !1))
},
remove: function (a) {
g.c.add(this, 'remove')
a instanceof Array || (a = [a])
for (var b = 0; b < a.length; b += 1) {
var c = a[b]
c.C = !0
c.getMap && c.getMap() === this && (c.close ? c.close() : c.setMap && c.setMap(null))
c.C = !1
}
},
add: function (a) {
g.c.add(this, 'add')
a instanceof Array || (a = [a])
for (var b = 0; b < a.length; b += 1) {
var c = a[b]
c.C = !0
if (c.getMap && c.getMap() !== this)
if (c.open) continue
else c.setMap && c.setMap(this)
c.C = !1
}
},
getAllOverlays: function (a, b) {
g.c.add(this, 'getAllOverlays')
var c = this.get('overlays')
if (a) {
for (var d = 'amap.' + a.toLowerCase(), e = [], f = 0; f < c.length; f += 1) d !== c[f].CLASS_NAME.toLowerCase() || (!b && (c[f].Da || c[f].isOfficial)) || e.push(c[f])
return e
}
if (!b) {
e = []
for (f = 0; f < c.length; f += 1) c[f].Da || c[f].isOfficial || e.push(c[f])
c = e
}
d = this.get('layers')
e = []
if (d) for (var f = 0, h = d.length; f < h; f += 1) d[f] instanceof z.o.ML && e.push(d[f]), d[f].kb && (e = e.concat(d[f].kb))
return c.concat(e)
},
triggerResize: function () {
this.map && this.map.WO()
},
refreshSize: function () {
this.eG = this.W3()
},
W3: function () {
return g.f.S3(this.K)
},
getSize: function () {
g.c.add(this, 'getSize')
;(!this.eG || 10 > this.eG.width * this.eG.height) && this.refreshSize()
return this.eG
},
getContainer: function () {
g.c.add(this, 'getContainer')
return this.K
},
panTo: function (a) {
g.c.add(this, 'panTo')
a = g.a.Ka(a)
this.loaded ? this.set('panTo', a) : ((this.C = !0), this.setCenter(a), (this.C = !1))
},
panBy: function (a, b, c) {
g.c.add(this, 'panBy')
this.C = !0
var d = (this.get('rotation') * Math.PI) / 180,
e = a * Math.cos(d) + Math.sin(d) * b
a = -Math.sin(d) * a + Math.cos(d) * b
b = this.loaded && this.map && this.map.Fd ? this.map.Fd.E9 : this.get('centerCoords')
d = Math.pow(2, 20 - this.getZoom())
e = b.add(new g.H(-e * d, -a * d))
e = this.Od(e)
!this.loaded || c ? this.setCenter(e, c) : this.set('panTo', e)
this.C = !1
},
setFitView: function (a, b, c, d) {
g.c.add(this, 'setFitView')
this.C = !0
var e = this.get('size'),
f = e.height
if (!e.width || !f) return !0
if ((a = this.q4(a))) {
if ((c = this.bJ(a, 0, new g.H(40, 40), c, d)))
(b = b || !this.getBounds().contains(a.xi()) || (g.l.ba && 1 < Math.abs(c[0] + this.get('zoom', null, !0)))), this.setZoomAndCenter(c[0], c[1], b)
this.C = !1
return a
}
},
q4: function (a) {
if (a)
if (a instanceof z.B.Eh) a = [a]
else {
if (!(a instanceof Array)) return null
}
else (this.C = !0), (a = this.getAllOverlays()), (this.C = !1)
if (a) {
for (var b, c = 0; c < a.length; c += 1) {
var d = a[c]
if (d.get('visible') && !(d instanceof z.B.Ye || d instanceof z.B.Tn)) {
d.C = !0
var e = d.getBounds()
d.C = !1
e && (b = b ? b.rza(e) : e.cb())
}
}
return b
}
},
getBounds: function (a) {
g.c.add(this, 'getBounds')
var b = this.view.Kd()
return a && b.toBounds ? ((b.C = !0), (a = b.toBounds()), (b.C = !1), a) : b
},
setBounds: function (a, b, c, d, e, f) {
g.c.add(this, 'setBounds')
c = this.bJ(a, b, c, e, f)
d = d || (g.l.ba && 1 < Math.abs(c[0] + b - this.get('zoom', null, !0)))
this.C = !0
this.setZoomAndCenter(c[0], c[1], d)
this.C = !1
return a
},
c4: function (a, b, c, d, e) {
a = this.q4(a)
return this.bJ(a, b, c, d, e)
},
getCoordsBoundByZoomIn3D: function (a) {
this.UH || (this.UH = new g.qM())
this.C = !0
var b = this.getRotation(),
c = this.getPitch(),
d = this.getSize(!0).cb()
this.C = !1
a = { size: d, zoom: a, rotation: b, pitch: c, centerCoords: this.get('centerCoords') }
this.UH.jf(a, !0)
this.UH.ir()
return this.UH.jm()
},
bJ: function (a, b, c, d, e) {
b = b ? Number(b) : 0
this.C = !0
var f = this.getRotation(),
h = this.getPitch(),
k = this.getSize(!0).cb(),
l = this.view.type
this.C = !1
var m = a.pR(this)
a = a.sR(this)
this.wC || (this.wC = '3D' === l ? new g.qM() : new g.NF())
this.wC.jf({ size: k, zoom: 3, rotation: f, pitch: h, centerCoords: m }, !0)
var n = (h = 0)
d ? ((n = d[0]), (c = d[1]), (h = d[2]), (d = d[3]), (k.width -= h + d), (k.height -= n + c), (h = (h - d) / 2), (n = (n - c) / 2)) : c && ((k.width -= 2 * c.x), (k.height -= 2 * c.y))
e = e || (g.l.ba ? 17 : 18)
c = this.get('zooms')
d = c[0]
var p = Infinity,
q = Infinity
do {
this.wC.jf({ zoom: d }, !0)
'3D' === l && this.wC.ir()
for (var q = (p = Infinity), r = -Infinity, s = -Infinity, u = 0; u < a.length; u += 1)
var v = this.wC.Xd(a[u]), p = Math.min(p, v.x), r = Math.max(r, v.x), q = Math.min(q, v.y), s = Math.max(s, v.y)
p = r - p
q = s - q
if (p > k.width || q > k.height) {
d -= 1
break
}
d += 1
} while (d <= c[1])
d = Math.min(c[1], e, Math.max(c[0], d + b))
d = Math.floor(d)
b = Math.pow(2, 20 - d)
e = (f * Math.PI) / 180
f = h * Math.cos(e) + Math.sin(e) * n
e = -Math.sin(e) * h + Math.cos(e) * n
m = m.ab(new g.H(f * b, e * b))
m = this.Wh(m, 20)
return [d, m]
},
setLayers: function (a) {
g.c.add(this, 'setLayers')
for (var b = 0; b < a.length; b += 1) a[b].set('map', this, !0)
this.set('layers', a)
},
getLayers: function () {
g.c.add(this, 'getLayers')
var a = this.get('layers', null, !0),
a = a.slice()
if (this.C) {
for (var b = [], c = -1, d = a.length; ++c < d; ) {
var e = a[c]
if (e.xB)
for (var e = e.getLayers(), f = -1, h = e.length; ++f < h; ) {
var k = e[f]
k instanceof z.o.Yb && -1 === g.a.indexOf(a, k) && b.push(k)
}
}
a = a.concat(b)
} else for (b = a.length; -1 < --b; ) a[b].YA && a.splice(b, 1)
return a
},
getDefaultLayer: function () {
g.c.add(this, 'getDefaultLayer')
return this.get('defaultLayer', null, !0)
},
setDefaultLayer: function (a) {
if (a) {
g.c.add(this, 'setDefaultLayer')
this.C = !0
a.GP = !0
var b = this.get('defaultLayer'),
c = this.get('layers')
if (b) {
if (a === b) {
a.setMap(this)
return
}
b.GP = !1
c = g.a.Fo(c, g.a.indexOf(c, b))
}
this.set('defaultLayer', a, !0)
a.C = !0
;-1 === g.a.indexOf(c, a) && c.push(a)
a.C = !1
this.setLayers(c)
this.C = !1
}
},
pixelToLngLat: function (a, b) {
g.c.add(this, 'pixelToLngLat')
return this.Wh(a, b)
},
lnglatToPixel: function (a, b) {
g.c.add(this, 'lnglatToPixel')
return this.kc(a, b)
},
drawPolyline: function (a) {
g.c.add(this, 'drawPolyline')
this.set('draw', 'polyline')
this.set('drawStyle', a || { strokeColor: '#006600', pb: 0.9 })
},
render: function (a) {
g.c.add(this, 'render')
this.map && this.map.set('display', a ? 1 : 0)
},
setMask: function (a) {
g.c.add(this, 'setMask')
this.set('mask', a)
this.map && ((this.map.UJ = !0), this.map.set('display'))
},
drawPolygon: function (a) {
g.c.add(this, 'drawPolygon')
this.set('draw', 'polygon')
this.set('drawStyle', a || { strokeColor: '#006600', pb: 0.9, fillColor: '#FFAA00', le: 0.9 })
},
drawCircle: function (a) {
g.c.add(this, 'drawCircle')
this.set('draw', 'circle')
this.set('drawStyle', a || { strokeColor: '#006600', pb: 0.9, fillColor: '#006600', le: 0.9 })
},
rD: function () {
return this.view.rD()
},
getCameraState: function () {
g.c.add(this, 'getCameraState')
if (this.view && '3D' == this.view.type) return this.view.R3()
},
endDraw: function () {
this.set('draw', null)
},
isGoogleTileVisible: function () {
return this.map.isForeignMapVisible()
},
isForeignMapVisible: function () {
if (this.get('gridForeignMap') || this.get('vectorForeignMap')) return this.map && this.map.xga()
},
Xd: function (a, b, c) {
g.c.add(this, 'p20ToContainer')
return this.view.Xd(a, b, c)
},
yg: function (a, b, c) {
g.c.add(this, 'containerToP20')
return this.view.yg(a, b, c)
},
getObject3DByContainerPos: function (a, b, c) {
g.c.add(this, 'getObject3DByContainerPos')
if ('2D' === this.view.type || !this.map || !this.map.J) return null
this.C = !0
this.view.yg(a)
var d = this.view.V3(a),
e = this.map.J.OT,
f = this.view.cc,
h = this.get('zoom', null, !0),
h = Math.pow(2, 20 - h)
b = b || this.getLayers()
this.C = !1
for (var k = [], l = 0; l < b.length; l += 1) {
var m = b[l]
m instanceof z.o.Nm && (m = m.kp(e, d, f, h, a)) && k.push(m)
}
return c
? k
: k.length
? (k.sort(function (a, b) {
return a.Td - b.Td
}),
{ index: k[0].index, point: k[0].kE, distance: k[0].Td, object: k[0].object })
: null
},
eJ: function (a) {
var b = this.get('layers', null, !0),
b = b.slice()
if (this.C) {
for (var c = [], d = -1, e = b.length; ++d < e; ) {
var f = b[d]
if (f.xB)
for (var f = f.yEa(), h = -1, k = f.length; ++h < k; ) {
var l = f[h]
;-1 === g.a.indexOf(b, l) && c.push(l)
}
}
b = b.concat(c)
}
return b.filter(function (b) {
return b instanceof z.o.Nm && (a ? -1 < a.indexOf(b) : !0)
})
},
queryObjectIndexFromFboByContainerPos: function (a, b) {
g.c.add(this, 'queryObjectIndexFromFboByContainerPos')
if ('2D' === this.view.type || !this.map || !this.map.J) return null
var c = this.diffFilterLayers(b),
d = this.eJ(b),
e = this.getSize()
if (c) (this.YG = this.view.Le.cb()), (this.XG = this.view.cc.cb())
else if (this.YG && this.XG) {
if (((c = this.XG.Yu(this.view.cc)), (c = !(this.YG.Yu(this.view.Le) && c)))) (this.YG = this.view.Le.cb()), (this.XG = this.view.cc.cb())
} else (this.YG = this.view.Le.cb()), (this.XG = this.view.cc.cb())
if (c) this.map.Pq(d)
else {
for (var f = 0; f < d.length; f += 1) {
var h = d[f]
if (h instanceof z.o.Nm && h.Ora()) {
c = !0
break
}
}
c && this.map.Pq(d)
}
return this.map.Oy().gwa(a, e)
},
diffFilterLayers: function (a) {
a = a || []
if (!this.ju || this.ju.length !== a.length) return (this.ju = a ? a.slice(0) : []), !0
for (var b = 0; b < this.ju.length; ) {
if (this.ju[b] !== a[b]) return (this.ju = a ? a.slice(0) : []), !0
b++
}
this.ju = a ? a.slice(0) : []
},
})
z.Rb.Xb({
LJ: 'lngLatToGeodeticCoord',
kqa: 'geodeticCoordToLngLat',
bJ: 'getFitZoomAndCenterByBounds',
c4: 'getFitZoomAndCenterByOverlays',
Ls: 'lnglatTocontainer',
lnglatTocontainer: 'lngLatToContainer',
$p: 'containTolnglat',
containTolnglat: 'containerToLngLat',
Bb: 'lngLatToP20',
Od: 'p20ToLngLat',
Xd: 'p20ToContainer',
yg: 'containerToP20',
kc: 'project',
Wh: 'unproject',
queryObjectIndexFromFboByContainerPos: 'pickObject3DByContainerPos',
})
z.Rb.Hb({
isHotspotChanged: function () {
if ('undefined' !== typeof this.uD && (this.Ina(), this.get('isHotspot'))) {
var a = this.get('layers', null, !0)
a && a.length && !this.uD && this.YJ && this.Xua()
}
},
Xua: function () {
if (this.hk) this.c5()
else {
var a = this
this.C = !0
this.plugin('AMap.HotSpot', function () {
if (!a.uD) {
if (!a.hk) {
var b = new g.bi()
new z.B.Ye({ innerOverlay: !0 })
a.hk = b
}
a.c5()
}
})
this.C = !1
}
},
Ina: function () {
this.hk && this.Sra()
},
m7: function (a) {
a.type = 'hotspotover'
a.isIndoorPOI = !1
this.q('hotspotover', a)
},
k7: function (a) {
a.type = 'hotspotclick'
a.isIndoorPOI = !1
this.q('hotspotclick', a)
},
l7: function (a) {
a.type = 'hotspotout'
a.isIndoorPOI = !1
this.q('hotspotout', a)
},
c5: function () {
var a = this.hk
this.hk.C = !0
this.hk.setMap(this)
this.hk.C = !1
a.h('mouseover', this.m7, this)
a.h('click', this.k7, this)
a.h('mouseout', this.l7, this)
},
Sra: function () {
var a = this.hk
a.G('mouseover', this.m7, this)
a.G('click', this.k7, this)
a.G('mouseout', this.l7, this)
this.hk.C = !0
this.hk.setMap(null)
this.hk.C = !1
this.hk = null
},
})
z.event = {
Y: function (a, b, c, d) {
g.F.h(a, b, c, d)
return new g.sF(0, a, b, c, d)
},
Qla: function () {},
addListener: function (a, b, c, d) {
g.a.Ph(a.addListener) ? a.addListener(b, c, d) : (a.ve || (a.ve = g.va.ve), g.va.h.call(a, b, c, d))
return new g.sF(1, a, b, c, d)
},
by: function (a, b, c, d) {
g.a.Ph(a.by) ? a.by(b, c, d) : (a.ve || (a.ve = g.va.ve), g.va.h.call(a, b, c, d, !0))
return new g.sF(1, a, b, c, d)
},
kI: function (a) {
g.a.Ph(a.kI) ? a.kI() : g.va.ti.call(a)
},
Hu: function (a, b) {
g.a.Ph(a.Hu) ? a.Hu(b) : g.va.ti.call(a, b)
},
removeListener: function (a) {
a instanceof g.sF &&
(g.a.Ph(a.Ai.removeListener)
? a.Ai.removeListener(a)
: 0 === a.type
? g.F.G(a.Ai, a.VQ, a.cS, a.bf)
: 1 === a.type && (a.Ai.ve || (a.Ai.ve = g.va.ve), g.va.G.call(a.Ai, a.VQ, a.cS, a.bf)))
},
O: function (a, b) {
var c = Array.prototype.slice.call(arguments, 1)
g.a.Ph(a.O) ? a.O.apply(a, c) : (a.ve || (a.ve = g.va.ve), g.va.q.apply(a, c))
},
}
g.sF = g.da.extend({
A: function (a, b, c, d, e) {
this.type = a
this.Ai = b
this.VQ = c
this.cS = d
this.bf = e
},
})
var qc = {
Y: 'addDomListener',
Qla: 'addDomListenerOnce',
addListener: 'addListener',
by: 'addListenerOnce',
kI: 'clearInstanceListeners',
Hu: 'clearListeners',
removeListener: 'removeListener',
O: 'trigger',
},
rc
for (rc in qc) qc.hasOwnProperty(rc) && (z.event[qc[rc]] = z.event[rc])
g.event = z.event
z.o.Yb = g.da.extend({
ka: [g.va, g.Ze],
A: function (a) {
new Date().getTime()
this.CLASS_NAME = this.CLASS_NAME || 'AMap.Layer'
g.a.ub(this, a)
this.w.map && ((a = this.w.map), delete this.w.map, (this.w.map = a))
this.jf(this.w)
},
getContainer: function () {
g.c.add(this, 'getContainer')
if (this.o && this.o.M) return this.o.M.uj()
},
getZooms: function () {
return this.get('zooms', null, !0)
},
setOpacity: function (a) {
g.c.add(this, 'setOpacity')
a !== this.get('opacity', null, !0) && this.set('opacity', a)
},
getOpacity: function () {
return this.get('opacity', null, !0)
},
show: function () {
g.c.add(this, 'show')
this.set('visible', !0)
if (this.Gq) {
var a = this.get('map', null, !0)
a && a.set('layers', a.get('layers', null, !0))
}
},
hide: function () {
g.c.add(this, 'hide')
this.set('visible', !1)
if (this.Gq) {
var a = this.get('map', null, !0)
a && a.set('layers', a.get('layers', null, !0))
}
},
setMap: function (a) {
g.c.add(this, 'setMap')
var b = this.get('map')
if (a) b && a !== b && b.sk(this), this.set('map', a)
else if (b && (b.sk(this), this.set('map', null, !0), (this.qi = !1), this.gg && this.gg(), this.onRemove)) this.onRemove()
},
getMap: function () {
g.c.add(this, 'getMap')
return this.get('map', null, !0)
},
mapChanged: function () {
var a = this.get('map')
a && a.PH(this)
},
setzIndex: function (a) {
g.c.add(this, 'setzIndex')
this.set('zIndex', a)
},
getzIndex: function () {
return this.get('zIndex', null, !0)
},
})
z.o.rb = z.o.Yb.extend({
w: {
tileSize: 256,
visible: !0,
opacity: 1,
zIndex: 0,
noLimg: 1,
zooms: [3, 20],
getTileUrl: g.l.ba ? g.r.TE : g.r.OD,
errorUrl: g.a.wpa,
detectRetina: !0,
className: 'amap-layer',
mapNumber: '',
merge: !1,
sort: !1,
cacheSize: g.l.size,
},
A: function (a) {
this.CLASS_NAME = this.CLASS_NAME || 'AMap.TileLayer'
g.c.ya(this, a)
;(a = a || {}) && a.tileUrl && (a.getTileUrl = a.tileUrl)
this.pna(a)
var b = a.zooms
b && b[1] >= this.ol[0] ? (b[0] < this.ol[0] && (b[0] = this.ol[0]), b[1] > this.ol[1] && (b[1] = this.ol[1])) : (a.zooms = [this.ol[0], this.ol[1]])
arguments.callee.ma.call(this, a)
a.Sv && (this.Sv = !0)
this.FG = this.vq()
},
setTextIndex: function (a) {
g.c.add(this, 'setTextIndex')
this.set('textIndex', a)
},
vq: function () {
if (this.get('createTile')) return !1
var a = this.get('getTileUrl')
return a && a !== g.r.OD && a !== g.r.TE ? !1 : !0
},
v2: function () {
if (!this.vq()) return !1
var a = this.get('map')
return a && a.Bi && 'zh_cn' === a.get('lang') && !this.noVector ? !0 : !1
},
y4: function (a) {
var b = g.r.SJ
g.l.ja && this.get('detectRetina') && (b = g.r.SJ.replace('scl=1', 'scl=2'))
a && (b = b.replace('ltype=3', 'ltype=11'))
return b
},
bg: function (a) {
var b = this.v2(),
c = this.get('map')
this.vq() && this.set('mapNumber', 'GS(2019)6379')
if (this.Sv) return new g.o.rb(this, a, this.yr(this.y4(!0)), this.w.maxDataZoom, !0)
if (b)
if (((this.Gq = !0), g.o.ei)) {
if ('dv' === c.get('baseRender') && !this.get('watermark')) {
var b = c.get('showBuildingBlock'),
d = new g.o.rb(this, a, this.yr(this.y4(!b)), void 0, !0)
b &&
((d.Hj = new g.o.od(new z.o.rb({ zooms: [16, 20], innerLayer: !0 }), a, ['building'])),
(d.Hj.type = '\u697c\u5757\u56fe\u5c42'),
d.Hj.af(['visible', 'opacity', 'zIndex'], d, !0),
d.Hj.AC(c.get('mapStyle') || 'normal'))
d.type = '\u6805\u683c\u5e95\u56fe'
return d
}
if ('v' <= c.get('baseRender') || this.get('watermark'))
return (
'3D' == a.D.view.type
? ((c = new g.o.od(this, a, ['region', 'road'])),
(c.type = '\u77e2\u91cf\u5e95\u56fe'),
(b = new z.o.rb({ zooms: [17, 20], zIndex: 50, innerLayer: !0 })),
(c.Hj = new g.o.od(b, a, ['building'])),
(c.Hj.ff = 17),
(c.Hj.type = '\u697c\u5757\u56fe\u5c42'),
(c.Hj.Yy = 1),
c.Hj.af(['visible', 'merge', 'sort', 'opacity'], c, !0),
b.X('rejectMapMask', this, !0))
: ((c = new g.o.od(this, a, ['region', 'building', 'road'])), (c.type = '\u77e2\u91cf\u5e95\u56fe')),
(a.xma = c)
)
} else return ['vectorlayer', 'overlay']
else return (this.Gq = !1), new g.o.rb(this, a, null, this.w.maxDataZoom)
},
getTileUrlChanged: function () {
var a = this.get('getTileUrl')
if (a === g.r.OD || a === g.r.TE || a === g.r.OK) this.YJ = !0
'string' === typeof a && (a = this.yr(a))
this.set('tileFun', a)
},
pna: function (a) {
this.ol || (this.ol = [this.w.zooms[0], this.w.zooms[1]])
var b
a.hasOwnProperty('detectRetina') && !1 === a.detectRetina && (b = !0)
g.l.ba && g.l.ja && this.w.detectRetina && !b && (this.ol[1] -= 1)
},
getTiles: function () {
g.c.add(this, 'getTiles')
var a = this.get('tiles', null, !0)
if (a && a.length) a = a[0]
else return []
for (var b = [], c, d = 0; d < a.length; d += 1) a[d].key && ((c = a[d].key.split('/')), b.push('' + c[1] + ',' + c[2]))
return b
},
reload: function () {
g.c.add(this, 'reload')
this.set('reload', 1)
},
$s: function () {
this.C = !0
var a = this.get('map', null, !0)
this.setMap(null)
this.qi = !1
this.setMap(a)
this.C = !1
},
setTileUrl: function (a) {
g.c.add(this, 'setTileUrl')
this.v2() ? (this.set('getTileUrl', a), this.$s()) : this.set('getTileUrl', a)
},
yr: function (a) {
var b = this,
c,
d,
e
return function (f, h, k) {
f = (f + Math.pow(2, k)) % Math.pow(2, k)
if ('number' !== typeof (f + h + k)) return null
var l = b.get('map'),
m = 'zh_cn'
l && (m = l.get('lang') || 'zh_cn')
k = a.replace('[x]', f).replace('[y]', h).replace('[z]', k).replace('[lang]', m)
if (!c) {
if ((d = a.match(/\{.*\}/))) (e = d.toString().replace('{', '').replace('}', '')), (e = e.split(','))
c = !0
}
e && e.length && (k = k.replace(d, e[Math.abs(f + h) % e.length]))
return k
}
},
getTileUrl: function (a, b, c) {
g.c.add(this, 'getTileUrl')
return this.get('tileFun', null, !0)(a, b, c)
},
getZooms: function (a) {
a || g.c.add(this, 'getZooms')
return this.get('zooms', null, !0)
},
})
z.o.rb.EW = z.o.rb.extend({
w: { getTileUrl: g.r.xU, zooms: [3, 20], zIndex: 2, maxDataZoom: 18, detectRetina: !1, mapNumber: 'GS(2021)4122', className: 'amap-layer amap-satellite', cacheSize: g.l.size },
A: function (a) {
this.CLASS_NAME = 'AMap.TileLayer.Satellite'
g.c.ya(this, a)
this.ol = [3, 20]
arguments.callee.ma.apply(this, arguments)
},
})
z.o.rb.AW = z.o.rb.extend({
w: { getTileUrl: g.r.OK, zooms: [3, 20], zIndex: 3, type: 'overlayer', maxDataZoom: 18, className: 'amap-layer amap-roadnet', cacheSize: g.l.size },
A: function (a) {
this.CLASS_NAME = 'AMap.TileLayer.RoadNet'
g.c.ya(this, a)
this.ol = [3, 20]
arguments.callee.ma.apply(this, arguments)
},
bg: function (a) {
if (this.get('map').Bi) {
this.Gq = !0
var b = g.r.PK
g.l.ja && this.get('detectRetina') && (b = g.r.PK.replace('scl=1', 'scl=2'))
a = new g.o.rb(this, a, this.yr(b), this.w.maxDataZoom)
} else (this.Gq = !1), (a = new g.o.rb(this, a))
return a
},
})
z.o.rb.MW = z.o.rb.extend({
w: {
getTileUrl: function (a, b, c) {
return g.r.tc + '://tm.amap.com/trafficengine/mapabc/traffictile?v=1.0&t=1&zoom=' + (17 - c) + '&x=' + a + '&y=' + b
},
zooms: [6, 20],
zIndex: 4,
type: 'overlayer',
autoRefresh: !1,
interval: 180,
maxDataZoom: 17,
alwaysRender: !g.l.j3,
className: 'amap-layer amap-traffic',
cacheSize: g.l.size,
},
A: function (a) {
this.CLASS_NAME = 'AMap.TileLayer.Traffic'
g.c.ya(this, a)
this.ol = [6, 20]
arguments.callee.ma.apply(this, arguments)
this.C = !0
this.startRefresh()
this.C = !1
},
stopRefresh: function () {
g.c.add(this, 'stopRefresh')
this.CK && (clearInterval(this.CK), (this.CK = null))
},
startRefresh: function () {
g.c.add(this, 'startRefresh')
if (this.get('autoRefresh') && !this.CK) {
var a = this
this.CK = setInterval(function () {
a.C = !0
a.reload()
a.C = !1
a.q('refresh')
}, Math.max(1e3 * (this.get('interval') || 180), 1e4))
}
},
reload: function () {
g.c.add(this, 'reload')
g.a.Wc(function () {
this.set('reload')
}, this)
},
gg: function () {
this.C = !0
this.stopRefresh()
this.get('map') && this.get('map').G('zoomstart', this.reload, this)
this.C = !1
},
bg: function (a) {
var b = this.get('map'),
b = a.D
b.h('zoomstart', this.reload, this)
return 'd' !== b.get('baseRender') ? (g.o.$w ? (a = new g.o.$w(this, a)) : ['vt']) : (a = new g.o.rb(this, a, null, this.w.maxDataZoom))
},
})
z.o.rb.yA = z.o.rb.extend({
w: { zooms: [3, 20], zIndex: 12, detectRetina: !1, className: 'amap-layer amap-flexible', cacheSize: g.l.size },
A: function (a) {
this.CLASS_NAME = this.CLASS_NAME || 'AMap.TileLayer.Flexible'
g.c.ya(this, a)
this.Isa = !0
arguments.callee.ma.call(this, a)
},
setCreateTile: function (a) {
g.c.add(this, 'setCreateTile')
'function' === typeof a && a !== this.get('createTile') && this.set('createTile', a)
},
getCreateTile: function () {
return this.get('createTile', null, !0)
},
})
z.o.rb.Hba = z.o.rb.yA.extend({
w: { zooms: [3, 20], zIndex: 12, tileSize: 512, detectRetina: !1, className: 'amap-layer amap-wms', cacheSize: g.l.size, url: '', params: '' },
A: function (a) {
this.CLASS_NAME = 'AMap.TileLayer.WMS'
g.c.ya(this, a)
arguments.callee.ma.call(this, a)
this.zw()
var b = this,
c = this.get('tileSize')
this.set('createTile', function (a, e, f, h, k) {
var l = Math.pow(2, 20 - f) * c
f = new g.H(l * a, l * (e + 1))
a = new g.H(l * (a + 1), l * e)
e = g.RJ.t7(f)
a = g.RJ.t7(a)
var m = document.createElement('img')
'3D' === b.Uf && (m.crossOrigin = 'anonymous')
g.F.h(m, 'load', function () {
h(m)
})
g.F.h(m, 'error', function () {
k(m)
})
m.src = this.url + '&BBOX=' + e + ',' + a
})
},
zw: function () {
var a = this.get('url', null, !0),
b = this.get('params', null, !0),
c = this.get('tileSize')
b.WIDTH = c
b.HEIGHT = c
b.CRS = b.CRS || 'EPSG:3857'
b.REQUEST = 'GetMap'
b.SERVICE = 'WMS'
b.FORMAT = b.FORMAT || 'image/png'
b.TRANSPARENT = void 0 === b.TRANSPARENT ? 'true' : b.TRANSPARENT
delete b.BBOX
this.url = a + '?' + g.a.join(b, '&')
this.C = !0
this.reload()
this.C = !1
},
setUrl: function (a) {
g.c.add(this, 'setUrl')
this.set('url', a, !0)
this.zw()
},
getUrl: function () {
g.c.add(this, 'getUrl')
return this.get('url', null, !0)
},
setParams: function (a) {
g.c.add(this, 'setParams')
g.extend(this.get('params', null, !0), a || {})
this.zw()
},
getParams: function () {
g.c.add(this, 'getParams')
return this.get('params', null, !0)
},
})
z.o.rb.Iba = z.o.rb.yA.extend({
w: { zooms: [3, 20], tileSize: 256, zIndex: 12, detectRetina: !1, className: 'amap-layer amap-wmts', cacheSize: g.l.size },
A: function (a) {
this.CLASS_NAME = 'AMap.TileLayer.WMTS'
g.c.ya(this, a)
arguments.callee.ma.call(this, a)
this.zw()
var b = this
this.get('tileSize')
this.set('createTile', function (a, d, e, f, h) {
var k = document.createElement('img')
'3D' === b.Uf && (k.crossOrigin = 'anonymous')
g.F.h(k, 'load', function () {
f(k)
})
g.F.h(k, 'error', function () {
h(k)
})
k.src = this.url + '&TileMatrix=' + e + '&TileRow=' + d + '&TileCol=' + a
})
},
zw: function () {
var a = this.get('url', null, !0),
b = this.get('params', null, !0)
b.TileMatrixSet = b.TileMatrixSet || 'EPSG:3857'
b.Request = 'GetTile'
b.Service = 'WMTS'
b.Format = b.Format || 'image/png'
this.url = a + '?' + g.a.join(b, '&')
this.C = !0
this.reload()
this.C = !1
},
setUrl: function (a) {
g.c.add(this, 'setUrl')
this.set('url', a, !0)
this.zw()
},
getUrl: function () {
g.c.add(this, 'getUrl')
return this.get('url', null, !0)
},
setParams: function (a) {
g.c.add(this, 'setParams')
g.extend(this.get('params', null, !0), a || {})
this.zw()
},
getParams: function () {
g.c.add(this, 'getParams')
return this.get('params', null, !0)
},
})
z.o.rb.LL = z.o.rb.yA.extend({
w: { detectRetina: !0, zooms: [10, 18], zIndex: 2 },
A: function (a) {
arguments.callee.ma.apply(this, arguments)
var b = this
this.set('createTile', function (a, d, e, f, h) {
var k = b.Ce.map.map
k.Re.NE(a, d, e, function (l) {
if (l) h()
else {
var m = document.createElement('img')
'3D' === b.Uf && (m.crossOrigin = 'anonymous')
g.F.h(m, 'load', function () {
f(m)
})
g.F.h(m, 'error', function () {
h(m)
})
m.src = (function (a, c, d) {
var e = 'zh_cn'
b && b.get && k && (e = k.get('lang') || 'zh_cn')
return g.r.tc + '://grid.amap.com/grid/' + d + '/' + a + '/' + c + '?src=jsapi&key=' + g.r.key + '&lang=' + e + '&dpiType=' + (g.l.Jc ? 'wprd' : 'webrd')
})(a, d, e)
}
})
})
},
})
z.o.fd = z.o.Yb.extend({
w: { visible: !0, zooms: [3, 25], type: 'overlay', zIndex: 5, alwaysRender: !0 },
A: function (a) {
this.w5 = !0
arguments.callee.ma.apply(this, arguments)
},
bg: function (a) {
return new g.o.fd(this, a)
},
})
z.o.W$ = z.o.Yb.extend({
w: { zooms: [14, 20], zIndex: 8, visible: !0, merge: !0, sort: !1 },
A: function (a) {
this.CLASS_NAME = 'AMap.Buildings'
g.c.ya(this, a)
a = a || {}
a.zooms && (a.zooms[0] = Math.max(14, a.zooms[0]))
arguments.callee.ma.apply(this, arguments)
},
vq: function () {
return !1
},
bg: function (a) {
if (g.l.Xp) return (a = new g.o.Eba(this, a)), (a.Yy = this.get('heightFactor') || 1), a
},
setStyle: function (a) {
this.set('customStyle', a)
g.c.add(this, 'setStyle')
},
})
z.o.EL = z.o.Yb.extend({
w: { visible: !0, zooms: [3, g.l.ba ? 20 : 18], opacity: 1, type: 'overlay', zIndex: 6 },
A: function (a) {
arguments.callee.ma.apply(this, arguments)
},
bg: function (a) {
return g.o.BA ? new g.o.BA(this, a) : ['imagelayer']
},
getMap: function () {
g.c.add(this, 'getMap')
return this.Ce.map
},
show: function () {
g.c.add(this, 'show')
this.set('visible', !0)
this.q('options')
},
getOpacity: function () {
g.c.add(this, 'getOpacity')
return this.get('opacity', null, !0)
},
setOpacity: function (a) {
g.c.add(this, 'setOpacity')
this.set('opacity', a)
},
getBounds: function () {
g.c.add(this, 'getBounds')
return this.get('bounds', null, !0).cb()
},
setBounds: function (a) {
g.c.add(this, 'setBounds')
this.q('bounds', a)
this.C = !0
this.setOptions({ bounds: a })
this.C = !1
},
hide: function () {
g.c.add(this, 'hide')
this.set('visible', !1)
this.q('options')
},
setOptions: function (a) {
g.c.add(this, 'setOptions')
this.jf(a)
this.q('options')
},
getOptions: function () {
g.c.add(this, 'getOptions')
var a = {},
b
for (b in this.w) this.w.hasOwnProperty(b) && (a[b] = this.get(b))
return a
},
getElement: function () {
return this.o.M ? this.o.M.Ob : this.o.Bf ? this.o.Bf.Ob : null
},
})
z.o.BA = z.o.EL.extend({
A: function (a) {
this.CLASS_NAME = 'AMap.ImageLayer'
g.c.ya(this, a)
a && a.url && (a.__source__ = a.url)
arguments.callee.ma.apply(this, arguments)
},
getImageUrl: function () {
g.c.add(this, 'getImageUrl')
return this.get('__source__')
},
setImageUrl: function (a) {
g.c.add(this, 'setImageUrl')
return this.set('__source__', a)
},
})
z.o.Gba = z.o.EL.extend({
A: function (a) {
this.CLASS_NAME = 'AMap.VideoLayer'
g.c.ya(this, a)
a && a.url && (a.__source__ = a.url)
arguments.callee.ma.apply(this, arguments)
},
play: function () {
var a = this.getElement()
a && a.play && a.play()
},
pause: function () {
var a = this.getElement()
a && a.pause && a.pause()
},
getVideoUrl: function () {
g.c.add(this, 'getVideoUrl')
return this.get('__source__')
},
setVideoUrl: function (a) {
g.c.add(this, 'setVideoUrl')
return this.set('__source__', a)
},
})
z.o.Y$ = z.o.EL.extend({
A: function (a) {
this.CLASS_NAME = 'AMap.CanvasLayer'
g.c.ya(this, a)
a && a.canvas && (a.__source__ = a.canvas)
arguments.callee.ma.apply(this, arguments)
},
getCanvas: function () {
g.c.add(this, 'getCanvas')
return this.get('__source__')
},
setCanvas: function (a) {
g.c.add(this, 'setCanvas')
return this.set('__source__', a)
},
reFresh: function () {
this.o && ((this.o.KE = !0), this.o.set('display'))
},
})
z.o.Raa = z.o.Yb.extend({
w: { visible: !0, zooms: [3, 20], type: 'overlay', zIndex: 5, cursor: 'pointer', alwaysRender: !0, stable: !0, bubble: !0, rejectMapMask: !0, className: 'amap-mass' },
A: function (a, b) {
this.CLASS_NAME = 'AMap.MassMarks'
g.c.ya(this, b)
g.l.il &&
((this.zj = !0),
b.size && (b.size = g.a.Lq(b.size)),
(this.C = !0),
this.setData(a),
g.a.ub(this, b),
b.style ? (this.jf(this.w, !0), this.setStyle(b.style)) : this.setStyle(this.w),
(this.C = !1))
},
clear: function () {
g.c.add(this, 'clear')
this.set('dataSources', '')
},
getStyle: function () {
g.c.add(this, 'getStyle')
return this.Cm
},
setStyle: function (a) {
g.c.add(this, 'setStyle')
if (a instanceof Array) {
for (var b = 0; b < a.length; b += 1)
(a[b].rotation_ = (Math.PI * (a[b].rotation || 0)) / 180),
(a[b].size = g.a.Lq(a[b].size)),
(a.Af = Math.max(a.Af || 0, a[b].size.width + a[b].anchor.x)),
(a.ig = Math.max(a.Af || 0, a[b].size.height + a[b].anchor.y))
this.Cm = a
} else
a.size && (a.size = g.a.Lq(a.size)),
(a.rotation_ = (Math.PI * (a.rotation || 0)) / 180),
this.jf(a, !0),
(this.Cm = { anchor: this.get('anchor'), url: this.get('url'), size: this.get('size'), rotation_: this.get('rotation_') }),
(this.Cm.Af = this.Cm.size.width + this.Cm.anchor.x),
(this.Cm.ig = this.Cm.size.height + this.Cm.anchor.y)
this.q('style')
},
setData: function (a) {
g.c.add(this, 'setData')
this.set('dataSources', a)
},
getData: function () {
g.c.add(this, 'getData')
return this.get('datas') || this.get('dataSources')
},
setMap: function (a) {
g.c.add(this, 'setMap')
g.l.il &&
(a ? (this.get('map') && this.get('map').sk(this), this.set('map', a)) : this.get('map') && (this.get('map').sk(this), this.set('map', null, !0), (this.qi = !1), this.gg && this.gg()))
},
bg: function (a) {
return g.tb.ID(['cvector']) ? ((a = new g.o.fd(this, a)), this.X('datas', a), a) : ['cvector']
},
})
z.o.baa = z.o.Yb.extend({
A: function (a) {
this.CLASS_NAME = 'AMap.CompositeLayer'
this.xB = !0
g.a.ub(this, a)
this.Vm = []
this.jf(this.w)
},
opacityChanged: function () {
for (var a = this.get('opacity', null, !0), b = -1, c = this.Vm.length; ++b < c; ) this.Vm[b].setOpacity(a)
},
addLayer: function (a) {
if (!this.has(a)) {
a.YA = this
var b = this.get('map')
a.setMap(b)
this.Vm.push(a)
}
return this
},
removeLayer: function (a) {
this.has(a) && a.setMap(null)
return this
},
Tka: function (a) {
if (this.has(a)) {
delete a.YA
var b = this.Vm
a = g.a.indexOf(b, a)
g.a.Fo(b, a)
}
},
has: function (a) {
return -1 !== g.a.indexOf(this.Vm, a)
},
show: function () {
for (var a = -1, b = this.Vm.length; ++a < b; ) this.Vm[a].show()
},
hide: function () {
for (var a = -1, b = this.Vm.length; ++a < b; ) this.Vm[a].hide()
},
setzIndex: function (a, b) {
g.c.add(this, 'setzIndex')
this.set('zIndex', a)
var c = this.Vm
if ('undefined' === typeof b)
for (var d = -1, e = c.length; ++d < e; ) {
var f = c[d]
f.setzIndex(a)
}
else (f = c[b]) && f.setzIndex(a)
},
bg: function (a) {
this.e = a
},
getLayers: function () {
return this.Vm
},
})
z.o.qr = z.o.Yb.extend({
Faa: { visible: !0, zIndex: 121, opacity: 1, zooms: [3, 20], collision: !0, animation: !0, alwaysRender: !0 },
w: { zooms: [3, 20] },
oP: null,
_markerBindArray: {},
A: function (a) {
this.CLASS_NAME = this.CLASS_NAME || 'AMap.LabelsLayer'
a = a || {}
g.c.ya(this, a)
arguments.callee.ma.apply(this, arguments)
this.w = this.Faa
g.a.ub(this, a)
this.jf(this.w)
this.Xf = []
this.kb = []
this.Ou = []
},
getCollision: function () {
return this.get('collision', null, !0)
},
setCollision: function () {
var a = 0 < arguments.length && void 0 !== arguments[0] ? arguments[0] : !0
this.set('collision', a)
this.w.collision = a
this.g && this.g.ub(this.w, this.Xf)
},
getOpacity: function () {
return this.get('opacity', null, !0)
},
setOpacity: function () {
var a = 0 < arguments.length && void 0 !== arguments[0] ? arguments[0] : 1
this.set('opacity', a)
this.w.opacity = a
this.g && this.g.ub(this.w, this.Xf)
},
getzIndex: function () {
return this.get('zIndex', null, !0)
},
setzIndex: function () {
var a = 0 < arguments.length && void 0 !== arguments[0] ? arguments[0] : 120
this.set('zIndex', a)
this.w.zIndex = a
this.g && this.g.ub(this.w, this.Xf)
},
getAnimation: function () {
return this.get('animation', null, !0)
},
setAnimation: function () {
var a = 0 < arguments.length && void 0 !== arguments[0] ? arguments[0] : !0
this.set('animation', a)
this.w.animation = a
this.g && this.g.ub(this.w, this.Xf)
},
getZooms: function () {
return this.get('zooms', null, !0)
},
setZooms: function () {
var a = 0 < arguments.length && void 0 !== arguments[0] ? arguments[0] : [3, 20]
this.set('zooms', a)
this.w.zooms = a
this.g && this.g.ub(this.w, this.Xf)
},
add: function (a) {
g.c.add(this, 'add')
if (a) {
a = '[object Array]' !== Object.prototype.toString.apply(a) ? [a] : a
for (var b = 0; b < a.length; b++) {
var c = a[b]
if (c) {
c.g = this
var d = c.w,
e = {
data: { id: c._LabelMarkerId || void 0, name: d.title || '', position: this.nfa(d.position) || void 0, rank: d.rank || void 0 },
opts: {
zooms: d.zooms || void 0,
opacity: 'number' === typeof d.opacity ? d.opacity : 1,
zIndex: 'number' === typeof d.zIndex ? d.zIndex : 1,
height: 'number' === typeof d.height ? d.height : 0,
icon: {},
text: {},
},
}
if (d.icon) {
var f = d.icon,
h = f.size,
k = f.clipSize
h && (f.size = this.wG(h))
k && (f.clipSize = this.wG(k))
e.opts.icon = d.icon
}
d.text && ((e.opts.text = d.text), d.text.content && (e.data.txt = d.text.content), (d = (d = e.opts.text.style) && d.padding) && (e.opts.text.style.padding = this.sha(d)))
this.Xf.push(e)
this.kb.push(c)
this._markerBindArray[c._LabelMarkerId] = c
}
}
this.Ho()
b = a.length
for (c = 0; c < b; c++) (e = a[c]) && e.Q8 && e.Q8()
}
},
getMarkers: function () {
return this.kb
},
remove: function (a) {
g.c.add(this, 'remove')
if (a) {
var b = void 0,
b = '[object Array]' !== Object.prototype.toString.apply(a) ? [a] : a
if (this.Xf) {
for (a = 0; a < b.length; a++) {
var c = this.vn(this.Xf, b[a])
;-1 !== c && (this.Xf.splice(c, 1), this.kb.splice(c, 1))
}
this.Ho()
}
}
},
clear: function () {
g.c.add(this, 'clear')
this.g && this.g.clear()
this.Xf = []
this.kb = []
},
setPosition: function () {},
positionChanged: function () {},
on: function (a) {
g.c.add(this, 'on')
this.g ? (this.Ch(arguments), this.g.X1(a)) : this.Ou.push(arguments)
},
off: function (a) {
g.c.add(this, 'off')
this.g && this.g.o$(a)
},
Ho: function () {
this.g && this.g.Qz(this.Xf)
},
Qz: function (a) {
this.W0(a)
},
IU: function (a, b) {
var c = this.oP
a && (b ? (c && c._LabelMarkerId !== a._LabelMarkerId && c.setTop(!1), (this.oP = a)) : (this.oP = null))
},
wR: function (a) {
if (this.g) return this.g.wR(a)
},
vn: function (a, b) {
for (var c = b._LabelMarkerId || null, d = 0; d < a.length; d++) if (a[d].data.id === c) return d
return -1
},
removeItem: function () {},
bg: function (a) {
this.get('map') || this.set('map', a.D, !0)
if (g.o.qr) {
this.g = new g.o.qr(this, a)
this.Xf && this.Ho()
a = this.Ou
if (a.length) {
for (var b = 0; b < a.length; b++) this.on.apply(this, a[b])
this.Ou = []
}
return this.g
}
return ['AMap.LabelsLayer']
},
m4: function (a) {
if (a) return this._markerBindArray[a] || null
},
xZ: function () {
var a = this
return g.a.LD(function (b) {
var c = a.g
c ? c.Qz(b) : (a.tD = b)
}, 100)
},
If: function (a) {
return 'undefined' === typeof a
},
QZ: function (a) {
return 'string' === typeof a
},
Aga: function (a) {
return 'number' === typeof a
},
wG: function () {
var a = 0 < arguments.length && void 0 !== arguments[0] ? arguments[0] : []
return this.If(a.width) || this.If(a.height) ? (this.QZ(a) ? a.split(',') : this.Aga(a) ? [a, a] : a) : [a.width, a.height]
},
nfa: function () {
var a = 0 < arguments.length && void 0 !== arguments[0] ? arguments[0] : []
return this.If(a.R) || this.If(a.Q) ? (this.QZ(a) ? a.split(',') : a) : [a.R, a.Q]
},
sha: function (a) {
'string' === typeof a && ((a = a.trim()), (a = a.split(' ')))
if ('[object Array]' === Object.prototype.toString.apply(a)) {
for (var b = a.length, c = 0; c < b; c++) {
var d = parseInt(a[c])
a[c] = isNaN(d) ? 3 : d
}
switch (b) {
case 0:
a = [3, 3, 3, 3]
break
case 1:
a = [a[0], a[0], a[0], a[0]]
break
case 2:
a = [a[0], a[1], a[0], a[1]]
break
case 3:
a = [a[0], a[1], a[2], a[1]]
}
return a
}
return [3, 3, 3, 3]
},
})
z.o.ML = z.o.BA.extend({
A: function (a, b, c) {
this.CLASS_NAME = 'AMap.GroundImage'
g.c.ya(this, c)
c = c || {}
this.$g = !0
var d = parseFloat(c.opacity)
isNaN(d) && (d = 1)
arguments.callee.ma.call(this, { url: a, bounds: b, clickable: c.clickable, opacity: d, map: c.map, zooms: c.zooms || [3, 20] })
this.CLASS_NAME = 'AMap.GroundImage'
},
Nua: function (a) {
this.get('bounds').contains(a.lnglat) && ((a.target = this), this.q('click', a))
},
Oua: function (a) {
this.get('bounds').contains(a.lnglat) && ((a.target = this), this.q('dblclick', a))
},
setMap: function (a) {
g.c.add(this, 'setMap')
a
? (this.get('map') && (this.get('map').sk(this), this.F2 && z.event.removeListener(this.F2), this.W2 && z.event.removeListener(this.W2)), this.set('map', a))
: this.get('map') && (this.get('map').sk(this), (this.Ce.map = null))
},
mapChanged: function () {
this.get('map') &&
(this.get('map').PH(this),
this.get('clickable') && ((this.F2 = z.event.addListener(this.get('map'), 'click', this.Nua, this)), (this.W2 = z.event.addListener(this.get('map'), 'dblclick', this.Oua, this))))
},
})
z.B.Eh = g.da.extend({
ka: [g.va, g.Ze, { Ka: g.a.Ka }],
w: { extData: {}, bubble: !1, clickable: !0, draggable: !1 },
A: function () {
this.MG = g.a.yb(this)
},
xEa: function () {
return this.MG
},
bDa: function () {
this.C = !0
this.get('map', null, !0) && this.setMap(this.get('map'))
this.C = !1
},
mapChanged: function () {
this.get('map', null, !0) && this.get('map', null, !0).sC(this)
},
cR: function (a) {
var b = 0
a && (b = 'string' === typeof a ? Math.round(parseFloat(a) / 0.14929107086948487) : a)
return b
},
setHeight: function (a) {
this.height = a = a || 0
a = this.cR(a)
this.set('altitude', a)
},
getHeight: function () {
return this.height
},
show: function () {
g.c.add(this, 'show')
!0 != this.get('visible', null, !0) && this.set('visible', !0)
},
hide: function () {
g.c.add(this, 'hide')
!1 != this.get('visible', null, !0) && this.set('visible', !1)
},
setMap: function (a) {
g.c.add(this, 'setMap')
a !== this.get('map', null, !0) &&
(a
? (this.get('map', null, !0) && this.get('map', null, !0).Jz(this), this.set('map', a))
: this.get('map', null, !0) && (this.get('map', null, !0).Jz(this), this.set('map', null, !0)))
},
getMap: function () {
g.c.add(this, 'getMap')
return this.get('map', null, !0)
},
setExtData: function (a) {
g.c.add(this, 'setExtData')
this.set('extData', a)
},
positionChanged: function () {},
getExtData: function () {
g.c.add(this, 'getExtData')
return this.get('extData', null, !0)
},
getVisible: function () {
return this.get('visible', null, !0)
},
})
z.B.fd = z.B.Eh.extend({
A: function (a) {
z.B.fd.bd.A.apply(this, arguments)
},
show: function () {
g.c.add(this, 'show')
!1 == this.get('visible', null, !0) && (this.set('visible', !0), this.q('show', { type: 'show', target: this }))
},
hide: function () {
g.c.add(this, 'hide')
!0 == this.get('visible', null, !0) && (this.set('visible', !1), this.q('hide', { type: 'hide', target: this }))
},
getVisible: function () {
g.c.add(this, 'getVisible')
return this.get('visible', null, !0)
},
getOptions: function () {
g.c.add(this, 'getOptions')
var a = {},
b = 'map zIndex strokeColor strokeOpacity strokeWeight strokeStyle strokeDasharray extData bubble clickable draggable'.split(' '),
c = 'isOutline outlineColor geodesic path lineJoin lineCap borderWeight showDir dirColor dirImg'.split(' '),
d = ['fillColor', 'fillOpacity', 'path', 'lineJoin', 'texture'],
e = ['center', 'radius', 'texture'],
f = ['bounds', 'texture'],
h = []
this instanceof z.B.Zb && (h = b.concat(c))
this instanceof z.B.Dc && (h = b.concat(d))
this instanceof z.B.gh && (h = b.concat(e).concat(d))
this instanceof z.B.Et && (h = b.concat(e).concat(d))
this instanceof z.B.Lt && (h = b.concat(d).concat(f))
for (b = 0; b < h.length; b += 1) a[h[b]] = this.get(h[b], null, !0)
return a
},
setOptions: function (a) {
g.c.add(this, 'setOptions')
a.hasOwnProperty('path') && ((a.path && a.path.length) || (a.path = []), (a.path = this.Ka(a.path)))
a.center && (a.center = this.Ka(a.center))
var b
a.hasOwnProperty('map') && ((b = a.map), delete a.map)
this.jf(a)
void 0 !== b && (this.setMap(b), (a.map = b))
this.q('options')
this.q('change', { type: 'change', target: this })
},
setzIndex: function (a) {
g.c.add(this, 'setzIndex')
this.set('zIndex', a)
},
getzIndex: function () {
g.c.add(this, 'getzIndex')
return this.get('zIndex', null, !0)
},
setDraggable: function (a) {
g.c.add(this, 'setDraggable')
this.set('draggable', a)
},
})
z.B.dM = z.B.fd.extend({
w: { visible: !0, zIndex: 10, strokeColor: '#006600', strokeOpacity: 0.9, strokeWeight: 3, strokeStyle: 'solid', strokeDasharray: [10, 5], lineJoin: 'miter', lineCap: 'butt', path: [] },
A: function (a) {
z.B.dM.bd.A.apply(this, arguments)
},
setPath: function (a, b) {
g.c.add(this, 'setPath')
;(a && a.length) || (a = [])
a = this.Ka(a)
this.B && this.B.get('deltaPos') && this.B.set('deltaPos', [0, 0], !0)
this.set('path', a)
this.q('change', { type: 'change', target: this })
b || this.q('setPath')
},
getPath: function () {
g.c.add(this, 'getPath')
return this.L2()
},
reset: function () {
var a = this.L2()
this.B.set('deltaPos', [0, 0], !0)
this.setPath(a)
},
L2: function () {
var a = this.get('path', null, !0)
this.B && this.B.get('deltaPos') && (a = this.B.St(a, this.B.get('deltaPos')))
return a
},
})
z.B.ci = g.da.extend({
ka: [g.va, g.Ze],
w: { size: new g.xd(36, 36), imageOffset: new g.H(0, 0), image: g.r.Gb + '/theme/v1.3/markers/0.png', imageSize: null },
A: function (a) {
this.CLASS_NAME = 'AMap.Icon'
g.c.ya(this, a)
a = a || {}
a.size && (a.size = g.a.Lq(a.size))
a.imageSize && (a.imageSize = g.a.Lq(a.imageSize))
g.a.ub(this, a)
this.jf(this.w)
},
setImageSize: function (a) {
g.c.add(this, 'setImageSize')
a = g.a.Lq(a)
this.set('imageSize', a)
},
getImageSize: function () {
g.c.add(this, 'getImageSize')
return this.get('imageSize', null, !0)
},
})
z.B.Paa = g.da.extend({
ka: [g.va, g.Ze],
w: { coords: [], type: '' },
A: function (a) {
this.CLASS_NAME = 'AMap.MarkerShape'
g.c.ya(this, a)
g.a.ub(this, a)
this.jf(this.w)
},
})
z.B.vb = z.B.Eh.extend({
w: {
cursor: 'pointer',
visible: !0,
zIndex: 100,
angle: 0,
textAlign: 'left',
verticalAlign: 'top',
autoRotation: !1,
opacity: 1,
offset: new g.H(-9, -31),
size: new g.H(19, 33),
raiseOnDrag: !1,
topWhenClick: !1,
topWhenMouseOver: !1,
animation: 'AMAP_ANIMATION_NONE',
},
A: function (a) {
this.CLASS_NAME = this.CLASS_NAME || 'AMap.Marker'
g.c.ya(this, a)
a = a || {}
this.$g = !0
this.hha = g.a.yb(this)
this.C = !0
a.position && (a.position = this.Ka(a.position))
a.height && this.setHeight(a.height)
g.a.ub(this, a)
g.l.Ue && (this.w.angle = 0)
this.jf(this.w, !0)
this.mapChanged()
this.C = !1
},
getAnchor: function () {
g.c.add(this, 'getAnchor')
return this.get('anchor', null, !0)
},
setAnchor: function (a) {
g.c.add(this, 'setAnchor')
this.set('anchor', a)
},
getId: function () {
g.c.add(this, 'getId')
return this.hha
},
setRaiseOnDrag: function (a) {
g.c.add(this, 'setRaiseOnDrag')
this.set('raiseOnDrag', a)
},
setPosition: function (a, b) {
g.c.add(this, 'setPosition')
a = this.Ka(a)
void 0 !== b && ((this.C = !0), this.setHeight(b), (this.C = !1))
this.set('position', a)
},
getPosition: function () {
g.c.add(this, 'getPosition')
return this.get('position', null, !0)
},
getBounds: function () {
var a = this.get('position', null, !0).cb()
return new g.oe(a, a.cb())
},
mapChanged: function () {
this.xl('zoom')
var a = this.get('map', null, !0)
a && (this.get('position', null, !0) || this.set('position', a.get('center')), a.sC(this), this.X('zoom', a))
},
getZooms: function () {
g.c.add(this, 'getZooms')
return this.get('zooms', null, !0)
},
zoomChanged: function () {
var a = this.get('zooms', null, !0)
if (a) {
var b = this.get('zoom')
b < a[0] || b > a[1] ? this.set('outOfZooms', !0) : this.set('outOfZooms', !1)
this.B && this.B.jva()
}
},
setIcon: function (a) {
g.c.add(this, 'setIcon')
this.set('icon', a)
},
getIcon: function () {
g.c.add(this, 'getIcon')
return this.get('icon', null, !0)
},
setContent: function (a) {
g.c.add(this, 'setContent')
this.set('content', a)
},
getContent: function () {
g.c.add(this, 'getContent')
return this.get('content', null, !0)
},
getContentDom: function () {
return this.get('contentDom', null, !0)
},
hide: function () {
g.c.add(this, 'hide')
!0 == this.get('visible', null, !0) && this.set('visible', !1)
},
show: function () {
g.c.add(this, 'show')
!1 == this.get('visible', null, !0) && this.set('visible', !0)
},
setCursor: function (a) {
g.c.add(this, 'setCursor')
this.set('cursor', a)
},
setRotation: function (a) {
g.c.add(this, 'setRotation')
g.l.Ue || this.set('angle', a)
},
setAngle: function (a) {
g.c.add(this, 'setAngle')
g.l.Ue || 'number' !== typeof a || this.set('angle', a)
},
getAngle: function () {
g.c.add(this, 'getAngle')
return this.get('angle', null, !0)
},
setOffset: function (a) {
g.c.add(this, 'setOffset')
this.set('offset', a)
},
getOffset: function () {
g.c.add(this, 'getOffset')
return this.get('offset', null, !0)
},
setTextAlign: function (a) {
g.c.add(this, 'setTextAlign')
this.set('textAlign', a)
},
getTextAlign: function () {
g.c.add(this, 'getTextAlign')
return this.get('textAlign', null, !0)
},
setVerticalAlign: function (a) {
g.c.add(this, 'setVerticalAlign')
this.set('verticalAlign', a)
},
getVerticalAlign: function () {
g.c.add(this, 'getVerticalAlign')
return this.get('verticalAlign', null, !0)
},
setzIndex: function (a) {
g.c.add(this, 'setzIndex')
this.set('zIndex', a)
},
getzIndex: function () {
g.c.add(this, 'getzIndex')
return this.get('zIndex', null, !0)
},
setOpacity: function (a) {
g.c.add(this, 'setOpacity')
this.set('opacity', a)
},
setDraggable: function (a) {
g.c.add(this, 'setDraggable')
this.set('draggable', a)
},
getDraggable: function () {
g.c.add(this, 'getDraggable')
return this.get('draggable', null, !0)
},
moveTo: function (a, b, c) {
g.c.add(this, 'moveTo')
a = this.Ka(a)
this.set('move', { Nf: a, speed: b, xb: c })
},
moveAlong: function (a, b, c, d) {
g.c.add(this, 'moveAlong')
if (!(2 > a.length)) {
a = this.Ka(a)
for (var e = [a[0]], f = a[0], h = 1; h < a.length; h += 1) f.gb(a[h]) || (e.push(a[h]), (f = a[h]))
this.set('move', { Nf: e, speed: b, xb: c, vna: d })
}
},
stopMove: function () {
g.c.add(this, 'stopMove')
this.set('move', !1)
},
pauseMove: function () {
g.c.add(this, 'pauseMove')
var a = this.get('move')
if (!a) return !1
a.action = 'pause'
this.set('move', a)
return !0
},
resumeMove: function () {
g.c.add(this, 'resumeMove')
var a = this.get('move')
if (!a) return !1
a.action = 'resume'
this.set('move', a)
return !0
},
setShadow: function (a) {
g.c.add(this, 'setShadow')
this.set('shadow', a)
},
getShadow: function () {
g.c.add(this, 'getShadow')
return this.get('shadow', null, !0)
},
setClickable: function (a) {
g.c.add(this, 'setClickable')
a !== this.get('clickable', null, !0) && this.set('clickable', a)
},
getClickable: function () {
g.c.add(this, 'getClickable')
return this.get('clickable', null, !0)
},
setTitle: function (a, b) {
g.c.add(this, 'setTitle')
'string' === typeof a && this.set('title', a, b)
},
getTitle: function () {
g.c.add(this, 'getTitle')
return this.get('title', null, !0)
},
setLabel: function (a) {
g.c.add(this, 'setLabel')
a && !g.a.uh(a) && (a = g.extend({}, this.get('label'), a))
this.set('label', a)
},
getLabel: function () {
g.c.add(this, 'getLabel')
return this.get('label', null, !0)
},
setTop: function (a, b) {
g.c.add(this, 'setTop')
this.set('isTop', a, b)
},
getTop: function () {
g.c.add(this, 'getTop')
return this.get('isTop', null, !0)
},
setShape: function (a, b) {
g.c.add(this, 'setShape')
this.set('shape', a, b)
},
getShape: function () {
g.c.add(this, 'getShape')
return this.get('shape', null, !0)
},
setAnimation: function (a, b) {
g.c.add(this, 'setAnimation')
this.set('animation', a, b)
},
getAnimation: function () {
g.c.add(this, 'getAnimation')
return this.get('animation', null, !0)
},
getMap: function () {
g.c.add(this, 'getMap')
return this.get('map', null, !0)
},
markOnAMAP: function (a) {
g.c.add(this, 'markOnAMAP')
a = a || {}
var b = {}
b.name = a.name || this.get('name', null, !0) || ''
a = this.Ka(a.position) || this.get('position', null, !0)
b.y = a.Q
b.x = a.R
g.$h.mt(g.$h.era(b))
},
})
z.B.Iaa = z.B.Eh.extend({
Taa: Math.pow(2, 31),
w: { position: null, zooms: [3, 20], opacity: 1, visible: !0, zIndex: 1, rank: 1, extData: null },
A: function (a) {
a = a || {}
this.CLASS_NAME = this.CLASS_NAME || 'AMap.LabelMarker'
g.c.ya(this, a)
arguments.callee.ma.apply(this, arguments)
this._LabelMarkerId = g.a.yb(this)
g.a.ub(this, a)
this.jf(this.w, !0)
this.r3 = []
},
vn: function (a, b) {
for (var c = b._LabelMarkerId || null, d = 0, e = a.length; d < e; d++) if (a[d].data.id === c) return d
return -1
},
Q8: function () {
var a = this.r3 || []
if (a.length) {
for (var b = 0, c = a.length; b < c; b++) this.on.apply(this, a[b])
this.r3 = []
}
},
hJ: function () {
var a = this.g
if (!a) return null
var a = a.Xf || [],
b = this.vn(a, this)
return -1 !== b ? a[b] : null
},
getName: function () {
g.c.add(this, 'getName')
return this.w.name
},
setName: function (a) {
g.c.add(this, 'setName')
this.w.name = a
var b = this.hJ()
b && (b.opts.title = a)
},
getBounds: function () {
g.c.add(this, 'getBounds')
var a = this.get('position', null, !0)
try {
return 'string' === typeof a ? (a = new g.U(a.split(','))) : '[object Array]' == Object.prototype.toString.apply(a) && (a = new g.U(a[0], a[1])), new g.oe(a, a.cb())
} catch (b) {
return null
}
},
getPosition: function () {
g.c.add(this, 'getPosition')
var a = this.g.Xf,
b = this.vn(a, this)
return -1 !== b ? a[b].data.position : null
},
setPosition: function (a) {
g.c.add(this, 'setPosition')
this.w.position = a
var b = this.g
if (b) {
var c = b.Xf,
d = this.vn(c, this)
;-1 !== d && ((c[d].data.position = a), b.Ho())
}
},
getZooms: function () {
g.c.add(this, 'getZooms')
var a = this.g.Xf,
b = this.vn(a, this)
return -1 !== b ? a[b].opts.zooms : null
},
setZooms: function (a) {
g.c.add(this, 'setZooms')
this.w.zooms = a
var b = this.g
if (b) {
var c = b.Xf || [],
d = this.vn(c, this)
;-1 !== d && ((c[d].opts.zooms = a), b.Ho())
}
},
getOpacity: function () {
g.c.add(this, 'getOpacity')
var a = this.g.Xf,
b = this.vn(a, this)
return -1 !== b ? a[b].opts.opacity : null
},
setOpacity: function (a) {
g.c.add(this, 'setOpacity')
this.w.opacity = a
var b = this.g
if (b) {
var c = b.Xf,
d = this.vn(c, this)
;-1 !== d && ((c[d].opts.opacity = a), b.Ho())
}
},
getzIndex: function () {
g.c.add(this, 'getzIndex')
if (this.hJ()) return this.w.zIndex
},
setzIndex: function (a) {
g.c.add(this, 'setzIndex')
this.w.zIndex = a
var b = this.hJ()
b && ((b.opts.zIndex = a), this.g.Ho())
},
getRank: function () {
g.c.add(this, 'getRank')
return this.w.rank
},
setRank: function (a) {
g.c.add(this, 'setZIndex')
var b = this.hJ()
this.w.rank = a
b && ((b.data.rank = a), this.g.Ho())
},
getIcon: function () {
g.c.add(this, 'getIcon')
return this.w.icon
},
setIcon: function (a) {
g.c.add(this, 'setIcon')
this.w.icon = this.w.icon ? g.extend({}, this.w.icon, a) : a
var b = this.g
if (b) {
var b = b.Xf,
c = this.vn(b, this)
if (-1 !== c) {
var d = a.size,
e = a.clipSize
d && (a.size = this.g.wG(d))
e && (a.clipSize = this.g.wG(e))
b[c].opts.icon = g.extend({}, b[c].opts.icon, a)
this.g.Ho()
}
}
},
getText: function () {
g.c.add(this, 'getText')
return this.w.text
},
setText: function (a) {
g.c.add(this, 'setText')
this.w.text = this.w.text ? g.extend({}, this.w.text, a) : a
var b = this.g
if (b) {
var b = b.Xf,
c = this.vn(b, this)
;-1 !== c &&
((b[c].data.txt = void 0 == a.content ? b[c].data.txt : a.content),
(b[c].opts.text = g.extend({}, b[c].opts.text, a)),
a.style && (b[c].opts.text.style = g.extend({}, b[c].opts.text.style, a.style)),
this.g.Ho())
}
},
setTop: function () {
var a = 0 < arguments.length && void 0 !== arguments[0] ? arguments[0] : !0
g.c.add(this, 'setTop')
this.g && this.g.IU(this, a)
a ? ((this.yca = this.w.zIndex), this.setzIndex(this.Taa)) : this.setzIndex(this.yca || this.w.zIndex)
},
getVisible: function () {
g.c.add(this, 'getVisible')
var a = this.w.visible
this.g && a && (a = !this.g.wR(this._LabelMarkerId))
return a
},
getExtData: function () {
g.c.add(this, 'getExtData')
return this.w.extData
},
setExtData: function (a) {
g.c.add(this, 'setExtData')
this.w.extData = a
},
getOptions: function () {
return this.w
},
show: function () {
g.c.add(this, 'show')
this.w.visible = !0
this.g && this.g.add(this)
return this
},
hide: function () {
g.c.add(this, 'hide')
this.w.visible = !1
this.g && this.g.remove(this)
return this
},
})
z.B.Tn = z.B.Eh.extend({
w: { visible: !1, items: [] },
A: function (a) {
this.CLASS_NAME = 'AMap.ContextMenu'
g.c.ya(this, a)
this.$g = !0
g.a.ub(this, a)
this.w.items = []
this.jf(this.w)
},
addItem: function (a, b, c) {
g.c.add(this, 'addItem')
this.get('items').push({ Qn: a, xb: b, jK: c })
this.q('items')
},
removeItem: function (a, b) {
g.c.add(this, 'removeItem')
var c = this.get('items'),
d,
e
for (e = 0; e < c.length; e += 1)
if (((d = c[e]), d.Qn === a && d.xb === b)) {
c.splice(e, 1)
break
}
this.q('items')
},
open: function (a, b) {
g.c.add(this, 'open')
this.C = !0
b = g.a.Ka(b)
this.set('position', b)
this.map ? this.map && this.map !== a && (this.map.Jz(this), (this.map = a), this.setMap(a)) : ((this.map = a), this.setMap(a))
this.q('open', { type: 'open', target: this })
this.C = !1
},
close: function () {
g.c.add(this, 'close')
this.C = !0
this.setMap(null)
this.map && ((this.map = this.map.ry = null), this.q('close', { type: 'close', target: this }))
this.C = !1
},
})
z.B.Ye = z.B.Eh.extend({
w: { visible: !0, offset: new g.H(0, 0), showShadow: !1, closeWhenClickMap: !1, retainWhenClose: !0, autoMove: !0, altitude: 0, anchor: 'bottom-center' },
A: function (a) {
this.CLASS_NAME = this.CLASS_NAME || 'AMap.InfoWindow'
g.c.ya(this, a)
a = a || {}
this.$g = !0
a && a.size && (a.size = g.a.Lq(a.size))
g.a.ub(this, a)
this.jf(this.w)
a.position && this.set('position', g.a.Ka(a.position), !0)
a.height && this.set('altitude', this.cR(a.height), !0)
},
open: function (a, b, c) {
g.c.add(this, 'open')
b = g.a.Ka(b)
if (a && !this.hL && (b = b || this.get('position', null, !0))) {
this.q('change', { type: 'change', target: this })
c = this.cR(c) || this.get('altitude')
var d = this.get('map', null, !0)
d && d === a
? (this.set('altitude', c, !0), this.set('position', b))
: ((this.map = a), a.rm && a.rm.close(), this.set('position', b, !0), this.set('altitude', c, !0), (this.C = !0), this.setMap(a), (this.C = !1))
this.q('open', { type: 'open', target: this })
}
},
close: function () {
g.c.add(this, 'close')
this.B && this.B.map && ((this.C = !0), this.setMap(null), (this.map = null), this.q('change', { type: 'change', target: this }), (this.C = !1))
},
getAnchor: function () {
g.c.add(this, 'getAnchor')
return this.get('anchor', null, !0)
},
setAnchor: function (a) {
g.c.add(this, 'setAnchor')
this.set('anchor', a)
this.q('change', { type: 'change', target: this })
},
setContent: function (a) {
g.c.add(this, 'setContent')
this.set('content', a)
this.q('change', { type: 'change', target: this })
},
getContentU: function () {
g.c.add(this, 'getContentU')
return this.get('content', null, !0)
},
getContentDom: function () {
return this.get('contentDom', null, !0)
},
getContent: function () {
g.c.add(this, 'getContent')
return this.get('content', null, !0)
},
setPosition: function (a) {
g.c.add(this, 'setPosition')
a = g.a.Ka(a)
this.set('position', a)
this.q('change', { type: 'change', target: this })
},
setOffset: function (a) {
g.c.add(this, 'setOffset')
this.set('offset', a)
this.q('change', { type: 'change', target: this })
},
getPosition: function () {
g.c.add(this, 'getPosition')
return this.get('position', null, !0)
},
setSize: function (a) {
g.c.add(this, 'setSize')
a = g.a.Lq(a)
this.set('size', a)
this.q('change', { type: 'change', target: this })
},
getSize: function (a) {
g.c.add(this, 'getSize')
var b = this.get('size', null, !0)
if (b) return b
if (this.B && !a) return new g.xd(this.B.ph.offsetWidth, this.B.ph.offsetHeight)
},
getIsOpen: function () {
g.c.add(this, 'getIsOpen')
return !!this.get('map')
},
})
z.B.Zb = z.B.dM.extend({
w: { isOutline: !1, outlineColor: '#000000', geodesic: !1, dirColor: 'white', showDir: !1, borderWeight: 1 },
A: function (a) {
this.CLASS_NAME = this.CLASS_NAME || 'AMap.Polyline'
g.c.ya(this, a)
this.C = !0
z.B.Zb.bd.A.apply(this, arguments)
this.$g = !0
a = a || {}
a.zIndex = 'number' === typeof a.zIndex ? a.zIndex : 50
a.path && (a.path = this.Ka(a.path))
g.a.ub(this, a)
this.setOptions(this.w)
this.C = !1
},
getLength: function () {
g.c.add(this, 'getLength')
for (var a = this.get('path'), b = 0, c = 0; c < a.length - 1; c += 1) b += a[c].Ge(a[c + 1])
return parseFloat(b.toFixed(2))
},
getBounds: function () {
var a = this.get('path')
if (!a || !a.length) return null
for (var b = new g.oe(180, 90, -180, -90), c = a.length - 1; 0 <= c; c -= 1) b.extend(a[c])
return b
},
})
;(function (a) {
function b(a, b, c, d) {
if (1 <= a) return d
var e = 1 - a
return e * e * b + 2 * e * a * c + a * a * d
}
function c(a, b, c, d, e) {
if (1 <= a) return e
var f = 3 * (c[0] - b[0]),
h = 3 * (d[0] - c[0]) - f,
s = 3 * (c[1] - b[1])
c = 3 * (d[1] - c[1]) - s
return [(e[0] - b[0] - f - h) * Math.pow(a, 3) + h * Math.pow(a, 2) + f * a + b[0], (e[1] - b[1] - s - c) * Math.pow(a, 3) + c * Math.pow(a, 2) + s * a + b[1]]
}
function d(a, c, d, e) {
return [b(a, c[0], d[0], e[0]), b(a, c[1], d[1], e[1])]
}
function e(b, c) {
c = a.a.Ka(c)
return b.MD(c, 20).wl()
}
function f(b, c) {
a.a.isArray(c) && (c = new a.H(c[0], c[1]))
return b.lE(c, 20)
}
function h(b, f, h, n, p, q) {
var r = null
if (b && h && h.length) {
b = [b]
b.push.apply(b, h)
b.push(f)
h = 0
for (r = b.length; h < r; h++) b[h] = e(n, b[h])
h = a.extend({ tolerance: 4, interpolateNumLimit: [3, 300] }, q)
q = h.tolerance
h = h.interpolateNumLimit
q = Math.max(2, q)
for (var s = (r = 0), u = 0, v = b.length; u < v - 1; u++) var w = b[u], t = b[u + 1], r = r + Math.abs(t[0] - w[0]), s = s + Math.abs(t[1] - w[1])
a: {
p = Math.min(h[1], Math.max(h[0], Math.round(Math.max(r, s) / p / q)))
q = null
switch (b.length) {
case 3:
q = d
break
case 4:
q = c
break
default:
r = null
break a
}
h = []
r = [0].concat(b)
for (s = 1; s < p - 2; s++) (r[0] = s / p), h.push(q.apply(null, r))
h.push(b[b.length - 1])
r = h
}
}
return r || [e(n, f)]
}
a.Kw = {
LGa: d,
rDa: c,
EI: (function () {
function a(b, c, d) {
return (((1 - 3 * d + 3 * c) * b + (3 * d - 6 * c)) * b + 3 * c) * b
}
function b(a) {
return a
}
var c = {},
d = 'function' === typeof Float32Array
return function (e, f, h, s) {
function u(b) {
if (0 === b) b = 0
else if (1 === b) b = 1
else {
for (var c = 0, d = 1; 10 !== d && w[d] <= b; ++d) c += 0.1
--d
var d = c + ((b - w[d]) / (w[d + 1] - w[d])) * 0.1,
l = 3 * (1 - 3 * h + 3 * e) * d * d + 2 * (3 * h - 6 * e) * d + 3 * e
if (0.001 <= l) {
for (c = 0; 4 > c; ++c) {
l = 3 * (1 - 3 * h + 3 * e) * d * d + 2 * (3 * h - 6 * e) * d + 3 * e
if (0 === l) break
d -= (a(d, e, h) - b) / l
}
b = d
} else if (0 === l) b = d
else {
var d = c,
c = c + 0.1,
m,
n = 0
do (m = d + (c - d) / 2), (l = a(m, e, h) - b), 0 < l ? (c = m) : (d = m)
while (1e-7 < Math.abs(l) && 10 > ++n)
b = m
}
b = a(b, f, s)
}
return b
}
if (!(0 <= e && 1 >= e && 0 <= h && 1 >= h)) throw Error('bezier x values must be in [0, 1] range')
var v = arguments.toString()
if (c[v]) return c[v]
if (e === f && h === s) return b
for (var w = d ? new Float32Array(11) : Array(11), t = 0; 11 > t; ++t) w[t] = a(0.1 * t, e, h)
return (c[v] = u)
}
})(),
h4: function (a, b, c, d) {
var e,
f,
r = []
e = 0
for (f = a.length; e < f; e += 1) r.push.apply(r, h(a[e - 1], a[e], a[e].controlPoints, b, c, d))
return r
},
Sqa: function (a, b, c, d) {
a = this.h4(a, b, c, d)
c = []
d = 0
for (var e = a.length; d < e; d++) c.push(f(b, a[d]))
return c
},
}
})(g)
z.B.sA = z.B.Zb.extend({
w: { tolerance: 4, interpolateNumLimit: [3, 300] },
A: function (a) {
this.CLASS_NAME = 'AMap.BezierCurve'
g.c.ya(this, a)
z.B.sA.bd.A.apply(this, arguments)
},
getLength: function () {
g.c.add(this, 'getLength')
this.get('map')
this.C = !0
var a = this.getInterpolateLngLats()
this.C = !1
return g.Ft.distanceOfLine(a)
},
getInterpolateLngLats: function () {
g.c.add(this, 'getInterpolateLngLats')
var a = this.get('map')
return g.Kw.Sqa(this.get('path'), (a && a.mj) || g.Zh.IL, Math.pow(2, 2), this.w)
},
getSerializedPath: function () {
g.c.add(this, 'getSerializedPath')
for (var a = this.get('path', null, !0), b = [], c = 0, d = a.length; c < d; c++) {
var e = a[c]
if (e instanceof g.U) {
var f = []
if (e.controlPoints) for (var h = 0, k = e.controlPoints.length; h < k; h++) f.push(e.controlPoints[h].AR()), f.push(e.controlPoints[h].xR())
f.push(e.AR())
f.push(e.xR())
b.push(f)
} else b.push(e)
}
return b
},
Ka: function (a) {
var b = typeof a[0]
if (g.a.isArray(a) && 'object' === b) {
for (b = 0; b < a.length; b += 1) a[b] = this.zja(a[b])
return a
}
return [this.qGa(a)]
},
zja: function (a) {
var b
if (a instanceof g.U) b = a
else {
b = typeof a[0]
var c,
d,
e = []
if ('string' === b || 'number' === b) {
d = a.length
if (d % 2) throw Error("LngLat number should be even, now it's " + d)
b = new g.U(a[d - 2], a[d - 1])
c = 0
for (d -= 2; c < d; c += 2) e.push(new g.U(a[c], a[c + 1]))
} else if (g.a.isArray(a[0])) for (d = a.length, b = new g.U(a[d - 1][0], a[d - 1][1]), c = 0, d -= 1; c < d; c++) e.push(new g.U(a[c][0], a[c][1]))
else throw Error("AMap.LngLat expected, now it's " + a)
b && e.length && (b.controlPoints = g.a.Ka(e))
}
if (b.controlPoints && 2 < b.controlPoints.length) throw Error('Control Points Number should be 1 or 2 !')
return b
},
})
z.B.Dc = z.B.dM.extend({
A: function (a) {
this.CLASS_NAME = this.CLASS_NAME || 'AMap.Polygon'
g.c.ya(this, a)
this.C = !0
z.B.Dc.bd.A.apply(this, arguments)
this.$g = !0
a = a || {}
a.zIndex = 'number' === typeof a.zIndex ? a.zIndex : 10
a.path && (a.path = this.Ka(a.path))
g.a.ub(this, g.extend({ fillColor: '#FFAA00', fillOpacity: 0.9 }, a))
this.setOptions(this.w)
this.C = !1
},
w4: function (a) {
var b = (6378137 * Math.PI) / 180,
c = 0,
d = a.length
if (3 > d) return 0
for (var e = 0; e < d - 1; e += 1)
var f = a[e], h = a[e + 1], k = f.R * b * Math.cos((f.Q * Math.PI) / 180), f = f.Q * b, l = h.R * b * Math.cos((h.Q * Math.PI) / 180), c = c + (k * h.Q * b - l * f)
e = a[e]
a = a[0]
d = e.R * b * Math.cos((e.Q * Math.PI) / 180)
e = e.Q * b
h = a.R * b * Math.cos((a.Q * Math.PI) / 180)
c += d * a.Q * b - h * e
return 0.5 * Math.abs(c)
},
bK: function (a) {
return a.length ? (a[0] instanceof g.U ? [[a]] : a[0] instanceof Array && a[0][0] instanceof g.U ? [a] : a) : a
},
getArea: function () {
g.c.add(this, 'getArea')
for (var a = this.get('path', null, !0), a = this.bK(a), b = 0, c = 0, d = a.length; c < d; c += 1)
for (var e = a[c], b = b + this.w4(e[0]), f = 1; f < e.length; f += 1) b -= this.w4(e[f])
return Number(b.toFixed(2))
},
toString: function () {
g.c.add(this, 'toString')
for (var a = this.get('path'), a = this.bK(a), b = [], c = 0, d = a.length; c < d; c += 1) {
for (var e = a[c], f = [], h = 0, k = e.length; h < k; h += 1) f.push(e[h].join(';'))
b.push(f.join('|'))
}
return b.join('^')
},
getBounds: function () {
var a = this.get('path')
if (a && a.length) {
for (var a = this.bK(a), b = new g.oe(180, 90, -180, -90), c = 0, d = a.length; c < d; c += 1) for (var e = a[c][0], f = e.length - 1; 0 <= f; f -= 1) b.extend(e[f])
return b
}
return null
},
contains: function (a) {
g.c.add(this, 'contains')
a = g.a.Ka(a)
var b = this.get('path'),
b = this.bK(b)
a = [a.R, a.Q]
for (var c = 0, d = b.length; c < d; c += 1) {
for (var e = b[c], f = !1, h = 0, k = e.length; h < k && ((f = this.dna(e[h])), g.wd.uq(f) || f.reverse(), (f = g.wd.Sd(a, f, 0 === h ? !0 : !1)), 0 < h && (f = !f), f); h += 1);
if (f) return !0
}
return !1
},
dna: function (a) {
for (var b = [], c = 0; c < a.length; c += 1) b.push([a[c].R, a[c].Q])
return b
},
})
z.B.gh = z.B.fd.extend({
w: {
visible: !0,
zIndex: 10,
strokeColor: '#006600',
strokeOpacity: 0.9,
strokeWeight: 3,
strokeStyle: 'solid',
strokeDasharray: [10, 5],
radius: 1e3,
fillColor: '#006600',
fillOpacity: 0.9,
unit: 'miter',
},
A: function (a) {
this.CLASS_NAME = this.CLASS_NAME || 'AMap.Circle'
g.c.ya(this, a)
this.C = !0
z.B.gh.bd.A.apply(this, arguments)
a = a || {}
a.center && (a.center = g.a.Ka(a.center))
a.zIndex = 'number' === typeof a.zIndex ? a.zIndex : 10
g.a.jk(a.radius, 'string') && ((a.radius = parseFloat(a.radius)), isNaN(a.radius) && delete a.radius)
g.a.ub(this, a)
this.$g = this.w.center ? !0 : !1
this.setOptions(this.w)
this.C = !1
},
setCenter: function (a, b) {
g.c.add(this, 'setCenter')
;(a = g.a.Ka(a)) &&
a instanceof g.U &&
(this.B && this.B.get('deltaPos') && this.B.set('deltaPos', [0, 0], !0),
this.set('center', a),
this.q('change', { type: 'change', target: this }),
this.$g || ((this.$g = !0), this.get('map') && this.get('map').q('overlays')),
b || this.q('setCenter'))
},
getCenter: function () {
g.c.add(this, 'getCenter')
var a = this.get('center', null, !0)
this.B && this.B.get('deltaPos') && (a = this.B.St([a], this.B.get('deltaPos'))[0])
return a
},
reset: function () {
var a = this.get('center', null, !0)
this.B && this.B.get('deltaPos') && ((a = this.B.St([a], this.B.get('deltaPos'))[0]), this.B.set('deltaPos', [0, 0], !0))
this.set('center', a)
},
setRadius: function (a, b) {
g.c.add(this, 'setRadius')
this.set('radius', a)
this.q('change', { type: 'change', target: this })
b || this.q('setRadius')
},
getPath: function (a) {
g.c.add(this, 'getPath')
a = a || 36
for (var b = this.get('center', null, !0), c = this.get('radius', null, !0), d = [], e = 0; e < a; e += 1) {
var f = ((Math.PI * e) / a) * 2,
h = Math.cos(f) * c,
f = Math.sin(f) * c
d.push(b.offset(h, f))
}
return d
},
getRadius: function () {
g.c.add(this, 'getRadius')
return this.get('radius', null, !0)
},
getBounds: function () {
var a = this.get('center'),
b = this.get('radius')
if (!a) return null
var c = a.offset(-b, -b),
a = a.offset(b, b)
return new g.oe(c, a)
},
contains: function (a) {
g.c.add(this, 'contains')
return this.get('center').Ge(a) <= this.get('radius') ? !0 : !1
},
})
z.B.VV = z.B.gh.extend({
A: function (a) {
this.CLASS_NAME = 'AMap.CircleMarker'
g.c.ya(this, a)
a = a || {}
a.unit = 'px'
void 0 === a.radius ? (a.radius = 20) : g.a.jk(a.radius, 'string') && ((a.radius = parseFloat(a.radius)), isNaN(a.radius) && (a.radius = 20))
z.B.VV.bd.A.apply(this, arguments)
},
getBounds: function () {
this.C = !0
var a = this.getCenter()
this.C = !1
return new g.oe(a, a.cb())
},
contains: function (a) {
g.c.add(this, 'contains')
this.C = !0
var b = this.getMap()
this.C = !1
if (!b) return !1
var c = this.get('center')
b.C = !0
var d = !1
c.Ge(a) <= this.get('radius') * b.getResolution(c) && (d = !0)
b.C = !1
return d
},
})
var sc = g.da.extend({
A: function (a) {
var b = Array(3),
c
c = a instanceof Array ? a : a instanceof g.Fl || a instanceof g.Pa ? a.elements : arguments
b[0] = c[0] || 0
b[1] = c[1] || 0
b[2] = c[2] || 0
this.elements = b
},
length: function () {
return Math.sqrt(this.k6())
},
k6: function () {
var a = this.elements
return a[0] * a[0] + a[1] * a[1] + a[2] * a[2]
},
normalize: function () {
var a = this.elements,
b = a[0],
c = a[1],
d = a[2],
e = Math.sqrt(b * b + c * c + d * d)
if (e) {
if (1 === e) return this
} else return (a[0] = 0), (a[1] = 0), (a[2] = 0), this
e = 1 / e
a[0] = b * e
a[1] = c * e
a[2] = d * e
return this
},
cb: function () {
return new g.Pa(this)
},
copy: function (a) {
var b = this.elements
a = a.elements
b[0] = a[0]
b[1] = a[1]
b[2] = a[2]
return this
},
set: function (a, b, c) {
var d = this.elements
d[0] = a
d[1] = b
d[2] = c
},
gb: function (a) {
var b = this.elements
a = a.elements
return b[0] === a[0] && b[1] === a[1] && b[2] === a[2]
},
Kn: function (a) {
var b = this.elements
b[0] *= a
b[1] *= a
b[2] *= a
return this
},
add: function (a) {
var b = this.elements
a = a.elements
b[0] += a[0]
b[1] += a[1]
b[2] += a[2]
return this
},
$la: function (a, b) {
var c = a.elements,
d = b.elements,
e = this.elements
e[0] = c[0] + d[0]
e[1] = c[1] + d[1]
e[2] = c[2] + d[2]
return this
},
sub: function (a) {
a = a.elements
var b = this.elements
b[0] -= a[0]
b[1] -= a[1]
b[2] -= a[2]
return this
},
Vz: function (a, b) {
var c = a.elements,
d = b.elements,
e = this.elements
e[0] = c[0] - d[0]
e[1] = c[1] - d[1]
e[2] = c[2] - d[2]
return this
},
hs: function (a) {
a = a.elements
var b = this.elements
b[0] = b[1] * a[2] - b[2] * a[1]
b[1] = b[2] * a[0] - b[0] * a[2]
b[2] = b[0] * a[1] - b[1] * a[0]
return this
},
wy: function (a, b) {
var c = a.elements,
d = b.elements,
e = this.elements
e[0] = c[1] * d[2] - c[2] * d[1]
e[1] = c[2] * d[0] - c[0] * d[2]
e[2] = c[0] * d[1] - c[1] * d[0]
return this
},
Lf: function (a) {
a = a.elements
var b = this.elements
return b[0] * a[0] + b[1] * a[1] + b[2] * a[2]
},
Ge: function (a) {
return Math.sqrt(this.d3(a))
},
d3: function (a) {
var b = a.elements,
c = this.elements
a = c[0] - b[0]
var d = c[1] - b[1],
b = c[2] - b[2]
return a * a + d * d + b * b
},
sf: function (a) {
var b = this.elements[0],
c = this.elements[1],
d = this.elements[2]
a = a.elements
var e = 1 / (a[3] * b + a[7] * c + a[11] * d + a[15])
this.elements[0] = (a[0] * b + a[4] * c + a[8] * d + a[12]) * e
this.elements[1] = (a[1] * b + a[5] * c + a[9] * d + a[13]) * e
this.elements[2] = (a[2] * b + a[6] * c + a[10] * d + a[14]) * e
return this
},
})
g.Pa = sc
g.Pa.Xb({ Lf: 'dot', cb: 'clone', add: 'add', sub: 'sub', $la: 'addVectors', Vz: 'subVectors', wy: 'crossVectors', normalize: 'normalize', length: 'length' })
var vc = g.da.extend({
A: function (a) {
var b = Array(4),
c
c = a instanceof Array ? a : arguments
b[0] = c[0]
b[1] = c[1]
b[2] = c[2]
b[3] = c[3] || 1
this.elements = b
},
copy: function (a) {
var b = this.elements
a = a.elements
b[0] = a[0]
b[1] = a[1]
b[2] = a[2]
b[3] = void 0 !== a[3] ? a[3] : 1
return this
},
multiply: function (a) {
var b = this.elements
b[0] *= a
b[1] *= a
b[2] *= a
b[3] *= a
},
sf: function (a) {
var b = this.elements[0],
c = this.elements[1],
d = this.elements[2],
e = this.elements[3]
a = a.elements
this.elements[0] = a[0] * b + a[4] * c + a[8] * d + a[12] * e
this.elements[1] = a[1] * b + a[5] * c + a[9] * d + a[13] * e
this.elements[2] = a[2] * b + a[6] * c + a[10] * d + a[14] * e
this.elements[3] = a[3] * b + a[7] * c + a[11] * d + a[15] * e
return this
},
})
g.Fl = vc
function wc(a, b) {
this.vz = void 0 !== a ? a : new g.Pa(1, 0, 0)
this.KC = void 0 !== b ? b : 0
}
g.Vw = wc
wc.prototype = {
set: function (a, b) {
this.vz.copy(a)
this.KC = b
return this
},
normalize: function () {
var a = 1 / this.vz.length()
this.vz.Kn(a)
this.KC *= a
return this
},
xI: function (a) {
return this.vz.Lf(a) + this.KC
},
}
function xc(a, b, c, d, e) {
a.vz.set(b, c, d)
a.KC = e
return a
}
function yc(a, b, c, d, e, f) {
this.iE = [
void 0 !== a ? a : new g.Vw(),
void 0 !== b ? b : new g.Vw(),
void 0 !== c ? c : new g.Vw(),
void 0 !== d ? d : new g.Vw(),
void 0 !== e ? e : new g.Vw(),
void 0 !== f ? f : new g.Vw(),
]
}
g.eW = yc
yc.prototype = {
set: function (a, b, c, d, e, f) {
var h = this.iE
h[0].copy(a)
h[1].copy(b)
h[2].copy(c)
h[3].copy(d)
h[4].copy(e)
h[5].copy(f)
return this
},
cb: function () {
return new g.eW().copy(this)
},
copy: function (a) {
for (var b = this.iE, c = 0; 6 > c; c++) b[c].copy(a.iE[c])
return this
},
yJ: (function () {
var a = new g.Pa(),
b = new g.Pa(),
c = a.elements,
d = b.elements
return function (e) {
var f = this.iE,
h = e.max.elements
e = e.min.elements
for (var k = 0; 6 > k; k++) {
var l = f[k],
m = l.vz.elements
c[0] = 0 < m[0] ? e[0] : h[0]
d[0] = 0 < m[0] ? h[0] : e[0]
c[1] = 0 < m[1] ? e[1] : h[1]
d[1] = 0 < m[1] ? h[1] : e[1]
c[2] = 0 < m[2] ? e[2] : h[2]
d[2] = 0 < m[2] ? h[2] : e[2]
m = l.xI(a)
l = l.xI(b)
if (0 > m && 0 > l) return !1
}
return !0
}
})(),
}
;(function (a) {
function b(a) {
this.elements = a || [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1]
}
a.cM = function (a) {
this.elements = [a.elements[0], a.elements[1], a.elements[2], a.elements[4], a.elements[5], a.elements[6], a.elements[8], a.elements[9], a.elements[10]]
}
b.prototype.CU = function () {
var a = this.elements
a[0] = 1
a[4] = 0
a[8] = 0
a[12] = 0
a[1] = 0
a[5] = 1
a[9] = 0
a[13] = 0
a[2] = 0
a[6] = 0
a[10] = 1
a[14] = 0
a[3] = 0
a[7] = 0
a[11] = 0
a[15] = 1
}
b.prototype.set = function (a) {
if (a.elements !== this.elements) return (this.elements = a.elements.slice(0)), this
}
b.prototype.toFixed = function (b) {
for (var d = this.elements, e = 0; 16 > e; ++e) 0 !== d[e] && (d[e] = a.a.wb(d[e], b))
return this
}
b.prototype.concat = function (a) {
var b, e, f, h, k, l, m
e = b = this.elements
f = a.elements
if (b === f) for (f = Array(16), a = 0; 16 > a; ++a) f[a] = b[a]
for (a = 0; 4 > a; a++)
(h = e[a]),
(k = e[a + 4]),
(l = e[a + 8]),
(m = e[a + 12]),
(b[a] = h * f[0] + k * f[1] + l * f[2] + m * f[3]),
(b[a + 4] = h * f[4] + k * f[5] + l * f[6] + m * f[7]),
(b[a + 8] = h * f[8] + k * f[9] + l * f[10] + m * f[11]),
(b[a + 12] = h * f[12] + k * f[13] + l * f[14] + m * f[15])
return this
}
b.multiply = function (b, d) {
var e = Array(16),
f,
h,
k,
l,
m,
n,
p
k = h = b.elements
l = d.elements
if (h === l) for (f = 0; 16 > f; ++f) e[f] = h[f]
for (f = 0; 4 > f; f++)
(h = k[f]),
(m = k[f + 4]),
(n = k[f + 8]),
(p = k[f + 12]),
(e[f] = h * l[0] + m * l[1] + n * l[2] + p * l[3]),
(e[f + 4] = h * l[4] + m * l[5] + n * l[6] + p * l[7]),
(e[f + 8] = h * l[8] + m * l[9] + n * l[10] + p * l[11]),
(e[f + 12] = h * l[12] + m * l[13] + n * l[14] + p * l[15])
return new a.Cc(e)
}
b.prototype.multiply = b.prototype.concat
b.prototype.Ah = function (b) {
var d = this.elements
b = b.elements
var e = new a.Fl(),
f = e.elements
f[0] = b[0] * d[0] + b[1] * d[4] + b[2] * d[8] + b[3] * d[12]
f[1] = b[0] * d[1] + b[1] * d[5] + b[2] * d[9] + b[3] * d[13]
f[2] = b[0] * d[2] + b[1] * d[6] + b[2] * d[10] + b[3] * d[14]
f[3] = b[0] * d[3] + b[1] * d[7] + b[2] * d[11] + b[3] * d[15]
return e
}
b.prototype.cA = function () {
var a, b
a = this.elements
b = a[1]
a[1] = a[4]
a[4] = b
b = a[2]
a[2] = a[8]
a[8] = b
b = a[3]
a[3] = a[12]
a[12] = b
b = a[6]
a[6] = a[9]
a[9] = b
b = a[7]
a[7] = a[13]
a[13] = b
b = a[11]
a[11] = a[14]
a[14] = b
return this
}
b.prototype.Axa = function (a) {
var b, e, f
b = a.elements
a = this.elements
e = []
e[0] = b[5] * (b[10] * b[15] - b[11] * b[14]) - b[9] * (b[6] * b[15] + b[7] * b[14]) + b[13] * (b[6] * b[11] - b[7] * b[10])
e[4] = -b[4] * (b[10] * b[15] - b[11] * b[14]) + b[8] * (b[6] * b[15] - b[7] * b[14]) - b[12] * (b[6] * b[11] - b[7] * b[10])
e[8] = b[4] * (b[9] * b[15] - b[11] * b[13]) - b[8] * (b[5] * b[15] - b[7] * b[13]) + b[12] * (b[5] * b[11] - b[7] * b[9])
e[12] = -b[4] * (b[9] * b[14] - b[10] * b[13]) + b[8] * (b[5] * b[14] - b[6] * b[13]) - b[12] * (b[5] * b[10] - b[6] * b[9])
e[1] = -b[1] * (b[10] * b[15] - b[11] * b[14]) + b[9] * (b[2] * b[15] - b[3] * b[14]) - b[13] * (b[2] * b[11] - b[3] * b[10])
e[5] = b[0] * (b[10] * b[15] - b[11] * b[14]) - b[8] * (b[2] * b[15] - b[3] * b[14]) + b[12] * (b[2] * b[11] - b[3] * b[10])
e[9] = -b[0] * (b[9] * b[15] - b[11] * b[13]) + b[8] * (b[1] * b[15] - b[3] * b[13]) - b[12] * (b[1] * b[11] - b[3] * b[9])
e[13] = b[0] * (b[9] * b[14] - b[10] * b[13]) - b[8] * (b[1] * b[14] - b[2] * b[13]) + b[12] * (b[1] * b[10] - b[2] * b[9])
e[2] = b[1] * (b[6] * b[15] - b[7] * b[14]) - b[5] * (b[2] * b[15] - b[3] * b[14]) + b[13] * (b[2] * b[7] - b[3] * b[6])
e[6] = -b[0] * (b[6] * b[15] - b[7] * b[14]) + b[4] * (b[2] * b[15] - b[3] * b[14]) - b[12] * (b[2] * b[7] - b[3] * b[6])
e[10] = b[0] * (b[5] * b[15] - b[7] * b[13]) - b[4] * (b[1] * b[15] - b[3] * b[13]) + b[12] * (b[1] * b[7] - b[3] * b[5])
e[14] = -b[0] * (b[5] * b[14] - b[6] * b[13]) + b[4] * (b[1] * b[14] - b[2] * b[13]) - b[12] * (b[1] * b[6] - b[2] * b[5])
e[3] = -b[1] * (b[6] * b[11] - b[7] * b[10]) + b[5] * (b[2] * b[11] - b[3] * b[10]) - b[9] * (b[2] * b[7] - b[3] * b[6])
e[7] = b[0] * (b[6] * b[11] - b[7] * b[10]) - b[4] * (b[2] * b[11] + b[3] * b[10]) + b[8] * (b[2] * b[7] - b[3] * b[6])
e[11] = -b[0] * (b[5] * b[11] + b[7] * b[9]) + b[4] * (b[1] * b[11] - b[3] * b[9]) - b[8] * (b[1] * b[7] + b[3] * b[5])
e[15] = b[0] * (b[5] * b[10] - b[6] * b[9]) - b[4] * (b[1] * b[10] + b[2] * b[9]) + b[8] * (b[1] * b[6] - b[2] * b[5])
f = b[0] * e[0] + b[1] * e[4] + b[2] * e[8] + b[3] * e[12]
if (0 === f) return this
f = 1 / f
for (b = 0; 16 > b; b++) a[b] = e[b] * f
return this
}
b.prototype.Dg = function () {
return new b().Axa(this)
}
b.prototype.FU = function (a, b, e, f, h, k) {
var l, m, n, p
if (a === b || e === f || h === k) throw 'null frustum'
m = 1 / (b - a)
n = 1 / (f - e)
p = 1 / (k - h)
l = this.elements
l[0] = 2 * m
l[1] = 0
l[2] = 0
l[3] = 0
l[4] = 0
l[5] = 2 * n
l[6] = 0
l[7] = 0
l[8] = 0
l[9] = 0
l[10] = -2 * p
l[11] = 0
l[12] = -(b + a) * m
l[13] = -(f + e) * n
l[14] = -(k + h) * p
l[15] = 1
return this
}
b.prototype.hva = function (a, d, e, f, h, k) {
return this.concat(new b().FU(a, d, e, f, h, k))
}
b.prototype.yxa = function (a, b, e, f, h, k) {
var l, m, n, p
if (a === b || f === e || h === k) throw 'null frustum'
if (0 >= h) throw 'near <= 0'
if (0 >= k) throw 'far <= 0'
m = 1 / (b - a)
n = 1 / (f - e)
p = 1 / (k - h)
l = this.elements
l[0] = 2 * h * m
l[1] = 0
l[2] = 0
l[3] = 0
l[4] = 0
l[5] = 2 * h * n
l[6] = 0
l[7] = 0
l[8] = (b + a) * m
l[9] = (f + e) * n
l[10] = -(k + h) * p
l[11] = -1
l[12] = 0
l[13] = 0
l[14] = -2 * h * k * p
l[15] = 0
return this
}
b.prototype.mR = function (a, d, e, f, h, k) {
return this.concat(new b().yxa(a, d, e, f, h, k))
}
b.prototype.Z8 = function (a, b, e, f) {
var h, k
if (e === f || 0 === b) throw 'null frustum'
if (0 >= e) throw 'near <= 0'
if (0 >= f) throw 'far <= 0'
a /= 2
k = Math.sin(a)
if (0 === k) throw 'null frustum'
h = 1 / (f - e)
k = Math.cos(a) / k
a = this.elements
a[0] = k / b
a[1] = 0
a[2] = 0
a[3] = 0
a[4] = 0
a[5] = k
a[6] = 0
a[7] = 0
a[8] = 0
a[9] = 0
a[10] = -(f + e) * h
a[11] = -1
a[12] = 0
a[13] = 0
a[14] = -2 * e * f * h
a[15] = 0
return this
}
b.prototype.perspective = function (a, d, e, f) {
return this.concat(new b().Z8(a, d, e, f))
}
b.prototype.bw = function (a, b, e) {
var f = this.elements
f[0] = a
f[4] = 0
f[8] = 0
f[12] = 0
f[1] = 0
f[5] = b
f[9] = 0
f[13] = 0
f[2] = 0
f[6] = 0
f[10] = e
f[14] = 0
f[3] = 0
f[7] = 0
f[11] = 0
f[15] = 1
return this
}
b.prototype.scale = function (a, b, e) {
var f = this.elements
f[0] *= a
f[4] *= b
f[8] *= e
f[1] *= a
f[5] *= b
f[9] *= e
f[2] *= a
f[6] *= b
f[10] *= e
f[3] *= a
f[7] *= b
f[11] *= e
return this
}
b.prototype.c9 = function (a, b, e) {
var f = this.elements
f[12] = a
f[13] = b
f[14] = e
return this
}
b.prototype.translate = function (a, b, e) {
var f = this.elements
f[12] += f[0] * a + f[4] * b + f[8] * e
f[13] += f[1] * a + f[5] * b + f[9] * e
f[14] += f[2] * a + f[6] * b + f[10] * e
f[15] += f[3] * a + f[7] * b + f[11] * e
return this
}
b.prototype.Rz = function (a, b, e, f) {
var h, k, l, m, n, p, q, r
a = (Math.PI * a) / 180
h = this.elements
k = Math.sin(a)
a = Math.cos(a)
0 !== b && 0 === e && 0 === f
? (0 > b && (k = -k),
(h[0] = 1),
(h[4] = 0),
(h[8] = 0),
(h[12] = 0),
(h[1] = 0),
(h[5] = a),
(h[9] = -k),
(h[13] = 0),
(h[2] = 0),
(h[6] = k),
(h[10] = a),
(h[14] = 0),
(h[3] = 0),
(h[7] = 0),
(h[11] = 0))
: 0 === b && 0 !== e && 0 === f
? (0 > e && (k = -k),
(h[0] = a),
(h[4] = 0),
(h[8] = k),
(h[12] = 0),
(h[1] = 0),
(h[5] = 1),
(h[9] = 0),
(h[13] = 0),
(h[2] = -k),
(h[6] = 0),
(h[10] = a),
(h[14] = 0),
(h[3] = 0),
(h[7] = 0),
(h[11] = 0))
: 0 === b && 0 === e && 0 !== f
? (0 > f && (k = -k),
(h[0] = a),
(h[4] = -k),
(h[8] = 0),
(h[12] = 0),
(h[1] = k),
(h[5] = a),
(h[9] = 0),
(h[13] = 0),
(h[2] = 0),
(h[6] = 0),
(h[10] = 1),
(h[14] = 0),
(h[3] = 0),
(h[7] = 0),
(h[11] = 0))
: ((l = Math.sqrt(b * b + e * e + f * f)),
1 !== l && ((l = 1 / l), (b *= l), (e *= l), (f *= l)),
(l = 1 - a),
(m = b * e),
(n = e * f),
(p = f * b),
(q = b * k),
(r = e * k),
(k *= f),
(h[0] = b * b * l + a),
(h[1] = m * l + k),
(h[2] = p * l - r),
(h[3] = 0),
(h[4] = m * l - k),
(h[5] = e * e * l + a),
(h[6] = n * l + q),
(h[7] = 0),
(h[8] = p * l + r),
(h[9] = n * l - q),
(h[10] = f * f * l + a),
(h[11] = 0),
(h[12] = 0),
(h[13] = 0),
(h[14] = 0))
h[15] = 1
return this
}
b.prototype.rotate = function (a, d, e, f) {
return this.concat(new b().Rz(a, d, e, f))
}
b.prototype.dt = function (a) {
return this.rotate(a, 1, 0, 0)
}
b.prototype.et = function (a) {
return this.rotate(a, 0, 1, 0)
}
b.prototype.ft = function (a) {
return this.rotate(a, 0, 0, 1)
}
b.prototype.Yu = function (a) {
for (var b = 0, e = this.elements.length; b < e; b++) if (this.elements[b] !== a.elements[b]) return !1
return !0
}
b.prototype.cb = function () {
return new b(this.elements.slice(0))
}
a.Cc = b
})(g)
z.B.Et = z.B.Dc.extend({
w: {
visible: !0,
zIndex: 10,
strokeColor: '#006600',
strokeOpacity: 0.9,
strokeWeight: 3,
strokeStyle: 'solid',
strokeDasharray: [10, 5],
radius: [1e3, 1e3],
fillColor: '#006600',
fillOpacity: 0.9,
},
A: function () {
var a = this,
b = 0 < arguments.length && void 0 !== arguments[0] ? arguments[0] : {}
this.CLASS_NAME = 'AMap.Ellipse'
g.c.ya(this, b)
var b = g.extend({}, this.w, b),
c = this.Ur(b)
b.path = c
z.B.Et.bd.A.call(this, b)
this.set('path', c)
;(this.get('center') && this.get('map')) || (this.$g = !1)
this.on('movepoly', function (b) {
var c = a.get('map')
b = c.Od(c.Bb(a.get('center')).add(b.qK))
'3D' === c.view.type && a.set('deltaPos', [0, 0], !0)
a.set('center', b)
})
},
Ur: function () {
var a = 0 < arguments.length && void 0 !== arguments[0] ? arguments[0] : {},
b = [],
c = a.center || this.get('center'),
d = a.map || this.get('map')
if (c && d)
for (
var c = g.a.Ka(c),
e = a.radius || this.get('radius'),
f = d.Bb(c),
a = f.x,
f = f.y,
h = g.a.map(e, function (a) {
return a / d.getResolution(c, 20)
}),
e = h[0],
h = h[1],
k = g.l.ba,
l = ((k ? 4 : 1) * Math.PI) / 180,
m = 0,
k = k ? 89 : 359;
m <= k;
m++
) {
var n = m * l,
n = { x: a + e * Math.cos(n), y: f + h * Math.sin(n) }
b.push(d.Od(n))
}
return b
},
mapChanged: function () {
g.a.Ph(z.B.Et.bd.mapChanged) && z.B.Et.bd.mapChanged.apply(this)
this.C = !0
this.setPath(this.Ur())
this.C = !1
!this.$g && this.get('map') && ((this.$g = !0), this.get('map').q('overlays'))
},
setCenter: function (a, b) {
g.c.add(this, 'setCenter')
;(a = g.a.Ka(a)) &&
a instanceof g.U &&
(this.B && this.B.get('deltaPos') && this.B.set('deltaPos', [0, 0], !0),
this.set('center', a),
this.set('path', this.Ur()),
this.$g || ((this.$g = !0), this.get('map') && this.get('map').q('overlays')),
b || (this.q('setCenter'), this.q('change', { type: 'change', target: this })))
},
setRadius: function (a) {
var b = 1 < arguments.length && void 0 !== arguments[1] ? arguments[1] : !1
g.c.add(this, 'setRadius')
a && 2 === a.length && (this.set('radius', a), this.set('path', this.Ur()), b || (this.q('change', { type: 'change', target: this }), this.q('setPath')))
},
setOptions: function (a) {
z.B.Et.bd.setOptions.call(this, a)
this.C = !0
a.radius && this.setRadius(a.radius, !0)
a.center && this.setCenter(a.center, !0)
this.C = !1
},
getRadius: function () {
g.c.add(this, 'getRadius')
return this.get('radius', null, !0)
},
getCenter: function () {
g.c.add(this, 'getCenter')
var a = this.get('center', null, !0)
this.B && this.B.get('deltaPos') && this.B.St([a], this.B.get('deltaPos'))[0]
return a
},
})
z.B.Lt = z.B.Dc.extend({
w: { visible: !0, zIndex: 10, strokeColor: '#006600', strokeOpacity: 0.9, strokeWeight: 3, strokeStyle: 'solid', strokeDasharray: [10, 5], fillColor: '#006600', fillOpacity: 0.9 },
A: function () {
var a = this,
b = 0 < arguments.length && void 0 !== arguments[0] ? arguments[0] : {}
this.CLASS_NAME = 'AMap.Rectangle'
g.c.ya(this, b)
b = g.extend({}, this.w, b)
this.C = !0
var c = this.Ur(b)
b.path = c
z.B.Lt.bd.A.call(this, b)
this.setPath(c)
;(this.w.bounds && this.get('map')) || (this.$g = !1)
this.on('movepoly', function (b) {
var c = a.get('map'),
f = a.get('bounds'),
h = c.Od(c.Bb(f.wc).add(b.qK))
b = c.Od(c.Bb(f.nc).add(b.qK))
'3D' === c.view.type && a.set('deltaPos', [0, 0])
a.set('bounds', new g.oe(h, b))
})
this.C = !1
},
Ur: function () {
var a = [],
b = (0 < arguments.length && void 0 !== arguments[0] ? arguments[0] : {}).bounds || this.get('bounds')
if (b) {
b.C = !0
var c = b.getSouthWest(),
d = b.getNorthEast()
b.C = !1
g.a.Tb([new g.U(c.R, c.Q, !0), new g.U(d.R, c.Q, !0), new g.U(d.R, d.Q, !0), new g.U(c.R, d.Q, !0)], function (b) {
return a.push(b)
})
}
return a
},
mapChanged: function () {
g.a.Ph(z.B.Lt.bd.mapChanged) && z.B.Lt.bd.mapChanged.apply(this)
this.C = !0
this.setPath(this.Ur())
this.C = !1
!this.$g && this.get('map') && ((this.$g = !0), this.get('map').q('overlays'))
},
setOptions: function (a) {
this.C = !0
z.B.Lt.bd.setOptions.call(this, a)
a.bounds && this.setBounds(a.bounds, !0)
this.C = !1
},
setBounds: function (a) {
var b = 1 < arguments.length && void 0 !== arguments[1] ? arguments[1] : !1
g.c.add(this, 'setBounds')
a &&
a instanceof g.oe &&
(this.set('bounds', a),
this.set('path', this.Ur()),
this.$g || ((this.$g = !0), this.get('map') && this.get('map').q('overlays')),
b || (this.q('change', { type: 'change', target: this }), this.q('setBounds')))
},
getBounds: function () {
g.c.add(this, 'getBounds')
return this.get('bounds', null, !0)
},
})
z.B.KW = z.B.vb.extend({
w: { text: '', textAlign: 'center', verticalAlign: 'middle', offset: new g.H(0, 0) },
A: function (a) {
this.CLASS_NAME = 'AMap.Text'
g.c.ya(this, a)
z.B.KW.bd.A.apply(this, arguments)
this.lga()
this.C = !0
this.setText(this.get('text'))
this.setStyle(this.get('style'))
this.C = !1
},
lga: function () {
if (!this.jC) {
var a = document.createElement('div')
a.className = 'amap-overlay-text-container'
this.jC = a
}
},
getText: function () {
g.c.add(this, 'getText')
return this.get('text', null, !0)
},
setText: function (a) {
g.c.add(this, 'setText')
a || 0 === a || (a = '')
g.f.Dya(this.jC, 'amap-overlay-text-empty', !a)
g.c.add(this, 'setText')
this.set('text', a)
this.jC.innerHTML = a
this.h8()
},
setStyle: function (a) {
g.c.add(this, 'setStyle')
a = a || {}
for (var b in a) a.hasOwnProperty(b) && (this.jC.style[b] = a[b])
this.h8()
},
h8: function () {
this.C = !0
this.setContent(this.jC)
this.setShadow(this.getShadow())
this.C = !1
},
})
g.hW = {
find: function (a) {
return g.a.find(this.fx || [], a)
},
XI: function () {
return this.fx || []
},
Ld: function (a) {
return null !== this.find(a)
},
add: function (a) {
var b = this,
c = 1 < arguments.length && void 0 !== arguments[1] ? arguments[1] : g.a.Rs,
d = this.fx || (this.fx = [])
g.a.isArray(a)
? g.a.Tb(a, function (a) {
b.add(a, c)
})
: null === this.find(a) && (d.push(a), c(a))
return this
},
remove: function (a) {
var b = this,
c = 1 < arguments.length && void 0 !== arguments[1] ? arguments[1] : g.a.Rs,
d = this.fx
if (d)
if (g.a.isArray(a))
g.a.Tb(a, function (a) {
b.remove(a, c)
})
else {
var e = g.a.indexOf(d, a)
;-1 !== e && (c(d[e]), d.splice(e, 1))
}
return this
},
clear: function () {
this.Tb(0 < arguments.length && void 0 !== arguments[0] ? arguments[0] : g.a.Rs)
this.fx = []
return this
},
Tb: function () {
var a = 0 < arguments.length && void 0 !== arguments[0] ? arguments[0] : g.a.Rs,
b = 1 < arguments.length && void 0 !== arguments[1] ? arguments[1] : null
g.a.Tb(this.fx || [], function () {
for (var c = arguments.length, d = Array(c), e = 0; e < c; e++) d[e] = arguments[e]
c = d[0]
g.a.Ph(c.Tb) ? c.Tb(a, b) : a.apply(b || c, d)
})
return this
},
So: function (a) {
for (var b = arguments.length, c = Array(1 < b ? b - 1 : 0), d = 1; d < b; d++) c[d - 1] = arguments[d]
this.Tb(function (b) {
b && g.a.Ph(b[a]) && b[a].apply(b, c)
})
return this
},
h: function (a) {
var b = arguments
this.Tb(function (a) {
a.on.apply(a, b)
})
return this
},
G: function (a) {
var b = arguments
this.Tb(function (a) {
a.off.apply(a, b)
})
return this
},
addListener: function () {
this.h.apply(this, arguments)
},
by: function (a) {
var b = 1 < arguments.length && void 0 !== arguments[1] ? arguments[1] : g.a.Rs,
c = 2 < arguments.length && void 0 !== arguments[2] ? arguments[2] : null
this.Tb(function (d) {
d.on.call(
d,
event,
function () {
b()
d.off(a)
},
c
)
})
},
removeListener: function (a) {
this.G(a.VQ, a.cS, a.bf)
},
O: function (a, b) {
this.Tb(function (c) {
c.emit(a, b)
})
},
}
z.B.Wn = z.B.Eh.extend({
ka: [g.hW],
A: function () {
var a = 0 < arguments.length && void 0 !== arguments[0] ? arguments[0] : []
this.CLASS_NAME = 'AMap.OverlayGroup'
g.c.ya(this)
z.B.Wn.bd.A.apply(this)
this.map = null
this.add(a)
},
vc: function (a) {
g.c.add(this, 'setMap')
this.So('setMap', a)
this.So('setMap', a)
this.set('map', a)
this.map = a
return this
},
mapChanged: function () {},
sC: function (a) {
var b = this
g.c.add(this, 'addOverlay')
this.add(a, function (a) {
b.map && ((a.C = !0), a.setMap(b.map), (a.C = !1))
})
return this
},
Jz: function (a) {
var b = this
g.c.add(this, 'removeOverlay')
this.remove(a, function (a) {
a.C = !0
a.getMap() === b.map && a.setMap(null)
a.C = !1
})
return this
},
kd: function () {
var a = this
g.c.add(this, 'clearOverlays')
this.clear(function (b) {
b.C = !0
b.getMap() === a.map && b.setMap(null)
b.C = !1
})
return this
},
Zy: function () {
g.c.add(this, 'hide')
this.So('hide')
return this
},
show: function () {
g.c.add(this, 'show')
this.So('show')
return this
},
ub: function () {
var a = 0 < arguments.length && void 0 !== arguments[0] ? arguments[0] : {}
g.c.add(this, 'setOptions')
this.So('setOptions', a)
return this
},
})
z.B.Wn.Xb({
find: 'getOverlay',
XI: 'getOverlays',
sC: ['addOverlay', 'addOverlays'],
Ld: 'hasOverlay',
Jz: ['removeOverlay', 'removeOverlays'],
kd: 'clearOverlays',
Tb: 'eachOverlay',
vc: 'setMap',
ub: 'setOptions',
show: 'show',
Zy: 'hide',
h: 'on',
G: 'off',
})
;(function (a, b) {
function c(a, b) {
if (!a.length) return !1
for (var c = 0, d = a.length; c < d; c++) {
var e = a[c]
if (!('*' === b || (e && e.geometry && e.geometry.type === b)) || (e && e.properties && !e.properties._isAmap)) return !1
}
return !0
}
function d(a) {
for (var b = [], c = 0, d = a.length; c < d; c++) b.push(a[c].geometry.coordinates)
return b
}
function e(a) {
if (!a || !a.length) return []
a = b.a.Ka(a)
for (var c = [], d = 0, e = a.length; d < e; d++) c[d] = a[d].wl()
a[a.length - 1].gb(a[0]) || c.push(a[0].wl())
return c
}
function f(a) {
if (!a) return []
a = b.a.Ka(a)
b.a.isArray(a[0]) || (a = [a])
for (var c = [], d = 0, f = a.length; d < f; d++) c[d] = e(a[d])
return c
}
a.B.fW = a.B.Wn.extend({
A: function (c) {
this.CLASS_NAME = 'AMap.GeoJSON'
b.c.ya(this, c)
a.B.fW.bd.A.call(this, [])
this.C = !0
this.w = b.extend(
{
getMarker: function (b, c) {
return new a.B.vb({ innerOverlay: !0, position: c })
},
getPolyline: function (b, c) {
return new a.B.Zb({ path: c, innerOverlay: !0 })
},
getPolygon: function (b, c) {
return new a.B.Dc({ path: c, innerOverlay: !0 })
},
coordsToLatLng: function (a) {
return a
},
},
c
)
if (!this.w.coordsToLatLngs) {
var d = this.w.coordsToLatLng
this.w.coordsToLatLngs = function (a) {
for (var b = [], c = 0, e = a.length; c < e; c++) b.push(d.call(null, a[c]))
return b
}
}
this.importData(this.w.geoJSON)
this.C = !1
},
importData: function (a) {
b.c.add(this, 'importData')
if (a && ((a = this.gga(a)), a.length)) {
this.clearOverlays()
this.sC(a)
var c = this.w.map
if (c) for (var d = 0, e = a.length; d < e; d++) (a[d].C = !0), a[d].setMap(c), (a[d].C = !1)
}
},
toGeoJSON: function () {
b.c.add(this, 'toGeoJSON')
for (var a = this.XI(), c = [], d = 0, e = a.length; d < e; d++) (a[d].C = !0), (c[d] = a[d].toGeoJSON()), (a[d].C = !1)
return c
},
gga: function (a) {
if (a) {
b.a.isArray(a) || (a = [a])
for (var c = [], d = 0, e = a.length; d < e; d++) {
var f = this.hga(a[d])
f && c.push(f)
}
return c
}
},
DX: function (a) {
var b = 'Feature' === a.type ? a.geometry : a,
b = this.w.coordsToLatLng(b ? b.coordinates : null),
b = this.w.getMarker(a, b)
this.Lr(a, b)
return b
},
Yca: function (c) {
for (var d = 'Feature' === c.type ? c.geometry : c, d = d ? d.coordinates : null, e = [], f = 0, n = d.length; f < n; f++)
e.push(this.DX(b.extend({}, c, { type: 'Feature', properties: { _isAmap: !0, _pointIndex: f, _parentProperities: c.properties }, geometry: { type: 'Point', coordinates: d[f] } })))
d = new a.B.Wn(e)
this.Lr(c, d)
return d
},
CX: function (a) {
var b = 'Feature' === a.type ? a.geometry : a,
b = this.w.coordsToLatLngs(b ? b.coordinates : null),
b = this.w.getPolyline(a, b)
this.Lr(a, b)
return b
},
Xca: function (c) {
for (var d = 'Feature' === c.type ? c.geometry : c, d = d ? d.coordinates : null, e = [], f = 0, n = d.length; f < n; f++)
e.push(
this.CX(
b.extend({}, c, {
type: 'Feature',
properties: { _isAmap: !0, _lineStringIndex: f, _parentProperities: c.properties },
geometry: { type: 'LineString', coordinates: d[f] },
})
)
)
d = new a.B.Wn(e)
this.Lr(c, d)
return d
},
EX: function (a) {
for (var b = 'Feature' === a.type ? a.geometry : a, b = b ? b.coordinates : null, c = [], d = 0, e = b.length; d < e; d++) c.push(this.w.coordsToLatLngs(b[d]))
b = this.w.getPolygon(a, c)
this.Lr(a, b)
return b
},
Zca: function (c) {
for (var d = 'Feature' === c.type ? c.geometry : c, d = d ? d.coordinates : null, e = [], f = 0, n = d.length; f < n; f++)
e.push(
this.EX(b.extend({}, c, { type: 'Feature', properties: { _isAmap: !0, _polygonIndex: f, _parentProperities: c.properties }, geometry: { type: 'Polygon', coordinates: d[f] } }))
)
d = new a.B.Wn(e)
this.Lr(c, d)
return d
},
Rca: function (c) {
for (var d = ('Feature' === c.type ? c.geometry : c).geometries, e = [], f = 0, n = d.length; f < n; f++)
e.push(this.MN(b.extend({}, c, { type: 'Feature', properties: { _isAmap: !0, _geometryIndex: f, _parentProperities: c.properties }, geometry: d[f] })))
d = new a.B.Wn(e)
this.Lr(c, d)
return d
},
hga: function (b) {
if (b)
switch (b.type) {
case 'Feature':
return this.MN(b)
case 'FeatureCollection':
for (var c = b.features, d = [], e = 0, f = c.length; e < f; e++) {
var p = this.MN(c[e])
p && d.push(p)
}
c = new a.B.Wn(d)
this.Lr(b, c)
return c
default:
throw Error('Invalid GeoJSON object.' + b.type)
}
},
Lr: function (a, c) {
c && a.properties && c.setExtData && ((c.C = !0), c.setExtData(b.extend({}, c.getExtData() || {}, { _geoJsonProperties: a.properties })), (c.C = !1))
},
MN: function (a) {
var b = 'Feature' === a.type ? a.geometry : a
if (!((b && b.coordinates) || b)) return null
switch (b.type) {
case 'Point':
return this.DX(a)
case 'MultiPoint':
return this.Yca(a)
case 'LineString':
return this.CX(a)
case 'MultiLineString':
return this.Xca(a)
case 'Polygon':
return this.EX(a)
case 'MultiPolygon':
return this.Zca(a)
case 'GeometryCollection':
return this.Rca(a)
default:
throw Error('Invalid GeoJSON geometry.' + b.type)
}
},
})
a.B.Wn.Hb({
toGeoJSON: function (a) {
b.c.add(this, 'toGeoJSON')
a = a || this.XI()
for (var e = [], f = 0, m = a.length; f < m; f++) a[f].toGeoJSON && ((a[f].C = !0), (e[f] = a[f].toGeoJSON()), (a[f].C = !1))
this.C = !0
a = this.getExtData() || {}
this.C = !1
if (c(e, 'Point')) e = { type: 'Feature', properties: a._geoJsonProperties || {}, geometry: { type: 'MultiPoint', coordinates: d(e) } }
else if (c(e, 'LineString')) e = { type: 'Feature', properties: a._geoJsonProperties || {}, geometry: { type: 'MultiLineString', coordinates: d(e) } }
else if (c(e, 'Polygon')) e = { type: 'Feature', properties: a._geoJsonProperties || {}, geometry: { type: 'MultiPolygon', coordinates: d(e) } }
else if (c(e, '*')) {
a = a._geoJsonProperties || {}
for (var f = [], m = 0, n = e.length; m < n; m++) f.push(e[m].geometry)
e = { type: 'Feature', properties: a, geometry: { type: 'GeometryCollection', geometries: f } }
} else e = { type: 'FeatureCollection', properties: a._geoJsonProperties || {}, features: e }
return e
},
})
a.B.vb.Hb({
toGeoJSON: function () {
b.c.add(this, 'toGeoJSON')
this.C = !0
var a = this.getExtData() || {},
c = this.getPosition().wl()
this.C = !1
return { type: 'Feature', properties: a._geoJsonProperties || {}, geometry: { type: 'Point', coordinates: c } }
},
})
a.B.Zb.Hb({
toGeoJSON: function () {
b.c.add(this, 'toGeoJSON')
this.C = !0
var a = this.getExtData() || {},
c = this.getPath()
this.C = !1
return { type: 'Feature', properties: a._geoJsonProperties || {}, geometry: { type: 'LineString', coordinates: e(c) } }
},
})
a.B.Dc.Hb({
toGeoJSON: function () {
b.c.add(this, 'toGeoJSON')
this.C = !0
var a = this.getExtData() || {},
c = this.getPath()
this.C = !1
if (b.a.isArray(c[0]) && b.a.isArray(c[0][0])) {
for (var d = [], e = 0; e < c.length; e += 1) d.push(f(c[e]))
return { type: 'Feature', properties: a._geoJsonProperties || {}, geometry: { type: 'MultiPolygon', coordinates: d } }
}
return { type: 'Feature', properties: a._geoJsonProperties || {}, geometry: { type: 'Polygon', coordinates: f(c) } }
},
})
})(z, g)
z.o.RL = z.o.Yb.extend({
ka: [g.hW],
A: function (a) {
var b = 1 < arguments.length && void 0 !== arguments[1] ? arguments[1] : {}
this.CLASS_NAME = 'AMap.LayerGroup'
g.c.ya(this, b)
z.o.RL.bd.A.call(this, b)
this.map = null
this.add(a)
},
vc: function (a) {
g.c.add(this, 'setMap')
this.So('setMap', a)
this.set('map', a)
this.map = a
return this
},
mapChanged: function () {},
PH: function (a) {
var b = this
g.c.add(this, 'addLayer')
this.add(a, function (a) {
b.map && ((a.C = !0), a.setMap(b.map), (a.C = !1))
})
return this
},
sk: function (a) {
var b = this
g.c.add(this, 'removeLayer')
this.remove(a, function (a) {
a.C = !0
a.getMap() === b.map && a.setMap(null)
a.C = !1
})
return this
},
Ana: function () {
var a = this
g.c.add(this, 'clearLayers')
this.clear(function (b) {
b.C = !0
b.getMap() === a.map && b.setMap(null)
b.C = !1
})
return this
},
Zy: function () {
g.c.add(this, 'hide')
this.So('hide')
return this
},
show: function () {
g.c.add(this, 'show')
this.So('show')
return this
},
reload: function () {
this.So('reload')
return this
},
ub: function () {
var a = this,
b = 0 < arguments.length && void 0 !== arguments[0] ? arguments[0] : {}
g.c.add(this, 'setOptions')
var c = g.a.keys(b)
g.a.Tb(c, function (c) {
a.So('set', c, b[c])
})
return this
},
})
z.o.RL.Xb({
find: 'getLayer',
XI: 'getLayers',
PH: ['addLayer', 'addLayers'],
Ld: 'hasLayer',
sk: ['removeLayer', 'removeLayers'],
Ana: 'clearLayers',
Tb: 'eachLayer',
vc: 'setMap',
ub: 'setOptions',
show: 'show',
Zy: 'hide',
reload: 'reload',
h: 'on',
G: 'off',
})
g.Zaa = z.Rb.extend({
A: function (a, b) {
b && ((b.center = b.position), (b.zoom = 11))
arguments.callee.ma.apply(this, arguments)
window.console && window.console.log && window.console.log('\u9ad8\u5fb7\u5730\u56feJSAPI\u8857\u666f\u5df2\u4e0b\u7ebf\uff0c\u611f\u8c22\u60a8\u7684\u652f\u6301\u3002')
},
})
g.$aa = z.B.vb.extend({
A: function (a) {
arguments.callee.ma.apply(this, arguments)
},
})
g.wd = {
ms: function (a, b) {
for (var c = Infinity, d = 0, e = 1, f = b.length; e < f; d = e, e += 1) c = Math.min(c, g.wd.Wxa(a, [b[d], b[e]]))
return Math.sqrt(c)
},
Wxa: function (a, b) {
return this.aL(a, this.G2(a, b))
},
aL: function (a, b) {
var c = a[0] - b[0],
d = a[1] - b[1]
return c * c + d * d
},
GGa: function (a, b, c, d) {
d = d || 1e-6
if (c[0] === b[0]) {
var e = Math.min(b[1], c[1])
b = Math.max(b[1], c[1])
return Math.abs(a[0] - c[0]) < d && a[1] >= e && a[1] <= b
}
var e = Math.min(b[0], c[0]),
f = Math.max(b[0], c[0])
return Math.abs(((c[1] - b[1]) / (c[0] - b[0])) * (a[0] - b[0]) + b[1] - a[1]) < d && a[0] >= e && a[0] <= f
},
G2: function (a, b) {
var c = a[0],
d = a[1],
e = b[0],
f = b[1],
h = e[0],
e = e[1],
k = f[0],
f = f[1],
l = k - h,
m = f - e,
c = 0 === l && 0 === m ? 0 : (l * (c - h) + m * (d - e)) / (l * l + m * m || 0)
0 >= c || (1 <= c ? ((h = k), (e = f)) : ((h += c * l), (e += c * m)))
return [h, e]
},
uq: function (a) {
for (var b = a.length, c = 0, d = a[b - 1], e = d[0], d = d[1], f, h, k = 0; k < b; k += 1) (h = a[k]), (f = h[0]), (h = h[1]), (c += (f - e) * (h + d)), (e = f), (d = h)
return 0 < c
},
Sd: function (a, b, c) {
var d = a[0]
a = a[1]
var e = !1,
f,
h,
k,
l,
m = b.length,
n = 0
for (l = m - 1; n < m; l = n, n += 1) {
var p = !1
f = b[n][0]
h = b[n][1]
k = b[l][0]
l = b[l][1]
if ((f === d && h === a) || (k === d && l === a)) return c ? !0 : !1
if (h < a === l >= a) {
f = ((k - f) * (a - h)) / (l - h) + f
if (d === f) return c ? !0 : !1
p = d < f
}
p && (e = !e)
}
return e
},
Q7: function (a, b) {
function c(a, b, c, d) {
var e = [a[0] - b[0], a[1] - b[1]],
f = [c[0] - d[0], c[1] - d[1]]
a = a[0] * b[1] - a[1] * b[0]
c = c[0] * d[1] - c[1] * d[0]
d = 1 / (e[0] * f[1] - e[1] * f[0])
return [(a * f[0] - c * e[0]) * d, (a * f[1] - c * e[1]) * d]
}
function d(a, b, c) {
return (c[0] - b[0]) * (a[1] - b[1]) > (c[1] - b[1]) * (a[0] - b[0])
}
var e,
f,
h,
k,
l = a
e = b[b.length - 2]
for (var m = 0, n = b.length - 1; m < n; m++) {
f = b[m]
var p = l,
l = []
h = p[p.length - 1]
for (var q = 0, r = p.length; q < r; q++) (k = p[q]), d(k, e, f) ? (d(h, e, f) || l.push(c(e, f, h, k)), l.push(k)) : d(h, e, f) && l.push(c(e, f, h, k)), (h = k)
e = f
}
if (3 > l.length) return []
l.push(l[0])
return l
},
}
;(function (a) {
function b(b, c) {
var d
a: {
switch (b) {
case 'EPSG3395':
d = a.Zh.$V
break a
case 'EPSG4326':
d = a.Zh.aW
break a
}
d = a.Zh.IL
}
return {
project: function (b) {
a.a.isArray(b) && (b = new a.U(b[0], b[1]))
return d.MD(b, c).wl()
},
unproject: function (b) {
a.a.isArray(b) && (b = new a.H(b[0], b[1]))
return d.lE(b, c).wl()
},
normalizePoint: function (b) {
return a.a.Ka(b)
},
distance: function (b, c) {
c = this.normalizePoint(c)
if (a.a.isArray(c)) return this.distanceToLine(b, c)
b = this.normalizePoint(b)
var d = a.Lm.Pu,
e = Math.cos,
f = b.Q * d,
h = c.Q * d,
k = 2 * a.Lm.PQ,
d = c.R * d - b.R * d,
e = (1 - e(h - f) + (1 - e(d)) * e(f) * e(h)) / 2
return k * Math.asin(Math.sqrt(e))
},
ringArea: function (b) {
b = this.normalizeLine(b)
var c = a.Lm.PQ * a.Lm.Pu,
d = 0,
e = b.length
if (3 > e) return 0
for (var f = 0; f < e - 1; f += 1)
var h = b[f], k = b[f + 1], u = h.R * c * Math.cos(h.Q * a.Lm.Pu), h = h.Q * c, v = k.R * c * Math.cos(k.Q * a.Lm.Pu), d = d + (u * k.Q * c - v * h)
f = b[f]
b = b[0]
e = f.R * c * Math.cos(f.Q * a.Lm.Pu)
f = f.Q * c
k = b.R * c * Math.cos(b.Q * a.Lm.Pu)
d += e * b.Q * c - k * f
return 0.5 * Math.abs(d)
},
sphericalCalotteArea: function (b) {
var c = a.Lm.PQ
b = c - c * Math.cos(b / c)
return 2 * Math.PI * c * b
},
}
}
function c() {
return {
normalizePoint: function (a) {
return a && a.x && a.y ? [a.x, a.y] : a
},
distance: function (a, b) {
var c = a[0] - b[0],
d = a[1] - b[1]
return Math.sqrt(c * c + d * d)
},
project: function (a) {
return a
},
unproject: function (a) {
return a
},
ringArea: function (a) {
for (var b = [0, 0], c = [0, 0], d = 0, e = a[0], n = a.length, p = 2; p < n; p++) {
var q = a[p - 1],
r = a[p]
b[0] = e[0] - r[0]
b[1] = e[1] - r[1]
c[0] = e[0] - q[0]
c[1] = e[1] - q[1]
d += b[0] * c[1] - b[1] * c[0]
}
return d / 2
},
}
}
function d(a) {
for (var b = 0, c = a.length, d = 0; d < c - 1; d++) var e = a[d], n = a[d + 1], b = b + (n[0] - e[0]) * (n[1] + e[1])
if (a[c - 1][0] !== a[0][0] || a[c - 1][1] !== a[0][1]) (e = a[c - 1]), (n = a[0]), (b += (n[0] - e[0]) * (n[1] + e[1]))
return 0 >= b
}
function e(b) {
this.CLASS_NAME = 'AMap.GeometryUtil'
this.Vb = a.extend({ onSegmentTolerance: 5, crs: 'EPSG3857', maxZoom: 20 }, b)
this.setCrs(this.Vb.crs)
}
a.extend(e.prototype, {
clone: function (b) {
return new e(a.extend({}, this.Vb, b))
},
isPoint: function (b) {
return b && (b instanceof a.U || (a.a.isArray(b) && !isNaN(b[0])))
},
normalizePoint: function (a) {
return a
},
normalizeLine: function (a) {
for (var b = [], c = 0, d = a.length; c < d; c++) b.push(this.normalizePoint(a[c]))
return b
},
normalizeMultiLines: function (b) {
a.a.isArray(b) && this.isPoint(b[0]) && (b = [b])
for (var c = [], d = 0, e = b.length; d < e; d++) c.push(this.normalizeLine(b[d]))
return c
},
setCrs: function (d) {
a.extend(this, d && d.project && d.unproject ? d : 'plane' === d ? c() : b(d, this.Vb.maxZoom))
},
distance: function () {
throw Error('distance Not implemented!')
},
Fx: function (a, b) {
a = this.normalizeLine(a)
this.isPoint(a[0]) || (a = a[0])
for (var c = [], d = 0, e = a.length; d < e; d++) c.push(this.project(a[d]))
!0 === b ? (c = this.makesureClockwise(c)) : !1 === b && ((c = this.makesureClockwise(c)), c.reverse())
return c
},
dka: function (a) {
for (var b = [], c = 0, d = a.length; c < d; c++) b.push(this.unproject(a[c]))
return b
},
closestOnSegment: function (b, c, d) {
b = a.wd.G2(this.project(b), this.Fx([c, d]))
return this.unproject(b)
},
closestOnLine: function (a, b) {
b = this.normalizeLine(b)
for (var c = Infinity, d, e = 0, n = b.length; e < n - 1; e++) {
var p = this.closestOnSegment(a, b[e], b[e + 1]),
q = this.distance(a, p)
q < c && ((c = q), (d = p))
}
return d
},
distanceToSegment: function (a, b, c) {
return this.distanceToLine(a, [b, c])
},
distanceToLine: function (a, b) {
b = this.normalizeLine(b)
this.isPoint(b[0]) || (b = b[0])
for (var c = Infinity, d = 0, e = b.length; d < e - 1; d++) var n = this.closestOnSegment(a, b[d], b[d + 1]), c = Math.min(c, this.distance(a, n))
return c
},
distanceToPolygon: function (a, b) {
return this.isPointInRing(a, b) ? 0 : this.distanceToLine(a, b)
},
isPointOnSegment: function (a, b, c, d) {
if ((!d && 0 !== d) || 0 > d) d = this.Vb.onSegmentTolerance
return this.distanceToSegment(a, b, c) <= d
},
isPointOnLine: function (a, b, c) {
b = this.normalizeLine(b)
for (var d = 0, e = b.length; d < e - 1; d++) if (this.isPointOnSegment(a, b[d], b[d + 1], c)) return !0
return !1
},
isPointOnRing: function (a, b, c) {
b = this.normalizeLine(b)
for (var d = 0, e = b.length; d < e; d++) if (this.isPointOnSegment(a, b[d], b[d === e - 1 ? 0 : d + 1], c)) return !0
return !1
},
isPointOnPolygon: function (a, b, c) {
b = this.normalizeMultiLines(b)
for (var d = 0, e = b.length; d < e; d++) if (this.isPointOnRing(a, b[d], c)) return !0
return !1
},
makesureClockwise: function (a) {
d(a) || ((a = [].concat(a)), a.reverse())
return a
},
makesureAntiClockwise: function (a) {
d(a) && ((a = [].concat(a)), a.reverse())
return a
},
isPointInRing: function (b, c, d) {
d || (c = this.normalizeLine(c))
c = this.Fx(c, !0)
return a.wd.Sd(this.project(b), c, !1)
},
isRingInRing: function (a, b, c) {
for (var d = 0, e = a.length; d < e; d++) if (!this.isPointInRing(a[d], b, c)) return !1
d = 0
for (e = b.length; d < e; d++) if (this.isPointInRing(b[d], a, c)) return !1
return !0
},
isPointInPolygon: function (a, b) {
b = this.normalizeMultiLines(b)
for (var c, d = 0, e = b.length; d < e && ((c = this.isPointInRing(a, b[d])), 0 < d && (c = !c), c); d += 1);
return c
},
doesSegmentsIntersect: function (a, b, c, d, e) {
e = e ? [a, b, c, d] : this.Fx([a, b, c, d])
a = e[0]
b = e[1]
c = e[2]
d = e[3]
e = !1
var n = (d[0] - c[0]) * (a[1] - c[1]) - (d[1] - c[1]) * (a[0] - c[0]),
p = (b[0] - a[0]) * (a[1] - c[1]) - (b[1] - a[1]) * (a[0] - c[0])
a = (d[1] - c[1]) * (b[0] - a[0]) - (d[0] - c[0]) * (b[1] - a[1])
0 !== a && ((b = n / a), (a = p / a), 0 <= b && 1 >= b && 0 <= a && 1 >= a && (e = !0))
return e
},
doesSegmentLineIntersect: function (a, b, c) {
c = this.normalizeLine(c)
for (var d = 0, e = c.length; d < e - 1; d++) if (this.doesSegmentsIntersect(a, b, c[d], c[d + 1])) return !0
return !1
},
doesSegmentRingIntersect: function (a, b, c, d) {
d || (c = this.normalizeLine(c))
for (var e = 0, n = c.length; e < n; e++) if (this.doesSegmentsIntersect(a, b, c[e], c[e === n - 1 ? 0 : e + 1], d)) return !0
return !1
},
doesSegmentPolygonIntersect: function (a, b, c) {
c = this.normalizeMultiLines(c)
for (var d = 0, e = c.length; d < e; d++) if (this.doesSegmentRingIntersect(a, b, c[d])) return !0
return !1
},
doesLineLineIntersect: function (a, b) {
a = this.normalizeLine(a)
for (var c = 0, d = a.length; c < d - 1; c++) if (this.doesSegmentLineIntersect(a[c], a[c + 1], b)) return !0
return !1
},
doesLineRingIntersect: function (a, b) {
a = this.normalizeLine(a)
for (var c = 0, d = a.length; c < d - 1; c++) if (this.doesSegmentRingIntersect(a[c], a[c + 1], b)) return !0
return !1
},
doesPolygonPolygonIntersect: function (a, b) {
return this.doesRingRingIntersect(b, a) || this.isRingInRing(a, b) || this.isRingInRing(b, a) ? !0 : !1
},
doesPolygonContainsPolygon: function (a, b, c) {
return this.isRingInRing(b, a, !0) || (c ? this.doesRingRingIntersect(b, a, !0) : !1)
},
doesRingRingIntersect: function (a, b, c) {
c || (a = this.normalizeLine(a))
for (var d = 0, e = a.length; d < e; d++) if (this.doesSegmentRingIntersect(a[d], a[d === e - 1 ? 0 : d + 1], b, c)) return !0
return !1
},
EP: function (a, b) {
for (var c = 0, d = 0; d < a.length - 1; d += 1) {
var e = this.distance(a[d], a[d + 1])
if (e + c < b) c += e
else return (c = (b - c) / e), [a[d][0] + c * (a[d + 1][0] - a[d][0]), a[d][1] + c * (a[d + 1][1] - a[d][1]), d]
}
return null
},
UX: function (a, b) {
function c() {
var a = [e[0] - n[0], e[1] - n[1]],
b = [p[0] - q[0], p[1] - q[1]],
d = e[0] * n[1] - e[1] * n[0],
f = p[0] * q[1] - p[1] * q[0],
h = 1 / (a[0] * b[1] - a[1] * b[0])
return [(d * b[0] - f * a[0]) * h, (d * b[1] - f * a[1]) * h]
}
function d(a) {
return (n[0] - e[0]) * (a[1] - e[1]) > (n[1] - e[1]) * (a[0] - e[0])
}
a = this.makesureAntiClockwise(a)
b = this.makesureClockwise(b)
var e,
n,
p,
q,
r = a
e = b[b.length - 1]
for (var s = 0, u = b.length; s < u; s++) {
n = b[s]
var v = r,
r = []
p = v[v.length - 1]
for (var w = 0, t = v.length; w < t; w++) (q = v[w]), d(q) ? (d(p) || r.push(c()), r.push(q)) : d(p) && r.push(c()), (p = q)
e = n
}
return r
},
ringRingClip: function (a, b) {
a = this.Fx(a)
b = this.Fx(b)
var c = this.UX(a, b)
0 == c.length && (c = this.UX(b, a))
return this.dka(c)
},
ringArea: function () {
throw Error('distance Not implemented!')
},
distanceOfLine: function (a) {
a = this.normalizeLine(a)
for (var b = 0, c = 0, d = a.length; c < d - 1; c++) b += this.distance(a[c], a[c + 1])
return b
},
isClockwise: function (a) {
a = this.Fx(a)
return d(a)
},
})
a.Ft = new e()
a.di = new e()
a.di.setCrs('plane')
})(g)
g.KL = function () {
var a = {}
;(function () {
function b(a) {
for (var b = 0, e = a.length, f = 0; f < e - 1; f++) var h = a[f], k = a[f + 1], b = b + (k[0] - h[0]) * (k[1] + h[1])
if (a[e - 1][0] !== a[0][0] || a[e - 1][1] !== a[0][1]) (h = a[e - 1]), (k = a[0]), (b += (k[0] - h[0]) * (k[1] + h[1]))
return 0 >= b
}
a.Nta = function (a) {
b(a) && ((a = [].concat(a)), a.reverse())
return a
}
a.D5 = b
})()
;(function () {
function b(a) {
var b = a.length
2 < b && a[b - 1][0] == a[0][0] && a[b - 1][1] == a[0][1] && a.pop()
}
function c(a, b) {
for (var c = 0; c < b.length; c++) a.push(b[c][0]), a.push(b[c][1])
}
a.Vh = function (a, e) {
var f = 2 < arguments.length && void 0 !== arguments[2] ? arguments[2] : 0,
h = arguments[3]
e = e || []
var k = [],
l = []
b(a)
c(k, a)
var m = a.length
e.forEach(b)
for (var n = 0; n < e.length; n++) l.push(m), (m += e[n].length), c(k, e[n])
l = (this.lL ? this.lL : g.Ec.lL)(k, l)
if (h) {
f = []
for (n = 0; n < l.length; n += 1) (h = 2 * l[n]), f.push([k[h], k[h + 1]])
return f
}
if (f) for (n = 0; n < l.length; n += 1) l[n] += f
return l
}
})()
return a
}
;(function (a) {
a.rF = function () {
function a(b, c, d, e, f) {
for (var h, k = 0, l = c, n = d - e; l < d; l += e) (k += (b[n] - b[l]) * (b[l + 1] + b[n + 1])), (n = l)
if (f === 0 < k) for (f = c; f < d; f += e) h = r(f, b[f], b[f + 1], h)
else for (f = d - e; f >= c; f -= e) h = r(f, b[f], b[f + 1], h)
h && m(h, h.next) && (s(h), (h = h.next))
return h
}
function c(a, b) {
if (!a) return a
b || (b = a)
var c = a,
d
do
if (((d = !1), c.u9 || (!m(c, c.next) && 0 !== l(c.Ia, c, c.next)))) c = c.next
else {
s(c)
c = b = c.Ia
if (c === c.next) break
d = !0
}
while (d || c !== b)
return b
}
function d(a, b, e, f, r, u, C) {
if (a) {
if (!C && u) {
var D = a,
A = D
do null === A.z && (A.z = h(A.x, A.y, f, r, u)), (A.ip = A.Ia), (A = A.nl = A.next)
while (A !== D)
A.ip.nl = null
A.ip = null
var D = A,
B,
G,
H,
I,
P,
L,
M = 1
do {
A = D
H = D = null
for (I = 0; A; ) {
I++
G = A
for (B = P = 0; B < M && (P++, (G = G.nl), G); B++);
for (L = M; 0 < P || (0 < L && G); )
0 !== P && (0 === L || !G || A.z <= G.z) ? ((B = A), (A = A.nl), P--) : ((B = G), (G = G.nl), L--), H ? (H.nl = B) : (D = B), (B.ip = H), (H = B)
A = G
}
H.nl = null
M *= 2
} while (1 < I)
}
for (D = a; a.Ia !== a.next; ) {
A = a.Ia
G = a.next
if (u)
a: if (((H = a.Ia), (I = a.next), 0 <= l(H, a, I))) H = !1
else {
P = h(H.x < a.x ? (H.x < I.x ? H.x : I.x) : a.x < I.x ? a.x : I.x, H.y < a.y ? (H.y < I.y ? H.y : I.y) : a.y < I.y ? a.y : I.y, f, r, u)
M = h(H.x > a.x ? (H.x > I.x ? H.x : I.x) : a.x > I.x ? a.x : I.x, H.y > a.y ? (H.y > I.y ? H.y : I.y) : a.y > I.y ? a.y : I.y, f, r, u)
for (B = a.nl; B && B.z <= M; ) {
if (B !== a.Ia && B !== a.next && k(H.x, H.y, a.x, a.y, I.x, I.y, B.x, B.y) && 0 <= l(B.Ia, B, B.next)) {
H = !1
break a
}
B = B.nl
}
for (B = a.ip; B && B.z >= P; ) {
if (B !== a.Ia && B !== a.next && k(H.x, H.y, a.x, a.y, I.x, I.y, B.x, B.y) && 0 <= l(B.Ia, B, B.next)) {
H = !1
break a
}
B = B.ip
}
H = !0
}
else
a: if (((H = a.Ia), (I = a.next), 0 <= l(H, a, I))) H = !1
else {
for (P = a.next.next; P !== a.Ia; ) {
if (k(H.x, H.y, a.x, a.y, I.x, I.y, P.x, P.y) && 0 <= l(P.Ia, P, P.next)) {
H = !1
break a
}
P = P.next
}
H = !0
}
if (H) b.push(A.we / e), b.push(a.we / e), b.push(G.we / e), s(a), (D = a = G.next)
else if (((a = G), a === D)) {
if (C)
if (1 === C) {
C = b
D = e
A = a
do
(G = A.Ia),
(H = A.next.next),
!m(G, H) && n(G, A, A.next, H) && p(G, H) && p(H, G) && (C.push(G.we / D), C.push(A.we / D), C.push(H.we / D), s(A), s(A.next), (A = a = H)),
(A = A.next)
while (A !== a)
a = A
d(a, b, e, f, r, u, 2)
} else {
if (2 === C)
a: {
C = a
do {
for (D = C.next.next; D !== C.Ia; ) {
if ((A = C.we !== D.we))
if (((A = void 0), (A = C.next.we !== D.we)))
if (((A = void 0), (A = C.Ia.we !== D.we))) {
A = A = void 0
b: {
A = C
do {
if (A.we !== C.we && A.next.we !== C.we && A.we !== D.we && A.next.we !== D.we && n(A, A.next, C, D)) {
A = !0
break b
}
A = A.next
} while (A !== C)
A = !1
}
if ((A = !A))
if (((A = void 0), (A = p(C, D))))
if (((A = void 0), (A = p(D, C)))) {
A = C
G = !1
H = (C.x + D.x) / 2
I = (C.y + D.y) / 2
do
A.y > I !== A.next.y > I && A.next.y !== A.y && H < ((A.next.x - A.x) * (I - A.y)) / (A.next.y - A.y) + A.x && (G = !G),
(A = A.next)
while (A !== C)
A = G
}
}
if (A) {
a = q(C, D)
C = c(C, C.next)
a = c(a, a.next)
d(C, b, e, f, r, u)
d(a, b, e, f, r, u)
break a
}
D = D.next
}
C = C.next
} while (C !== a)
}
}
else d(c(a), b, e, f, r, u, 1)
break
}
}
}
}
function e(a, b) {
return a.x - b.x
}
function f(a, b) {
var c = b,
d = a.x,
e = a.y,
f = -Infinity,
h
do {
if (e <= c.y && e >= c.next.y && c.next.y !== c.y) {
var l = c.x + ((e - c.y) * (c.next.x - c.x)) / (c.next.y - c.y)
if (l <= d && l > f) {
f = l
if (l === d) {
if (e === c.y) return c
if (e === c.next.y) return c.next
}
h = c.x < c.next.x ? c : c.next
}
}
c = c.next
} while (c !== b)
if (!h) return null
if (d === f) return h.Ia
for (var l = h, m = h.x, n = h.y, r = Infinity, s, c = h.next; c !== l; )
d >= c.x &&
c.x >= m &&
d !== c.x &&
k(e < n ? d : f, e, m, n, e < n ? f : d, e, c.x, c.y) &&
((s = Math.abs(e - c.y) / (d - c.x)), (s < r || (s === r && c.x > h.x)) && p(c, a) && ((h = c), (r = s))),
(c = c.next)
return h
}
function h(a, b, c, d, e) {
a = 32767 * (a - c) * e
b = 32767 * (b - d) * e
a = (a | (a << 8)) & 16711935
a = (a | (a << 4)) & 252645135
a = (a | (a << 2)) & 858993459
b = (b | (b << 8)) & 16711935
b = (b | (b << 4)) & 252645135
b = (b | (b << 2)) & 858993459
return ((a | (a << 1)) & 1431655765) | (((b | (b << 1)) & 1431655765) << 1)
}
function k(a, b, c, d, e, f, h, k) {
return 0 <= (e - h) * (b - k) - (a - h) * (f - k) && 0 <= (a - h) * (d - k) - (c - h) * (b - k) && 0 <= (c - h) * (f - k) - (e - h) * (d - k)
}
function l(a, b, c) {
return (b.y - a.y) * (c.x - b.x) - (b.x - a.x) * (c.y - b.y)
}
function m(a, b) {
return a.x === b.x && a.y === b.y
}
function n(a, b, c, d) {
return (m(a, b) && m(c, d)) || (m(a, d) && m(c, b)) ? !0 : 0 < l(a, b, c) !== 0 < l(a, b, d) && 0 < l(c, d, a) !== 0 < l(c, d, b)
}
function p(a, b) {
return 0 > l(a.Ia, a, a.next) ? 0 <= l(a, b, a.next) && 0 <= l(a, a.Ia, b) : 0 > l(a, b, a.Ia) || 0 > l(a, a.next, b)
}
function q(a, b) {
var c = new u(a.we, a.x, a.y),
d = new u(b.we, b.x, b.y),
e = a.next,
f = b.Ia
a.next = b
b.Ia = a
c.next = e
e.Ia = c
d.next = c
c.Ia = d
f.next = d
d.Ia = f
return d
}
function r(a, b, c, d) {
a = new u(a, b, c)
d ? ((a.next = d.next), (a.Ia = d), (d.next.Ia = a), (d.next = a)) : ((a.Ia = a), (a.next = a))
return a
}
function s(a) {
a.next.Ia = a.Ia
a.Ia.next = a.next
a.ip && (a.ip.nl = a.nl)
a.nl && (a.nl.ip = a.ip)
}
function u(a, b, c) {
this.we = a
this.x = b
this.y = c
this.nl = this.ip = this.z = this.next = this.Ia = null
this.u9 = !1
}
return {
lL: function (h, k, l) {
l = l || 2
var m = k && k.length,
n = m ? k[0] * l : h.length,
p = a(h, 0, n, l, !0),
r = []
if (!p) return r
var s, u, B, G
if (m) {
var H = l,
m = [],
I,
P,
L
G = 0
for (I = k.length; G < I; G++) {
P = k[G] * H
L = G < I - 1 ? k[G + 1] * H : h.length
P = a(h, P, L, H, !1)
P === P.next && (P.u9 = !0)
var M = (L = P)
do L.x < M.x && (M = L), (L = L.next)
while (L !== P)
m.push(M)
}
m.sort(e)
for (G = 0; G < m.length; G++) {
k = m[G]
H = p
if ((H = f(k, H))) (k = q(H, k)), c(k, k.next)
p = c(p, p.next)
}
}
if (h.length > 80 * l) {
s = B = h[0]
u = m = h[1]
for (H = l; H < n; H += l) (G = h[H]), (k = h[H + 1]), G < s && (s = G), k < u && (u = k), G > B && (B = G), k > m && (m = k)
B = Math.max(B - s, m - u)
B = 0 !== B ? 1 / B : 0
}
d(p, r, l, s, u, B)
return r
},
}
}
a.faa = a.rF()
})(g)
;(function (a) {
function b(a) {
var b = a.length
2 < b && a[b - 1][0] == a[0][0] && a[b - 1][1] == a[0][1] && a.pop()
}
function c(a, b) {
for (var c = 0; c < b.length; c++) a.push(b[c][0]), a.push(b[c][1])
}
a.Zn = {
oi: function (a) {
for (var b = a.length, c = 0, h = b - 1, k = 0; k < b; h = k++) c += a[h][0] * a[k][1] - a[k][0] * a[h][1]
return 0.5 * c
},
D5: function (b) {
return 0 > a.Zn.oi(b)
},
normalize: function (b) {
var c
if (b) {
c = []
for (var f = 0, h = b.length; f < h; f += 1)
c[f] = b[f] instanceof Array ? this.normalize(b[f]) : b[f] instanceof a.U ? [b[f].R, b[f].Q] : b[f] instanceof a.H ? [b[f].x, b[f].y] : b[f]
}
return c
},
Vh: function (d, e) {
e = e || []
var f = [],
h = []
b(d)
c(f, d)
var k = d.length
e.forEach(b)
for (var l = 0; l < e.length; l++) h.push(k), (k += e[l].length), c(f, e[l])
return a.faa.lL(f, h)
},
}
})(g)
g.qI = function (a, b, c) {
g.c.add({ CLASS_NAME: 'convertFrom' }, b)
var d = g.r.Zd + '/v3/assistant/coordinate/convert'
a = g.a.Ka(a)
var e = []
if (a instanceof Array) {
for (var f = 0, h = a.length; f < h; f += 1) e.push(a[f] + '')
e = e.join(';')
} else e = a + ''
b = ['key=' + g.r.key, 's=rsv3', 'locations=' + e, 'coordsys=' + (b || 'gps')]
d += 0 < b.length ? '?' + b.join('&') : ''
d = new g.jb.zb(d, { callback: 'callback' })
d.h(
'complete',
function (a) {
if ('1' === a.status) {
a = a.locations.split(';')
for (var b = 0; b < a.length; b += 1) {
var d = a[b].split(',')
a[b] = new AMap.LngLat(d[0], d[1])
}
c && 'function' === typeof c && c('complete', { info: 'ok', locations: a })
} else c && 'function' === typeof c && c('error', a.info)
},
this
)
d.h(
'error',
function (a) {
c && 'function' === typeof c && c('error', a.info)
},
this
)
}
g.jb = g.jb || {}
g.jb.iM = g.da.extend({
ka: [g.va],
A: function (a, b) {
this.w = { callback: 'cbk', type: 'json', charset: 'utf-8' }
b = b || {}
g.a.ub(this, b)
this.url = a
this.send(a, b.Ed, b.O2, b.pU, b.responseType)
},
send: function (a) {
var b = g.f.create('script')
b.type = 'text/javascript'
b.charset = this.w.charset
var c = this
g.l.Ue
? (b.onreadystatechange = function () {
;('loaded' !== this.readyState && 'complete' !== this.readyState) || c.q('complete')
})
: ((b.onload = function () {
c.q('complete')
}),
(b.onerror = function () {
c.q('error', { status: 0, info: 'service error', url: a })
}))
b.src = a
document.getElementsByTagName('head')[0].appendChild(b)
},
})
g.jb.zb = g.jb.iM.extend({
jna: function () {
if (g.a.P8) return g.a.cL.push(this), !0
},
Xwa: function () {
this.q('error', { info: 'TIME_OUT_A' })
},
send: function (a, b, c, d) {
function e() {
window[f] = null
try {
window[f] = null
} catch (a) {}
h.onerror = null
h.parentNode && h.parentNode.removeChild(h)
}
if (!this.w.gy || !this.jna()) {
a = encodeURI(a)
var f = this.w.fun
if (!f || window[f]) f = g.a.f4('jsonp_', 6) + '_'
var h = document.createElement('script')
h.type = 'text/javascript'
h.charset = 'utf-8'
h.async = !0
var k = this
g.l.Ue ||
(h.onerror = function () {
e()
k.q('error', { info: 'REQUEST_FAILED', url: a })
})
window[f] = function (a) {
e()
if (k.w.callbackFunction) k.w.callbackFunction.call(k.w.context, a)
else if (3e4 === a.errcode && a.data)
(g.a.P8 = !0),
g.tb.load('AMap.AntiCrabFrame', function () {
g.a.gy || (g.a.gy = new g.R$())
g.a.cL.push(k)
g.a.gy.open(k.w.Ed, a.data.host, k.fE || '', k.url)
})
else {
if (a instanceof Array || 'string' === typeof a) a = { data: a }
a.dEa = f
k.q('complete', a)
}
}
b = '?'
;-1 !== a.indexOf('?') && (b = '&')
b = a + b + this.w.callback + '=' + f
if (-1 !== a.indexOf(g.r.Zd + '/v') || -1 !== a.indexOf('yuntuapi.amap.com/datasearch') || -1 !== a.indexOf('webapi.amap.com/'))
(b = b + '&platform=JS&logversion=2.0' + ('&appname=' + g.r.Up)), (b += '&csid=' + g.a.Bw()), (b += '&sdkversion=' + g.r.ln)
if ((c = this.w.GI)) {
var l = [],
m
for (m in c) c.hasOwnProperty(m) && (l.push(m + '=' + c[m]), (b += '&' + m + '=' + encodeURIComponent(c[m])))
k.fE = l.join('&')
}
h.src = d ? b + '&rereq=true' : b
g.jb.zb.iea = document.getElementsByTagName('body')[0] || document.getElementsByTagName('head')[0]
g.jb.zb.iea.appendChild(h)
}
},
})
g.jb.XMLHttpRequest = g.jb.iM.extend({
send: function (a, b, c, d, e) {
var f = this
if ((g.l.Ue || g.l.j5) && window.XDomainRequest) {
var h = (this.K$ = new XDomainRequest())
h.onerror = function (b) {
f.q('error', { url: a, data: b })
}
h.onload = function () {
f.q('complete', { url: a, data: h.responseText })
}
h.open(b || 'GET', a)
setTimeout(function () {
h.send(c || void 0)
}, 0)
} else {
var k = (this.K$ = new XMLHttpRequest())
k.onreadystatechange = function () {
4 === k.readyState && 200 === k.status
? f.q('complete', { url: a, data: 'arraybuffer' === k.responseType || 'json' === k.responseType ? k.response : k.responseText })
: 404 === k.status && (k.abort(), f.q('error', { url: a, data: '404' }))
}
k.onerror = function (b) {
k.abort()
f.q('error', { url: a, data: b })
}
k.open(b || 'GET', a)
'POST' === b && k.setRequestHeader('Content-Type', d || 'application/x-www-form-urlencoded')
e && (k.responseType = e)
k.send(c || void 0)
}
},
abort: function () {
this.K$.abort()
},
})
for (
var $ = {
v: '1.4.17',
Pixel: g.H,
LngLat: g.U,
Size: g.xd,
Bounds: g.oe,
ArrayBounds: g.tp,
PixelBounds: g.Wf,
Panorama: g.Zaa,
PanoramaMarker: g.$aa,
Map: z.Rb,
View2D: z.NF,
GroundImage: z.o.ML,
Marker: z.B.vb,
ImageMarker: z.B.GAa,
Text: z.B.KW,
Icon: z.B.ci,
MarkerShape: z.B.Paa,
Polyline: z.B.Zb,
BezierCurve: z.B.sA,
Polygon: z.B.Dc,
Circle: z.B.gh,
CircleMarker: z.B.VV,
Ellipse: z.B.Et,
Rectangle: z.B.Lt,
ContextMenu: z.B.Tn,
InfoWindow: z.B.Ye,
Buildings: z.o.W$,
TileLayer: z.o.rb,
ImageLayer: z.o.BA,
CanvasLayer: z.o.Y$,
VideoLayer: z.o.Gba,
VectorLayer: z.o.fd,
MassMarks: z.o.Raa,
CompositeLayer: z.o.baa,
LabelsLayer: z.o.qr,
LabelMarker: z.B.Iaa,
LayerGroup: z.o.RL,
OverlayGroup: z.B.Wn,
GeoJSON: z.B.fW,
CANVAS: 'canvas',
DOM: 'dom',
convertFrom: g.qI,
Http: { JSONP: g.jb.zb },
event: { CLASS_NAME: 'AMap.event' },
},
Ic = 'addDomListener addDomListenerOnce addListener addListenerOnce clearInstanceListeners clearListeners removeListener trigger'.split(' '),
Jc = 0;
Jc < Ic.length;
Jc += 1
)
$.event[Ic[Jc]] = (function () {
var a = g.event[Ic[Jc]],
b = Ic[Jc]
return function () {
g.c.ya($.event)
g.c.add($.event, b)
return a.apply(g.event, Array.prototype.slice.call(arguments))
}
})()
$.GeometryUtil = { CLASS_NAME: 'AMap.GeometryUtil' }
for (
var Kc =
'distance ringArea isClockwise makesureClockwise makesureAntiClockwise distanceOfLine ringRingClip doesSegmentsIntersect doesSegmentLineIntersect doesSegmentRingIntersect doesSegmentPolygonIntersect doesLineLineIntersect doesLineRingIntersect doesPolygonPolygonIntersect doesRingRingIntersect isPointInRing isRingInRing isPointInPolygon isPointOnSegment isPointOnLine isPointOnRing isPointOnPolygon closestOnSegment closestOnLine distanceToSegment distanceToLine distanceToPolygon'.split(
' '
),
Jc = 0;
Jc < Kc.length;
Jc += 1
)
$.GeometryUtil[Kc[Jc]] = (function () {
var a = g.Ft[Kc[Jc]],
b = Kc[Jc]
return function () {
g.c.ya($.GeometryUtil)
g.c.add($.GeometryUtil, b)
return a.apply(g.Ft, Array.prototype.slice.call(arguments))
}
})()
$.GeometryUtil.triangulateShape = function (a, b) {
g.c.ya($.GeometryUtil)
g.c.add($.GeometryUtil, 'triangulateShape')
a = g.Zn.normalize(a)
b = g.Zn.normalize(b)
return g.Zn.Vh(a, b)
}
$.PlaneGeometryUtil = { CLASS_NAME: 'AMap.PlaneGeometryUtil' }
for (Jc = 0; Jc < Kc.length; Jc += 1)
$.PlaneGeometryUtil[Kc[Jc]] = (function () {
var a = g.di[Kc[Jc]],
b = Kc[Jc]
return function () {
g.c.ya($.PlaneGeometryUtil)
g.c.add($.PlaneGeometryUtil, b)
return a.apply(g.di, Array.prototype.slice.call(arguments))
}
})()
$.PlaneGeometryUtil.triangulateShape = function (a, b) {
g.c.ya($.PlaneGeometryUtil)
g.c.add($.PlaneGeometryUtil, 'triangulateShape')
a = g.Zn.normalize(a)
b = g.Zn.normalize(b)
return g.Zn.Vh(a, b)
}
$.plugin = $.service = z.Rb.prototype.plugin
$.TileLayer.Satellite = z.o.rb.EW
$.TileLayer.RoadNet = z.o.rb.AW
$.TileLayer.google = z.o.rb.LL
$.TileLayer.Flexible = z.o.rb.yA
$.TileLayer.WMS = z.o.rb.Hba
$.TileLayer.WMTS = z.o.rb.Iba
$.TileLayer.Traffic = z.o.rb.MW
$.Panorama.Events = z.event
$.TileLayer.PanoramaLayer = z.o.rb.OAa
$.UA = { ie: g.l.Es, ielt9: g.l.Ue, ielt11: g.l.$ra, mobile: g.l.ba, android: g.l.Xl, ios: g.l.ED }
$.Browser = {
ua: navigator.userAgent,
mobile: g.l.ba,
plat: g.l.Dz,
mac: g.l.nz,
windows: g.l.$za,
ios: g.l.ED,
iPad: g.l.Tra,
iPhone: g.l.Ura,
android: g.l.Xl,
android23: g.l.cma,
chrome: g.l.chrome,
firefox: g.l.bR,
safari: g.l.AE,
wechat: g.l.C$,
uc: g.l.oza,
qq: g.l.ewa,
ie: g.l.Es,
ie6: g.l.zi,
ie7: g.l.sv,
ie8: g.l.Ue && !g.l.sv && !g.l.zi,
ie9: g.l.j5,
ie10: g.l.i5,
ie11: g.l.Xra,
edge: g.l.spa,
ielt9: g.l.Ue,
baidu: g.l.VH,
isLocalStorage: g.l.Gv,
isGeolocation: !!navigator.geolocation,
mobileWebkit: g.l.jua,
mobileWebkit3d: g.l.G6,
mobileOpera: !!g.l.iua,
retina: g.l.Jc,
touch: !!g.l.Tf,
msPointer: !!g.l.I6,
pointer: !!g.l.FT,
webkit: g.l.B$,
ie3d: g.l.Yra,
webkit3d: g.l.CL,
gecko3d: g.l.jqa,
opera3d: g.l.bva,
any3d: g.l.RH,
isCanvas: g.l.il,
isSvg: g.l.En,
isVML: g.l.Es,
isWorker: !!window.Worker,
isWebsocket: !!window.WebSocket,
isWebGL: function () {
for (var a = document.createElement('canvas'), b = ['webgl', 'experimental-webgl', 'moz-webgl'], c = null, d = 0; d < b.length; d += 1) {
try {
c = a.getContext(b[d])
} catch (e) {}
if (c)
if (c.drawingBufferWidth !== a.width || c.drawingBufferHeight !== a.height) break
else return !0
}
return !1
},
}
$.Util = { CLASS_NAME: 'AMap.Util' }
var Lc = {
colorNameToHex: g.a.lI,
rgbHex2Rgba: g.a.B8,
argbHex2Rgba: g.a.Rr,
isEmpty: g.a.uh,
deleteItemFromArray: g.a.Ay,
deleteItemFromArrayByIndex: g.a.Fo,
indexOf: g.a.indexOf,
format: g.a.wb,
isArray: g.a.isArray,
isDOM: g.a.EJ,
includes: g.a.ka,
requestIdleCallback: g.a.qU,
cancelIdleCallback: g.a.$P,
requestAnimFrame: g.a.Wc,
cancelAnimFrame: g.a.ri,
color2RgbaArray: g.a.Zl,
color2Rgba: g.a.Ona,
}
for (Jc in Lc)
Lc.hasOwnProperty(Jc) &&
'function' == typeof Lc[Jc] &&
($.Util[Jc] = (function () {
var a = Jc
return function () {
g.c.ya($.Util)
g.c.add($.Util, a)
return Lc[a].apply(g.a, Array.prototype.slice.call(arguments))
}
})())
$.DomUtil = { CLASS_NAME: 'AMap.DomUtil' }
var Mc = {
getViewport: g.f.lJ,
getViewportOffset: g.f.RR,
create: g.f.create,
setClass: g.f.sxa,
hasClass: g.f.zn,
addClass: g.f.Wa,
removeClass: g.f.eb,
setOpacity: g.f.Xq,
rotate: g.f.rotate,
setCss: g.f.$a,
empty: g.f.Iz,
remove: g.f.remove,
TRANSFORM: g.f.pg,
TRANSITION: g.f.JF,
}
for (Jc in Mc)
Mc.hasOwnProperty(Jc) &&
'function' == typeof Mc[Jc] &&
($.DomUtil[Jc] = (function () {
var a = Jc
return function () {
g.c.ya($.DomUtil)
g.c.add($.DomUtil, a)
return Mc[a].apply(g.f, Array.prototype.slice.call(arguments))
}
})())
var Nc = g.r
$.User = { key: Nc.key }
window.AMap = $
window.AMap.BuryPoint = g.BuryPoint
window.AMap.Class = g.da
g.Kj = g.da.extend({
A: function (a, b, c, d) {
this.start = a
this.end = b
this.transition = c
this.precision = d || 0
this.Zv = !1
this.update = g.a.bind(this.update, this)
return this
},
Nn: function (a) {
this.hh = this.startTime = +new Date()
this.frames = 0
this.Zv = !0
this.yo = g.a.Wc(this.update)
this.Qia = g.a.bind(this.Jq, a || this)
},
update: function () {
this.frames += 1
var a = +new Date(),
b = a - this.startTime,
b = this.transition ? this.transition(this.start, this.end, b, this.frames, a - this.hh) : null
'number' === typeof b && Math.abs(b - this.end) < this.precision ? (this.stop(), (b = this.end)) : (this.yo = g.a.Wc(this.update))
this.hh = a
this.Qia(b)
},
stop: function (a) {
g.a.ri(this.yo)
a && this.update()
this.Zv = !1
},
})
g.Kj.Easing = {
Linear: {
None: function (a) {
return a
},
},
Bounce: {
In: function (a) {
return (
1 -
(a < 1 / 2.75
? 7.5625 * a * a
: a < 2 / 2.75
? 7.5625 * (a -= 1.5 / 2.75) * a + 0.75
: a < 2.5 / 2.75
? 7.5625 * (a -= 2.25 / 2.75) * a + 0.9375
: 7.5625 * (a -= 2.625 / 2.75) * a + 0.984375)
)
},
Out: function (a) {
return g.Kj.Easing.Bounce.In(1 - a)
},
},
Cubic: {
In: function (a) {
return 1 - a * a * a
},
Out: function (a) {
a = 1 - a
return 1 - a * a * a
},
},
}
g.Rb = g.da.extend({
ka: [g.va, g.Ze, g.RJ],
A: function (a, b) {
this.oc = g.a.bind(this.oc, this)
this.D = b
this.mj = b.mj
this.Bm = ''
this.rg = this.Jf = this.ej = !1
this.Tm = {}
this.K = a
this.Vga()
this.tsa()
this.X('zooms', b, !0)
this.X('size', b, !0)
this.X('limitBounds', b)
this.X('view', b)
this.X('nolimg', b, !0)
this.X('mapNumber', b, !0)
this.X('lang', b, !0)
this.X('features', b, !0)
this.X('styleID', b, !0)
this.X('forceBig', b, !0)
this.X('mode', b, !0)
this.X('showBuildingBlock', b, !0)
this.X('mapStyle', b)
var c = this.get('mapStyle')
this.De = g.r.De[c] || g.r.De['default']
this.KH = '#a3ccff'
this.ou = b.get('skyColor') || '#cce0ff'
g.r.RQ && this.X('editEnable', b)
g.r.RQ && this.Bd ? this.X('style', b, !0) : this.X('styleUrl', b)
this.X('hightlight', b, !0)
this.X('labelzIndex', b, !0)
if (g.l.bL) {
c = new z.o.rb({ innerLayer: !0, zIndex: b.get('labelzIndex'), visible: !1 })
this.Gc = new g.o.Pj(c, this, ['point', 'road'])
this.Gc.type = '\u77e2\u91cf\u6807\u6ce8'
var d = this.D.get('defaultLayer')
d && c.X('rejectMapMask', d, !0)
b.labelsLayer = this.Gc.S
this.Gc.S.h('complete', this.Br, this, !0)
this.Gc.S.h('renderComplete', this.Br, this)
this.Gc.yB = this.Gc.Ci = !0
}
this.X('isHotspot', b, !0)
this.X('layers', b)
this.X('overlays', b)
this.X('infos', b, !0)
this.X('contextmenus', b, !0)
this.X('controls', b)
this.X('bounds', b)
this.X('draw', b)
this.af('zoomAndCenter destroy defaultCursor jogEnable animateEnable baseRender overlayRender vectorMapForeign'.split(' '), b)
this.af('rotateEnable pitchEnable dragEnable keyboardEnable doubleClickZoom scrollWheel zoomEnable touchZoom'.split(' '), b, !0)
this.get('jogEnable') ? (this.vv = !0) : (this.vv = !1)
this.kga()
this.rga()
this.EG && this.EG()
this.X('resizeEnable', b)
this.D.map = this
c = this.get('size')
c = (c.width * c.height) / 65536
g.l.Jc && 3 < c && (this.WH = !0)
this.V = { Ad: !1 }
this.LK()
},
editEnableChanged: function () {
this.Bd = this.get('editEnable')
},
labelzIndexChanged: function () {
this.Gc && this.Gc.set('zIndex', this.get('labelzIndex'))
},
styleChanged: function () {
this.Fi = !0
},
mapStyleChanged: function () {
if (this.D.Bi) {
this.Bm && (this.set('style', ''), (this.Nu = this.Bm = ''))
var a = this.get('mapStyle')
this.Fi = !0
this.De = g.r.De[a] || g.r.De['default']
this.tE()
}
},
styleUrlChanged: function () {
if (this.D.Bi) {
var a = this.get('styleUrl') || ''
if (a !== this.Bm) {
var b = -1 !== a.indexOf('?isPublic=true'),
a = a.substr(0, 46),
c = a.split('amap://styles/')[1]
'normal' === c
? ((this.Bm = ''), this.set('nolimg', !!this.D.get('nolimg_param')), this.set('style', ''), (this.Nu = ''))
: ((this.hA = !0),
this.set('nolimg', !0),
(b = new g.jb.zb(
32 > c.length
? g.r.tc + '://webapi.amap.com/style2?name=' + c + '&key=' + g.r.key
: g.r.tc + '://webapi.amap.com/v4/map/styles2?styleid=' + c + '&s=rsv3&key=' + g.r.key + (b ? '&ispublic=1' : ''),
{ callback: 'callback' }
)),
b.h(
'complete',
function (a) {
a.data && a.data.layer && this.set('layerStyle', JSON.parse(a.data.layer))
a.data && a.data.content ? this.set('style', JSON.parse(a.data.content)) : this.set('style', '')
this.hA = !1
},
this
),
b.h(
'error',
function () {
this.hA = !1
},
this
),
(this.Bm = a),
this.tE())
}
}
},
R8: function (a) {
this.K.style.background = a
},
lqa: function (a) {
var b = this.get('center')
if (a.contains(b)) return null
a = g.Ft.closestOnLine(b, a.dV().path)
return new g.U(a[0], a[1])
},
lna: function () {
var a = this.get('limitBounds'),
b = this.get('bounds')
b.wc && b.wc.R > b.nc.R && (b.nc.R += 360)
if (!a.contains(b)) {
if (b instanceof g.tp) return this.lqa(a, b)
var c = this.get('center').cb()
a.vj() < b.vj() ? (c.R = a.xi().R) : (a.wc.R > b.wc.R && (c.R += a.wc.R - b.wc.R), a.nc.R < b.nc.R && (c.R += a.nc.R - b.nc.R))
a.tj() < b.tj() ? (c.Q = a.xi().Q) : (a.wc.Q > b.wc.Q && (c.Q += a.wc.Q - b.wc.Q), a.nc.Q < b.nc.Q && (c.Q += a.nc.Q - b.nc.Q))
return c
}
},
WO: function () {
var a = this.OU
this.D.refreshSize()
var b = this.get('size')
b && a && !b.gb(a) && ((this.OU = b), (this.ht = !0), this.set('display'), this.y8(b), this.get('resizeEnable') && this.qa('resize', { Cua: a, S6: b }))
},
m0: function () {
var a = this
a.WO()
a.QO = setTimeout(function () {
a.m0()
}, 200)
},
pda: function () {
this.QO && (clearTimeout(this.QO), (this.QO = null))
},
Vga: function () {
this.D.C = !0
this.OU = this.D.getSize()
this.D.C = !1
if (g.l.Ue || (g.l.C$ && g.l.ED) || g.l.Xta) this.m0()
else {
var a = this
g.F.Xla(this.K, function (b) {
a.WO(b)
})
}
},
tsa: function () {
var a = this.K
g.f.Wa(a, 'amap-container')
var b = {}
b.$c = g.f.create('div', a, 'amap-maps')
this.Ml = g.f.create('div', a)
this.Ml.style.display = 'none'
b.Xr = g.f.create('div', b.$c, 'amap-drags')
b.o = g.f.create('div', b.Xr, 'amap-layers')
b.B = g.f.create('div', b.Xr, 'amap-overlays')
b.controls = g.f.create('div', a, 'amap-controls')
b.YS = g.f.create('a', a, 'amap-logo')
g.f.create('img', b.YS).src = g.l.Jc ? this.D.w.logoUrlRetina : this.D.w.logoUrl
b.rn = g.f.create('div', a, 'amap-copyright')
b.rn.style.display = 'none'
350 < g.f.lJ(this.K).width && ((b.rn.innerHTML = this.D.w.copyright), (b.rn.v6 = g.f.create('span', b.rn, 'amap-mcode')), this.tE())
this.Xa = b
},
tE: function () {
var a = this.get('layers')
if (a) {
for (var b = -1, c = '', d = 0; d < a.length; d += 1) {
var e = a[d].get('mapNumber'),
f = a[d].get('zIndex', null, !0)
e && f > b && a[d].get('visible') && ((c = e), (b = f))
}
this.set('mapNumber', c)
this.D.C = !0
a = this.D.getMapStyle()
this.D.C = !1
'GS(2019)6379' === c && a && 'normal' !== a && 'amap://styles/normal' !== a && ((c = ''), (this.Xa.rn.style.visibility = 'hidden'))
c && this.Xa.rn.v6 && ((this.Xa.rn.v6.innerHTML = '- ' + c + '\u53f7'), (this.Xa.rn.style.visibility = 'visible'))
return c
}
},
zY: function () {
var a = 0 < arguments.length && void 0 !== arguments[0] ? arguments[0] : !1
g.Nj &&
(a
? g.Nj.flush()
: this.F3 ||
(this.F3 = g.a.Wc(function () {
g.Nj.flush()
this.F3 = null
}, this)))
},
cU: function (a) {
var b = this,
c = this.D.get('rasterLayer')
c &&
(this.D.set('rasterLayer', void 0),
(this.D.d8 = !0),
(this.D.Sv = this.D.Ra),
this.vi && (this.vi.vD = !1),
c.o && (c.o.XD = !0),
a ||
(this.dU = g.a.qU(function () {
b.dU = null
b.D && b.D.sk(c)
})))
a && this.dU && g.a.$P(this.dU)
},
Br: function () {
function a() {
for (var a = d.get('layers'), b = d.get('zoom'), c = 0; c < a.length; c += 1) {
var e = a[c].get('zooms')
if (
!(
a[c].zj ||
a[c].Sv ||
a[c].s5 ||
!e ||
b > e[1] ||
b < e[0] ||
!a[c].get('visible') ||
(a[c].o && a[c].o.ga && 0 === a[c].o.ga.length) ||
(a[c].o && a[c].o.XD) ||
(a[c].o && a[c].o.Ra)
)
)
return !1
}
a = d.D.get('features')
return ('all' === a || g.a.ka(a, 'point')) && d.Gc && d.Gc.get('visible') && 0 < d.Gc.ga.length && !d.Gc.Ra && !d.Gc.po ? !1 : !0
}
function b() {
d.D && d.D.qm && d.D.qm.OB && d.D.qm.OB()
d.D.W7 = 1
d.zY()
d.set('display')
d.NS = !0
}
function c() {
g.a.Wc(function () {
this.q('complete')
}, d)
d.D.Ra = !0
d.set('display')
}
if (!this.vI)
if (this.NS) this.zY()
else {
var d = this,
e = this.D.get('rasterLayer'),
f = a()
e ? (e.o && e.o.Ra && (this.D.Ra || c()), f && (this.D.Ra || c(), this.cU(), b())) : f && (this.D.Ra || c(), b(), (this.D.d8 = !0))
}
},
layersChanged: function () {
this.la = this.la || []
for (var a = this.get('layers'), b = this.la.length - 1; 0 <= b; b -= 1)
this.la[b] === this.td ||
this.la[b] === this.Zs ||
this.la[b].yB ||
this.la[b].S.yB ||
-1 !== g.a.indexOf(a, this.la[b].S) ||
(this.la[b].gg(), this.la[b].Hj && this.la[b].Hj.gg(), this.la[b].S.G('complete', this.Br, this), this.la[b].S.G('renderComplete', this.Br, this), (this.la = g.a.Fo(this.la, b)))
for (var c = !1, d = !0, e = this.get('labelzIndex'), b = 0; b < a.length; b += 1)
if (!a[b].s5)
if (a[b].qi) -1 === g.a.indexOf(this.la, a[b].o) && this.la.push(a[b].o)
else {
var f = this.bg(a[b])
f && (this.la.push(f), (a[b].qi = !0), (a[b].o = f))
a[b].h('complete', this.Br, this, !0)
a[b].h('renderComplete', this.Br, this)
}
for (b = 0; b < this.la.length; b += 1) (f = this.la[b].S), f.Gq && f.get('visible') && ((c = !0), !1 === f.get('detectRetina') && (d = !1), (e = f.get('textIndex') || e))
this.Gc &&
(c || '3D' !== this.D.view.type
? (this.Gc.po = !1)
: ((c = g.a.find(a, function (a) {
if (z.o.Ht && a instanceof z.o.Ht && a.get('visible')) return !0
})),
(this.Gc.po = c = !!c)))
a = g.a.indexOf(this.la, this.Gc)
c && this.D.get('showLabel')
? (-1 === a && this.la.push(this.Gc),
(this.Gc.ja = d && g.l.ja),
this.Gc.AC(this.get('mapStyle') || 'normal'),
this.Gc.set('zIndex', e),
this.Gc.set('visible', !0),
(this.D.uD = !0),
this.D.get('isHotspot') ? this.Gc.Vua() : this.Gc.iQ())
: (this.Gc && (this.Gc.set('visible', !1), (this.D.uD = !1), this.Gc.iQ()), (this.D.uD = !1))
this.D.isHotspotChanged()
this.set('display', 0)
this.tE()
},
isHotspotChanged: function () {
this.layersChanged()
},
controlsChanged: function () {
var a = this.get('controls'),
b,
c
if (a.add && 0 < a.add.length) for (; 0 < a.add.length; ) (b = a.add.shift()), (c = b.xu || b.addTo) && c.call(b, this.D, this.Xa.controls)
else if (a.remove && a.remove.length) for (; 0 < a.remove.length; ) (b = a.remove.shift()), (c = b.Uv || b.removeFrom) && c.call(b, this.D, this.Xa.controls)
},
z1: function () {
if (!this.vI) {
var a = this
this.E1 = !1
a.td || ((a.td = new g.o.fd(new z.o.fd(), a)), (a.td.Af = 36), (a.td.ig = 36), a.td.set('zIndex', 120), a.la.push(a.td), (a.td.WC = !0))
for (var b = a.get('overlays'), c = [], d = 0; d < a.Vc.length; d += 1)
-1 === g.a.indexOf(b, a.Vc[d].Lb) &&
(a.Vc[d].Lb instanceof z.B.Ye || a.Vc[d].Lb instanceof z.B.Tn
? a.Vc[d].gg()
: (a.td && a.Vc[d] instanceof g.B.vb ? ((a.td.ah = g.a.Ay(a.td.ah, a.Vc[d].L)), a.td.k8([a.Vc[d].L])) : a.Zs && a.Zs.k8([a.Vc[d].L]),
a.Vc[d].L.fa
? (g.f.remove(a.Vc[d].L.fa), (a.Vc[d].L.fa = null))
: a.Vc[d].L.Ma && (g.f.remove(a.Vc[d].L.Ma.Oh), g.f.remove(a.Vc[d].L.Ma.Qc), g.f.remove(a.Vc[d].L.Ma.dir), (a.Vc[d].L.Ma = null)),
a.Vc[d].Gn && a.Vc[d].Gn.stop(),
a.Vc[d].yh && a.Vc[d].yh.stop(),
(a.Vc[d].Lb.qi = !1),
a.Vc[d].Lb.yl(),
(a.Vc[d].Lb.B = null),
(a.Vc[d].Lb = null),
a.Vc[d].L.Soa(),
(a.Vc[d].L = null),
a.Vc[d].yl(),
(a.Vc[d].Ce = null),
a.Vc[d].ti(),
(a.Vc[d].map = null)),
c.push(a.Vc[d]))
for (d = 0; d < c.length; d += 1) a.Vc = g.a.Fo(a.Vc, g.a.indexOf(a.Vc, c[d]))
var e = [],
f = []
g.a.nxa(function (b) {
if (!b.qi && b.$g) {
var c = b.B || a.Rma(b)
c && (a.Vc.push(c), c instanceof g.B.Ye || c instanceof g.B.Tn ? c.Ts(a) : c instanceof g.B.vb ? e.push(c.L) : f.push(c.L), (b.qi = !0))
}
}, b)
e.length && a.td.ay(e)
f.length && (a.Zs || ((a.Zs = new g.o.fd(new z.o.fd(), a)), a.Zs.set('zIndex', 110), a.la.push(a.Zs)), a.Zs.ay(f))
a.set('display', 0)
}
},
overlaysChanged: function () {
this.Vc = this.Vc || []
this.get('overlays') && 0 === this.get('overlays').length ? this.z1() : this.E1 || (g.a.Wc(this.z1, this), (this.E1 = !0))
},
contextmenusChanged: function () {
var a = this.get('contextmenu')
if (a) {
var b = this
g.tb.load('overlay', function () {
b.ry = new g.B.Tn(a, b)
b.set('display', 0)
})
}
},
infosChanged: function () {
var a = this.get('infos')
if (a) {
this.rm = this.rm || {}
var b,
c = this
g.tb.load('overlay', function () {
for (var d in a) a.hasOwnProperty(d) && ((b = a[d]), (c.rm[d] = c.rm[d] || new g.B.Ye(b, c)))
})
}
},
Rma: function (a) {
var b = null
if (a instanceof z.B.vb) b = new g.B.vb(a, this)
else if (a instanceof z.B.Tn) b = new g.B.Tn(a, this)
else if (a instanceof z.B.Ye) b = new g.B.Ye(a, this)
else {
var c = ['overlay']
'd' === this.get('overlayRender') ? (c.push('dvector'), g.l.En ? c.push('svg') : c.push('vml')) : c.push('cvector')
if (!this.Kza && !g.tb.ID(c)) {
var d = this
g.tb.Fg(c, function () {
this.Kza = !0
d.overlaysChanged()
})
return
}
a instanceof z.B.Dc
? (b = new g.B.Dc(a, this))
: a instanceof z.B.sA
? (b = new g.B.sA(a, this))
: a instanceof z.B.Zb
? (b = new g.B.Zb(a, this))
: a instanceof z.B.gh
? (b = new g.B.gh(a, this))
: a instanceof z.B.Et
? (b = new g.B.Dc(a, this))
: a instanceof z.B.Lt && (b = new g.B.Dc(a, this))
}
return b
},
N3: function () {
var a = this.De
this.Nu && (!this.Re || !this.Re.Hp || (this.D && this.D.js)) && (a = 'function' === typeof this.Nu ? this.Nu(this.vi.P.zoom) : this.Nu)
return a
},
JCa: function () {
function a() {}
var b = new g.o.fd(),
c = [],
d = new g.U(116.405467, 39.907761)
new g.style.Ng.ci()
for (var e = 0; 100 > e; e += 1)
for (var f = 0; 100 > f; f += 1) {
var h = new g.U(d.R + 0.02 * f, d.Q + 0.02 * e),
h = new g.ai({ name: 'point' + (100 * e + f), map: this, W: new g.Aa.Mg(this.Bb(h)) })
c[100 * e + f] = h
h.h('hover', a, h)
}
b.ay(c)
this.la.push(b)
},
mc: function () {},
HCa: function (a) {
var b = new g.o.fd(),
c = [],
c = new g.raa({ map: this }).RT(a)
b.ay(c)
this.la.push(b)
this.set('display', 0)
},
bg: function (a) {
var b = this
a = a.bg(this)
if (!a) return null
if (a.length && 'string' == typeof a[0])
g.tb.Fg(a, function () {
b.layersChanged()
})
else return a
return null
},
CEa: function () {
return this.Xa
},
SGa: function () {
this.set('display', 0)
},
displayChanged: function (a) {
this.r1 || this.LK(a)
},
LK: function (a) {
if (a)
if ((g.a.ri(this.xE), g.l.Xl)) {
var b = this
setTimeout(function () {
b.oc()
}, 0)
} else this.oc()
else this.Dw || ((this.xE = g.a.Wc(this.oc)), (this.Dw = !0))
},
oc: function () {
this.xE = null
if (!this.vI) {
this.q('render')
this.Dw = !1
var a = {}
if (this.la && ((a.size = this.D.get('size')), a.size.width && a.size.height)) {
for (var b = this.D.view.type, c = [], d = 0, e = this.la.length; d < e; d += 1)
this.la[d].Uf && this.la[d].Uf !== b ? (this.la[d].Ra = !0) : (c.push(this.la[d]), this.la[d].Hj && c.push(this.la[d].Hj))
c.sort(function (a, b) {
var c = a.get('zIndex'),
d = b.get('zIndex')
return c > d ? 1 : c === d ? (a.ex > b.ex ? 1 : -1) : -1
})
a.la = c
c = g.l.ja ? Math.min(window.devicePixelRatio || 1, 2) : 1
a.W1 = 15e5 < a.size.width * a.size.height * c * c
a.vD = !!this.D.get('rasterLayer')
a.ba = g.l.ba
a.lang = this.get('lang')
a.P = this.D.rD()
a.Uf = b
this.D.C = !0
a.T = this.D.getResolution([0, 0])
a.Dq = this.D.get('mapStyle')
a.Fi = this.Fi
this.D.C = !1
a.Ad = this.rg
a.Yoa = this.Tm
a.ge = this.ej
a.gf = this.Jf
a.SE = this.Jf && g.l.ba
a.jL = g.l.ba && this.ej
a.nt = g.l.ba && this.rg
this.nt = a.nt
b = this.get('targetLevel') || a.P.zoom
a.sp = a.P.zoom > b
a.Gf = a.P.zoom > b ? 'zoomOut' : a.P.zoom < b ? 'zoomIn' : 'stable'
a.rua = !0
a.WH = this.WH
for (var b = !1, f, c = !1, d = 0; d < this.la.length; d += 1)
this.la[d].Di && this.la[d].S.get('visible') && a.P.zoom <= this.la[d].S.get('zooms')[1] && (a.hU = !0), this.la[d].me().Jc && (b = !0)
for (d = 0; d < this.la.length; d += 1)
this.la[d].S.NP && a.hU && (!this.ej && this.la[d].S.get('visible') && ((f = this.la[d].S.NP()), (f.kFa = 1), (f.zoom = a.P.zoom)), (c = !0))
this.nb = []
c && f && this.nb !== f && (this.nb = f)
a.nb = this.nb
a.Jc = b
a.scale = Math.pow(2, a.P.zoom - a.P.ne)
this.vi = a
this.Nc = this.D.get('mask')
a.Nc = this.Nc
a.UJ = this.UJ
if ((f = this.Oy())) f.oc(a), (this.Fi = this.hR = this.UJ = !1)
}
}
},
Pq: function (a) {
if (!this.vI) {
var b = {}
if (this.la && ((b.size = this.D.get('size')), b.size.width && b.size.height)) {
for (var c = this.D.view.type, d = [], e = 0, f = this.la.length; e < f; e += 1)
(this.la[e].Uf && this.la[e].Uf !== c) || !(this.la[e] instanceof g.o.Nm) || 0 > a.indexOf(this.la[e].S) || (d.push(this.la[e]), this.la[e].Hj && d.push(this.la[e].Hj))
d.sort(function (a, b) {
var c = a.get('zIndex'),
d = b.get('zIndex')
return c > d ? 1 : c === d ? (a.ex > b.ex ? 1 : -1) : -1
})
b.la = d
a = g.l.ja ? Math.min(window.devicePixelRatio || 1, 2) : 1
b.W1 = 15e5 < b.size.width * b.size.height * a * a
b.vD = !!this.D.get('rasterLayer')
b.ba = g.l.ba
b.lang = this.get('lang')
b.P = this.D.rD()
b.Uf = c
this.D.C = !0
b.T = this.D.getResolution([0, 0])
b.Dq = this.D.get('mapStyle')
b.Fi = this.Fi
this.D.C = !1
b.Ad = this.rg
b.Yoa = this.Tm
b.ge = this.ej
b.gf = this.Jf
b.SE = this.Jf && g.l.ba
b.jL = g.l.ba && this.ej
b.nt = g.l.ba && this.rg
this.nt = b.nt
c = this.get('targetLevel') || b.P.zoom
b.sp = b.P.zoom > c
b.Gf = b.P.zoom > c ? 'zoomOut' : b.P.zoom < c ? 'zoomIn' : 'stable'
b.rua = !0
b.WH = this.WH
c = !1
for (a = 0; a < this.la.length; a += 1) this.la[a].me().Jc && (c = !0)
this.nb = []
b.nb = this.nb
b.Jc = c
b.scale = Math.pow(2, b.P.zoom - b.P.ne)
this.vi = b
this.Nc = this.D.get('mask')
b.Nc = this.Nc
;(c = this.Oy()) && c.Pq(b)
}
}
},
Oy: function () {
if (!this.J || this.J.type !== this.D.view.type || this.J.Mta)
if (((this.J = null), '3D' == this.D.view.type)) {
var a = this
g.tb.load('Map3D', function () {
a.J || ((a.J = new g.Ea.BF(a)), a.set('display'))
})
} else this.J = new g.M.canvas.Rb(this)
return this.J
},
wqa: function () {
var a = [],
b = this.get('controls').Ld,
c
for (c in b) b[c].Qy && b[c].Qy() && a.push(b[c].Qy())
return a
},
destroyChanged: function () {
this.vI = 1
this.cU(!0)
this.V = {}
this.Gc && (this.Gc.S.G('complete', this.Br, this), this.Gc.gg(), (this.la = g.a.Fo(this.la, g.a.indexOf(this.la, this.Gc))))
this.Re && this.Re.he && this.Re.he.S && this.Re.he.S.setMap()
this.Oka && clearTimeout(this.Oka)
this.ska()
this.vha()
this.zO && this.zO()
this.yla()
this.yl()
this.D = this.D.map = null
this.K = this.K.___amap___ = null
this.ti()
this.He && (this.He.stop(), (this.He = null))
this.Vf && (this.Vf.stop(), (this.Vf = null))
this.Fd && (this.Fd.stop(), (this.Fd = null))
this.J && this.J.Kf && this.J.Kf()
this.J = null
},
yla: function () {
var a = this.K
this.pda()
g.F.Cna(a)
g.f.Iz(a)
this.Ml = null
g.f.eb(a, 'amap-container')
this.Xa = null
},
jogEnableChanged: function () {
this.get('jogEnable') ? (this.vv = !0) : (this.vv = !1)
},
drawChanged: function () {
var a = this,
b,
c,
d = this.get('draw')
if (d) {
this.tq || (this.tq = [])
b = 0
for (c = this.tq.length; b < c; b += 1) this.tq[b].wwa()
g.tb.load('interaction', function () {
var b = new g.IAa({ type: d, o: a.Zs }, a)
a.tq.push(b)
a.loaded = !0
})
} else if (this.tq) for (b = 0, c = this.tq.length; b < c; b += 1) this.tq[b].wwa(), this.tq[b].fDa(), this.G('click', this.tq[b].SEa, this)
},
Xd: function (a, b, c) {
return this.D.view.Xd(a, b, c)
},
yg: function (a, b, c) {
return this.D.view.yg(a, b, c)
},
E4: function (a, b) {
var c = this.get('size'),
d = document.createElement('canvas')
a = a || c.width
b = b || c.height
d.width = a
d.height = b
for (var e = -(c.width - a) / 2, c = -(c.height - b) / 2, f = d.getContext('2d'), h = this.Xa.o.childNodes, k = [], l = 0; l < h.length; l += 1) k.push(h[l])
k.sort(function (a, b) {
return a.style.zIndex - b.style.zIndex
})
for (l = 0; l < k.length; l += 1) {
var m = k[l]
if (g.f.zn(m, 'amap-layer') || g.f.zn(m, 'amap-e') || g.f.zn(m, 'amap-labels'))
if ('CANVAS' === m.tagName) {
var h = c,
n = e,
p = parseFloat(m.style.width) || m.width,
q = parseFloat(m.style.height) || m.height,
r = 1
m.style.transform && (r = parseFloat(m.style.transform.split('(')[1]))
f.drawImage(m, n, h, p * r, q * r)
} else if ('DIV' === m.tagName)
for (var r = m.childNodes, s = parseFloat(m.style.top) || 0 + c, m = parseFloat(m.style.left) || 0 + e, u = 0; u < r.length; u += 1) {
var v = r[u]
if ('CANVAS' === v.tagName || 'IMG' === v.tagName)
(h = parseFloat(v.style.top) || 0),
(n = parseFloat(v.style.left) || 0),
(p = parseFloat(v.style.width) || v.width),
(q = parseFloat(v.style.height) || v.height),
f.drawImage(v, n + m, h + s, p, q)
}
}
return d.toDataURL()
},
})
g.Rb.Hb({
kga: function () {
this.DB = !1
g.l.Tf && ('3D' === this.D.view.type ? this.Hca() : this.Fca())
g.l.ba || this.Cca()
},
ska: function () {
g.l.Tf && ('3D' === this.D.view.type ? this.Aha() : this.zha())
g.l.ba || (this.wha(), this.m_())
},
rotateEnableChanged: function () {
this.dxa = this.get('rotateEnable')
g.l.Tf && this.Y1 && '3D' !== this.D.view.type && (this.dxa ? this.Y1() : this.Bua())
},
zoomEnableChanged: function () {
this.get('zoomEnable') ? (g.l.Tf && this.PP && '3D' !== this.D.view.type && this.PP(), g.l.ba || this.Eca()) : (g.l.Tf && this.hT && this.hT(), g.l.ba || this.m_())
},
mousewheelChanged: function () {},
WS: function (a) {
a && (this.DB = a.su)
},
ww: function () {
this.DB = !1
},
Li: function (a, b, c, d) {
var e,
f = {}
a || (a = window.event)
var h = g.F.km(a, this.Xa.$c)
g.l.Tf && ('touchend' !== a.type ? (this.V.Qga = h) : (h = this.V.Qga))
f.Cb = h
f.Ta = this.yg(h)
f.Ta && (f.Ta = f.Ta.toFixed(3))
f.Nf = this.Od(f.Ta)
c || ((c = this.DB ? (this.DB ? [this.DB] : null) : this.afa(f.Ta, d)) && 0 < c.length && c[0].uo && ((e = c[0].uo), (f.su = c[0])))
e || 'info' === a.$e || (e = this)
f.hd = e
f.IBa = a.altKey
f.ctrlKey = a.ctrlKey
f.button = void 0 === a.button ? 0 : a.button
f.vT = a
e && 'AMap.LabelMarker' === e.CLASS_NAME && ((f.lnglat = f.Nf), (f.pixel = f.Cb), (f.target = e), (f.data = e.VW), (f.originEvent = a))
b || g.F.preventDefault(a)
return f
},
XN: function (a) {
return a && a !== this && a !== document
},
RO: function () {
var a = this.V
a.fg && (a.ak.Cb.x === a.fg.x && a.ak.Cb.y === a.fg.y ? (a.Jf = !1) : ((a.Jf = !0), a.Ep || (a.jq.q('dragstart', a.iq), (a.Ep = !0)), a.jq.q('dragging', a.ak), (a.fg = a.ak.Cb)))
},
Uxa: function (a) {
for (var b = [], c = 0; c < a.length; c += 1) a[c] && (b = b.concat(a[c]))
return b
},
Ov: function (a, b, c) {
return a && b && (a.x - b.x) * (a.x - b.x) + (a.y - b.y) * (a.y - b.y) < (c || 10)
},
afa: function (a, b) {
var c = this.Oy()
if (!c) return null
var d,
e = this
this.la.sort(function (a, b) {
return a.get('zIndex') > b.get('zIndex') ? -1 : 1
})
c.mq(
a,
this.la,
function (a) {
d = a
d = e.Uxa(d)
},
function () {
d = []
},
b
)
return d
},
})
g.Rb.Hb({
rga: function () {
this.Tm = {}
this.h('moveend', this.g7, this)
g.l.Xl && (g.l.qL || g.l.VH) && this.h('zoomend', this.IV, this)
this.h('movestart', this.h7, this)
this.h('zoomstart', this.o7, this)
this.h('zoomend', this.n7, this)
this.GM()
this.hB = 0
this.EY = {}
'undefined' === typeof window.requestAnimationFrame && (this.hB = 2)
},
o7: function () {
2 !== this.hB && 12 === this.get('zoom') && ((this.hB = 1), g.a.iR.start(this.EY))
this.ej = !0
},
n7: function () {
1 === this.hB && 13 !== this.get('zoom') && ((this.hB = 0), g.a.iR.cancel(this.EY))
this.ej = !1
this.set('display')
},
V0: function (a, b) {
this.Tm.left = 0 < a
this.Tm.right = 0 > a
this.Tm.bF = 0 < b
this.Tm.FQ = 0 > b
},
mu: function () {
this.Tm.left = !1
this.Tm.right = !1
this.Tm.bF = !1
this.Tm.FQ = !1
},
vha: function () {
this.G('moveend', this.g7, this)
g.l.Xl && (g.l.qL || g.l.VH) && this.G('zoomend', this.IV, this)
this.G('movestart', this.h7, this)
this.G('zoomstart', this.o7, this)
this.G('zoomend', this.n7, this)
this.xha()
},
g7: function (a) {
this.Jf = !1
this.mu()
this.y8()
!a.N5 && this.D.get('limitBounds', null, !0) ? ((a = this.lna()) && !a.gb(this.get('center')) ? this.VK(this.get('zoom'), a, !1, !0) : this.qa('moveend')) : this.qa('moveend')
this.set('display')
},
h7: function () {
this.Jf = !0
this.mu()
},
dragEnableChanged: function () {
;(this.XC = this.get('dragEnable')) ? this.FM() : this.yO()
},
qa: function (a, b) {
if (this.D.ve(a)) {
var c
b && (c = b.S6 ? { type: a, newsize: b.S6, oldsize: b.Cua } : { type: a, pixel: b.Cb, target: this.D, lnglat: b.Nf, originEvent: b.vT })
this.D.q(a, c)
}
},
GM: function () {
this.h('click', this.y_)
this.h('dblclick', this.C_)
g.l.Tf && this.wX()
g.l.ba || this.Dca()
},
xha: function () {
this.G('click', this.y_)
this.G('dblclick', this.C_)
g.l.Tf && this.n_()
g.l.ba || this.yha()
},
cH: function (a, b) {
var c = this.get('targetLevel') || this.get('zoom'),
c = 0 < b ? Math.floor(c) + 1 : Math.ceil(c) - 1,
c = Math.min(Math.max(c, this.get('zooms')[0]), this.get('zooms')[1])
c === this.get('zoom') || (this.Vf && this.Vf.Zv && c === this.Vf.end) || this.qA(c, !1, a)
},
y_: function (a) {
this.qa('click', a)
},
C_: function (a) {
this.get('doubleClickZoom') && this.get('zoomEnable') && this.cH(a.Ta, 1)
this.qa('dblclick', a)
},
pCa: function (a) {
this.cH(a.KHa, a.H9)
this.qa('touchend', a)
},
FM: function () {
this.XC &&
('3D' === this.D.view.type
? (this.h('dragstart', this.I_), this.h('dragging', this.E_), this.h('dragend', this.G_))
: (this.h('dragstart', this.H_), this.h('dragging', this.D_), this.h('dragend', this.F_)))
},
yO: function () {
this.XC ||
('3D' === this.D.view.type
? (this.G('dragstart', this.I_), this.G('dragging', this.E_), this.G('dragend', this.G_))
: (this.G('dragstart', this.H_), this.G('dragging', this.D_), this.G('dragend', this.F_)))
},
H_: function (a) {
this.WS(a)
this.mu()
this.rg = !0
this.V.Fy = a.Cb.x
this.V.YC = a.Cb.y
this.He && (this.He.stop(), this.us(!0))
this.qa('dragstart')
this.qa('movestart')
this.q('movestart', a)
this.$xa()
},
D_: function () {
var a = this.V,
b = a.ak.Cb.x - a.Fy,
c = a.ak.Cb.y - a.YC
if (c || b) {
this.V.Jf = !0
this.V0(b, c)
a.Fy = a.ak.Cb.x
a.YC = a.ak.Cb.y
var a = b,
d = c,
e = this.rotation
e && ((e *= Math.PI / 180), (a = b * Math.cos(e) + Math.sin(e) * c), (d = -Math.sin(e) * b + Math.cos(e) * c))
a = this.get('centerCoords').ab(new g.H(a, d).Nd(this.T))
;(d = this.x2(a)) && (c = Math.round(this.Xd(d).ab(this.Xd(a)).y))
this.Zo(this.Xa.Xr, b, c)
a.x = (a.x + g.a.Fa) % g.a.Fa
this.set('centerCoords', a, !0)
this.set('center', this.Od(a), !0)
this.vv && (this.hh ? ((a = new Date()), (this.Yt = 100 < a - this.hh ? new g.H(0, 0) : new g.H(b, c)), (this.hh = a)) : (this.hh = new Date()))
this.qa('dragging')
this.qa('mapmove')
} else (this.V.Jf = !1), (this.Yt = null), this.mu()
},
Zo: function (a, b, c) {
if (a && !(1 > Math.abs(b) && 1 > Math.abs(c))) {
var d = parseFloat(a.style.top) || 0,
e = parseFloat(a.style.left) || 0,
f = ''
this.rotation && (f = g.f.ot[g.f.pg] + ':rotate(' + this.rotation + 'deg);overflow:visible;')
a.style.cssText = 'position:absolute;top:' + (d + c) + 'px;left:' + (e + b) + 'px;' + f
}
},
x2: function (a) {
var b = this.D.view.ZW(),
c = (this.OU.height * this.T) / 2
return a.y < b.fc + c ? ((a.y = b.fc + c), a) : a.y > b.sc - c ? ((a.y = b.sc - c), a) : null
},
F_: function () {
this.ww()
100 < new Date() - this.hh && (this.Yt = null)
this.V.fg = null
this.rg = !1
this.mu()
this.qa('dragend')
if (this.vv && this.Yt)
if (this.V.Jf) {
var a = this.Yt,
b = new g.H(0, 0)
this.He = new g.Kj(
a,
b,
function (a, b, e) {
return 600 <= e ? b : a.Nd(1 - Math.pow(e / 600, 2)).floor()
},
1
)
this.He.Jq = function (a) {
if (2 > Math.abs(a.x) && 2 > Math.abs(a.y)) this.He.stop(), this.q('moveend'), this.us(), (this.Yt = this.hh = null)
else {
var b = a.x,
e = a.y,
f = this.rotation
f && ((f *= Math.PI / 180), (b = a.x * Math.cos(f) + Math.sin(f) * a.y), (e = -Math.sin(f) * a.x + Math.cos(f) * a.y))
b = this.get('centerCoords').ab(new g.H(b, e).Nd(this.T))
e = this.x2(b)
f = a.y
e && (f = Math.round(this.Xd(e).ab(this.Xd(b)).y))
this.Zo(this.Xa.Xr, a.x, f)
b.x = (b.x + g.a.Fa) % g.a.Fa
this.set('centerCoords', b, !0)
this.set('center', this.Od(b), !0)
this.qa('mapmove')
}
}
this.He.Nn(this)
} else this.q('moveend'), this.us(!0), (this.Yt = this.hh = null)
else this.q('moveend'), this.us(), (this.Yt = this.hh = null)
},
$xa: function () {
if (!this.V.refresh) {
var a = this,
b = null
this.V.refresh = setInterval(
function () {
b !== a.V.fg && (a.set('display', 0), (b = a.V.fg))
},
g.l.ba ? 400 : 100
)
}
},
IV: function () {
if (g.l.Xl && (g.l.qL || g.l.VH)) {
for (var a = this.Xa.o.childNodes, b = 0; b < a.length; b += 1) {
var c = a[b]
c instanceof HTMLCanvasElement && (c.width = 0)
'amap-e' === c.className && (c.style.height = '0')
}
for (b = 0; b < this.la.length; b += 1) (c = this.la[b]), 'undefined' !== typeof AMap.IndoorMap && c instanceof AMap.IndoorMap && (c.uu && (c.uu.width = 0), c.Wx && (c.Wx.width = 0))
}
},
us: function (a) {
this.V.refresh && (clearInterval(this.V.refresh), (this.V.refresh = null))
a || (this.IV(), this.set('display', 0))
},
y8: function (a) {
this.set('refresh', a)
},
})
g.Rb.Hb({
setZoomSlow: function (a) {
this.VK(a, null, !this.get('animateEnable'))
},
setPanTo: function (a) {
this.VK(null, a, !this.get('animateEnable'))
},
zoomAndCenterChanged: function (a) {
var b = a[0]
b < this.get('zooms')[0] && (b = this.get('zooms')[0])
b > this.get('zooms')[1] && (b = this.get('zooms')[1])
this.VK(b, a[1], a[2] || !this.get('animateEnable'))
},
zoomChanged: function () {
this.T = Math.pow(2, 20 - this.get('zoom'))
this.q('closeOverlays')
this.set('display')
},
rotationChanged: function (a) {
this.rotation = this.get('rotation')
this.D.q('rotate', { rotation: this.rotation || 0 })
!0 !== a && this.set('display', 0)
},
pitchChanged: function () {
this.pitch = this.get('pitch')
this.D.q('pitch', { pitch: this.pitch || 0 })
this.set('display', 0)
},
centerCoordsChanged: function () {
this.q('closeOverlays')
this.NBa ? this.LK(!0) : this.LK(!1)
},
})
g.OW = g.da.extend({
ka: [g.va, g.Ze],
A: function (a, b) {
this.type = '2D'
this.jf(b, !0)
a && this.Bma(a)
},
Bma: function (a) {
this.map = a
this.af(['size', 'refresh', 'maxPitch'], a)
this.centerChanged()
a.af(['zoom', 'center', 'centerCoords', 'rotation', 'pitch'], this)
},
ZW: function () {
this.wM || this.Vna()
return this.wM
},
Vna: function () {
var a
if (this.get('center') instanceof g.U) {
a = new g.oe(-180, -85, 180, 85)
var b = this.map.Bb(a.dk())
a = this.map.Bb(a.Oo())
this.wM = { Ic: b.x, fc: b.y, Hc: a.x, sc: a.y }
} else (a = this.map.get('limitBounds', null, !0)), (this.wM = { Ic: a[0], fc: a[1], Hc: a[2], sc: a[3] })
},
rD: function () {
var a = this.map,
b = this.get('zoom')
return {
zoom: b,
oh: this.get('center'),
Ha: this.jm(),
lb: this.get('centerCoords'),
rotation: parseInt(this.get('rotation')),
Pf: a.get('crs'),
T: Math.pow(2, 20 - b),
ne: Math.round(b),
Gg: Math.pow(2, 20 - Math.round(this.get('zoom'))),
}
},
centerChanged: function () {
this.set('centerCoords', this.map.Bb(this.get('center')).toFixed(3), !0)
},
centerCoordsChanged: function () {
var a = this.map
a.C = !0
var b = this.ZW(),
c = this.get('centerCoords'),
d = a.getSize()
a.C = !1
var e = this.get('zoom', null, !0),
a = this.get('center', null, !0),
d = (d.height * Math.pow(2, 20 - e)) / 2
a instanceof g.U ? (c.x = (c.x + 268435456) % 268435456) : 0 > c.x ? (c.x = 0) : c.x > b.Hc && (c.x = b.Hc)
c.y < b.fc + d ? (c.y = b.fc + d) : c.y > b.sc - d && (c.y = b.sc - d)
this.set('center', this.map.Od(c), !0)
},
})
g.NF = g.OW.extend({
jm: function () {
var a = this.get('size'),
b = this.get('centerCoords'),
c = parseInt(this.get('rotation')) % 360,
d = this.get('zoom', null, !0),
e = Math.pow(2, 20 - d),
c = (Math.PI * c) / 180,
a = new g.H((Math.abs(a.width * Math.cos(c)) + Math.abs(a.height * Math.sin(c))) / 2, (Math.abs(a.width * Math.sin(c)) + Math.abs(a.height * Math.cos(c))) / 2),
e = new g.Wf(b.ab(a.Nd(e)), b.add(a.Nd(e))),
c = this.map.get('targetLevel')
if (c > d - 1) {
var f = Math.pow(2, 20 - c)
e.N$ = new g.Wf(b.ab(a.Nd(f)), b.add(a.Nd(f)))
}
e.F9 = c || d
e.Ac = a
return e
},
nqa: function (a) {
var b = this.get('size'),
c = this.get('centerCoords'),
d = parseInt(this.get('rotation')) % 360,
d = (Math.PI * d) / 180,
b = new g.H((Math.abs(b.width * Math.cos(d)) + Math.abs(b.height * Math.sin(d))) / 2, (Math.abs(b.width * Math.sin(d)) + Math.abs(b.height * Math.cos(d))) / 2)
a = Math.pow(2, 20 - a)
return new g.Wf(c.ab(b.Nd(a)), c.add(b.Nd(a)))
},
Kd: function () {
var a = this.jm(),
b = a.Vd.x,
c = a.hc.y,
a = new g.H(a.hc.x, a.Vd.y),
b = new g.H(b, c)
return new g.oe(this.map.Od(a), this.map.Od(b))
},
zoomChanged: function () {},
Xd: function (a, b) {
this.get('size')
var c = a.cb(),
d = this.get('centerCoords'),
e = c.ab(d)
e.x < -g.a.Fa / 2 ? (e.x += g.a.Fa) : e.x > g.a.Fa / 2 && (e.x -= g.a.Fa)
var c = this.get('size').PE().ld(2),
f = (this.get('rotation') * Math.PI) / 180,
d = e.x * Math.cos(f) - Math.sin(f) * e.y,
e = Math.sin(f) * e.x + Math.cos(f) * e.y
return c.add(new g.H(d, e).Nd(Math.pow(2, (b || this.get('zoom')) - 20)))
},
yg: function (a, b) {
var c = this.get('size').PE().ld(2),
d = a.ab(c),
e = (this.get('rotation') * Math.PI) / 180,
c = d.x * Math.cos(e) + Math.sin(e) * d.y,
d = -Math.sin(e) * d.x + Math.cos(e) * d.y,
c = this.get('centerCoords').add(new g.H(c, d).Nd(Math.pow(2, 20 - (b || this.get('zoom')))))
c.x = (c.x + 268435456) % 268435456
return c
},
})
g.qM = g.OW.extend({
A: function (a, b) {
this.Le = new g.Cc()
this.cc = new g.Cc([1, 0, 0, 0, 0, -1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1])
arguments.callee.ma.apply(this, arguments)
this.scale = 1
this.type = '3D'
this.mA = null
this.T7 = ''
this.P = ['', 0, 0, '', 0]
this.mA = {}
},
refreshChanged: function () {
this.ir()
},
zoomChanged: function (a) {
this.ir()
this.P[4] = a
},
centerChanged: function (a) {
arguments.callee.ma.apply(this, arguments)
this.ir()
},
centerCoordsChanged: function (a) {
arguments.callee.ma.apply(this, arguments)
this.ir()
this.P[0] = a.toString()
},
rotationChanged: function (a) {
this.ir()
this.P[2] = a
},
pitchChanged: function (a) {
this.Ce.pitch = Math.min(this.get('maxPitch'), Math.max(a, 0))
this.ir()
this.P[1] = a
},
ir: function () {
if (!this.Bza() && (this.sL(), this.Toa(), this.map)) {
var a = this,
b = function () {
a.map.camera = a.R3()
a.map.q('camerachange', { map: a.map, camera: a.map.camera })
}
a.map.Ra ? b() : this.map.h('complete', b, this)
}
},
R3: function () {
return { height: this.pn, fov: this.bqa, aspect: this.uC, near: this.sz, far: this.LI, position: this.Yma, rotation: this.Ce.rotation, pitch: this.Ce.pitch }
},
Toa: function () {
this.Rga = g.a.dg()
},
Uo: function () {
var a = 0 < arguments.length && void 0 !== arguments[0] ? arguments[0] : 300
return g.a.dg() - this.Rga > a
},
sL: function () {
var a = this.get('centerCoords'),
b = this.get('pitch'),
c = this.get('rotation'),
d = new g.Cc().c9(-a.x + g.a.dc.x, -a.y + g.a.dc.y, 0)
this.Yma = { x: a.x - g.a.dc.x, y: a.y - g.a.dc.y }
a = new g.Cc().Rz(180 - b, 1, 0, 0)
this.I7 = new g.Cc().set(a)
c = new g.Cc().Rz(c, 0, 0, 1)
this.Tq = new g.Cc().set(c)
this.$pa = d.Dg()
this.cc = new g.Cc()
.c9(0, 0, -this.pn)
.multiply(a.multiply(c.multiply(d)))
.toFixed(8)
this.cc.df = this.cc.Dg()
},
Bza: function (a) {
a = a || this.get('zoom')
var b = this.get('size'),
c = b.width,
b = b.height
if (!c || !b) return !0
this.uC = c /= b
b = (b / 2) * Math.pow(2, 20 - a)
a = g.a.wb(((56 - a) * Math.PI) / 180, 2)
var d = g.a.wb(b / Math.tan(a / 2), 0)
2400 > d && ((d = 2400), (a = 2 * Math.atan(b / d)))
this.bqa = a
this.pn = d
this.sz = this.pn / 10
this.LI = 50 * this.pn
this.Coa = (this.pn - this.sz) / (this.LI - this.sz)
this.Le.Z8(a, c, this.sz, this.LI)
this.Le.df = this.Le.Dg()
a = this.Le
var c = new g.eW(),
b = c.iE,
e = this.Le.elements,
d = e[0],
f = e[1],
h = e[2],
k = e[3],
l = e[4],
m = e[5],
n = e[6],
p = e[7],
q = e[8],
r = e[9],
s = e[10],
u = e[11],
v = e[12],
w = e[13],
t = e[14],
e = e[15]
xc(b[0], k - d, p - l, u - q, e - v).normalize()
xc(b[1], k + d, p + l, u + q, e + v).normalize()
xc(b[2], k + f, p + m, u + r, e + w).normalize()
xc(b[3], k - f, p - m, u - r, e - w).normalize()
xc(b[4], k - h, p - n, u - s, e - t).normalize()
xc(b[5], k + h, p + n, u + s, e + t).normalize()
a.mR = c
},
rD: function () {
var a = this.map
a.map.ht && (this.ir(), (this.P[3] = a.get('size').toString()))
var b = this.P.toString()
if (b !== this.T7) {
var c = this.get('zoom'),
d = this.mA
d.zoom = c
d.uC = this.uC
d.top = this.top
d.Ha = this.jm()
d.lb = this.get('centerCoords')
d.rotation = (a.get('rotateEnable') && parseInt(this.get('rotation'))) || 0
d.pitch = this.get('pitch') || 0
d.BIa = this.get('yaw')
d.Pf = a.get('crs')
d.T = Math.pow(2, 20 - c)
d.ne = Math.round(c)
d.q7 = Math.floor(c)
d.Gg = Math.pow(2, 20 - d.ne)
d.cva = Math.pow(2, 20 - d.q7)
d.Le = this.Le
d.cc = this.cc
this.T7 = d.key = b
}
this.mA.oh = this.get('center')
this.mA.gr = g.a.dg()
this.mA.Uo = this.Uo()
return this.mA
},
jm: function () {
var a = this.get('size'),
b = a.width,
a = a.height
if (!b || !a) return null
var c, d
d = 0
var e = new g.H(0, d)
c = this.yg(e, !0)
if (55 < this.Ce.pitch || !c) for (; !c; ) (d += a / 40), (e.y = d), (c = this.yg(e, !0))
this.top = d / a
e.x = b
d = this.yg(e, !0)
var f = 0,
h = this.Ce.zoom
50 <= this.Ce.pitch && 18 <= h && (f = 0)
e.y = a + f
f = this.yg(e, !0)
e.x = 0
h = this.yg(e, !0)
c = [c.wl(), d.wl(), f.wl(), h.wl(), c.wl()]
c = new g.daa(c)
e.x = b / 2
e.y = a + 256
c.YP = this.yg(e, !0)
return c
},
Kd: function () {
var a = this.jm()
if (a) {
for (var b = [], c = 0; c < a.path.length; c += 1) {
var d = this.map.Od(new g.H(a.path[c][0], a.path[c][1]))
b.push(d)
}
return new g.tp(b)
}
},
Xd: function (a, b, c) {
a.z = c || 0
a = this.J6([a])
a = a[0]
return new g.H(a.x, a.y)
},
V3: function (a) {
var b = this.get('size')
a = new g.Fl([(a.x / b.width) * 2 - 1, 1 - (a.y / b.height) * 2, -1, 1])
a.multiply(this.sz)
return this.Le.df.Ah(a)
},
yg: function (a, b, c) {
var d
this.map ? ((this.map.C = !0), (d = this.map.getSize(!0)), (this.map.C = !1)) : (d = this.get('size'))
var e = (a.x / d.width) * 2 - 1
d = 1 - (a.y / d.height) * 2
a = new g.Fl([e, d, -1, 1])
a.multiply(this.sz)
if (!this.Le.df) return null
a = this.Le.df.Ah(a)
e = new g.Fl([e, d, 1, 1])
e.multiply(this.LI)
d = this.Le.df.Ah(e)
var f = this.cc.df,
e = f.Ah(a).elements
a = f.Ah(d).elements
c = (e[2] - (-c || 0)) / (e[2] - a[2])
if (0 > a[2] || 0 > c || (b && c > 2.5 * this.Coa)) return null
b = e[0] - c * (e[0] - a[0])
c = e[1] - c * (e[1] - a[1])
return isNaN(b) || isNaN(c) ? null : new g.H(b, c).add(g.a.dc)
},
J6: function (a) {
for (
var b = this.get('centerCoords'),
c = g.a.dc.x,
d = g.a.dc.y,
e = this.get('size'),
f = g.a.Fa,
h = b.x + f / 2,
b = b.x - f / 2,
k = [],
l = new g.Fl([0, 0, 0, 1]),
m = l.elements,
n = new g.H(0, 0),
p = g.Cc.multiply(this.Le, this.cc),
q = 0,
r = a.length;
q < r;
q++
)
if (a[q]) {
a[q].concat ? ((n.x = a[q][0]), (n.y = a[q][1]), (n.z = -a[q][2] || 0)) : ((n.x = a[q].x), (n.y = a[q].y), (n.z = -a[q].z || 0))
h < n.x ? (n.x -= f) : b > n.x && (n.x += f)
m[0] = n.x - c
m[1] = n.y - d
m[2] = n.z
var s = p.Ah(l)
s.multiply(1 / s.elements[3])
k[q] = { x: ((s.elements[0] + 1) / 2) * e.width, y: ((-s.elements[1] + 1) / 2) * e.height, z: s.elements[2] }
}
return k
},
cAa: function (a) {
var b = this.get('size')
a = this.Le.Ah(this.cc.Ah(new g.Fl().copy(a)))
a.multiply(1 / a.elements[3])
b = new g.H(((a.elements[0] + 1) / 2) * b.width, ((-a.elements[1] + 1) / 2) * b.height)
b.z = a.elements[2]
return b
},
})
g.a.dc = new g.H(215440491, 106744817)
g.Rb.Hb({
s2: function (a, b, c) {
var d = this
d.iF ? (clearTimeout(d.iF), (d.iF = null)) : (d.qa('zoomstart', { zoom: a }), d.q('zoomstart'))
d.iF = setTimeout(function () {
d.iF = null
d.qa('zoomend', { zoom: a })
d.qa('zoomchange', { zoom: a })
d.q('zoomend')
}, 150)
a = g.a.wb(a, 2)
d.qA(a, !0, b, c)
},
qA: function (a, b, c, d) {
var e = this.get('zoom')
if (e !== a) {
var f = this.get('zooms')
'3D' !== this.D.view.type && (g.l.ba || g.l.Ue) && (b = !0)
a = a || e
a = Math.min(Math.max(a, f[0]), f[1])
var h = a !== e,
k = !!c
this.He && (this.He.stop(), (this.He = null))
c = c || this.get('centerCoords')
var l = this.Xd(c)
c = function (c) {
b || (c = g.a.wb(c, 2))
var d = this.yg(l)
this.set('zoom', c)
var e = this.yg(l),
d = e && e ? e.ab(d) : new g.H(0, 0)
this.set('centerCoords', this.get('centerCoords').ab(d).toFixed(3))
d.x && d.y && this.qa('mapmove')
c === a &&
a << 0 === a &&
(this.set('targetLevel', null), h && !this.iF && (this.qa('zoomchange'), this.qa('zoomend')), this.q('zoomend'), k && this.q('moveend'), (this.Vf = null))
}
var m
this.Fd && this.Fd.Zv && (this.Fd.stop(), this.Fd.eS && (d = !0), this.Fd.sD && (m = !0), (this.Fd = null), this.set('targetLevel', null))
this.Vf && this.Vf.Zv && (this.Vf.stop(), (d = !0), this.Vf.sD && (m = !0), (this.Vf = null), this.set('targetLevel', null))
h && !d && this.qa('zoomstart')
k && !m && this.qa('movestart')
this.q('zoomstart')
b
? c.call(this, a)
: ((this.Vf = new g.Kj(e, a, null, 0.04)),
(this.Vf.eS = h),
(this.Vf.sD = k),
(this.Vf.transition = function (a, b, c) {
return c >= g.r.QH ? b : (b - a) * (1 - Math.pow(1 - c / g.r.QH, 4)) + a
}),
(this.Vf.Jq = c),
this.Vf.Nn(this, !0),
this.set('targetLevel', a))
}
},
VK: function (a, b, c, d) {
var e = null
a || (a = this.Fd ? this.Fd.kya : this.get('targetLevel') || this.get('zoom'))
var e = b ? this.Bb(b).toFixed(3) : this.Fd ? this.Fd.E9 : this.get('centerCoords'),
f = a !== this.get('zoom'),
h = !e.gb(this.get('centerCoords')),
k = (b = !1)
this.Vf && this.Vf.Zv && (this.Vf.stop(), (b = !0), this.Vf.sD && (k = !0), (this.Vf = null), this.set('targetLevel', null))
this.Fd && this.Fd.Zv && (this.Fd.stop(), this.Fd.eS && (b = !0), this.Fd.sD && (k = !0), (this.Fd = null), this.set('targetLevel', null))
this.He && (this.He.stop(), (this.He = null))
if (f || h) {
if (!this.D.view.jm().contains(e) || (f && '3D' !== this.D.view.type && (g.l.ba || g.l.Ue))) c = !0
if (c)
f && (b || (this.q('zoomstart'), this.qa('zoomstart')), this.set('zoom', a), this.qa('zoomchange'), this.qa('zoomend'), this.q('zoomend')),
h && (k || d || (this.qa('movestart'), this.q('movestart')), this.set('centerCoords', e), this.qa('mapmove'), this.q('moveend', { N5: d })),
this.set('targetLevel', null)
else {
this.set('targetLevel', a)
var l = a - this.get('zoom'),
m = e.ab(this.get('centerCoords')).toFixed(3)
this.Fd = new g.Kj(1, 0, null, 0.001)
this.Fd.eS = f
this.Fd.sD = h
this.Fd.E9 = e
this.Fd.kya = a
this.Fd.transition = function (a, b, c) {
return Math.pow(1 - Math.min(g.r.QH, c) / g.r.QH, 2)
}
this.Fd.Jq = function (b) {
0.02 > b
? (this.Fd && (this.Fd.stop(), (this.Fd = null)),
f && (this.set('zoom', a), this.qa('zoomchange'), this.qa('zoomend'), (f = !1), this.q('zoomend')),
h && (this.set('centerCoords', e), this.q('mapmove'), this.q('moveend', { N5: d })),
this.set('targetLevel', null))
: (f && this.set('zoom', a - l * b), h && ((b = e.ab(m.Nd(b)).toFixed(3)), this.set('centerCoords', b), this.qa('mapmove')))
this.set('display', 1)
}
this.Fd.Nn(this)
f && !b && (this.q('zoomstart'), this.qa('zoomstart'))
!h || k || d || (this.q('movestart'), this.qa('movestart'))
}
}
},
})
g.o = {}
g.o.Yb = g.da.extend({
ka: [g.va, g.Ze],
A: function (a, b) {
this.S = a
this.Ya = [3, 18]
this.ex = g.a.yb(this)
a && this.af(['opacity', 'visible', 'zIndex', 'zooms'], a)
a.Uf = b.D.view.type
this.e = b
this.X('display', b)
},
gg: function () {
this.Di && this.iQ()
if (g.Ca && g.Ca.kr && g.Ca.kr.length) {
var a = g.a.indexOf(g.Ca.kr, this)
;-1 !== a && (g.Ca.kr = g.a.Fo(g.Ca.kr, a))
}
if ((a = this.Nb)) {
if (a.length) for (var b = 0; b < a.length; b += 1) a[b].parentNode && a[b].parentNode.removeChild(a[b])
else a.parentNode && a.parentNode.removeChild(a)
this.Nb = null
}
this.S.gg && this.S.gg()
this.S.qi = !1
this.S.o = null
this.yl()
var c
this.M && (this.M.$j(), (this.M = null), (c = '-' + this.lc))
this.Bf && (this.Bf.$j(), (this.Bf = null), (c = '-' + this.lc))
if (c) for (var d in g.Ca.Fj) g.a.cD(d, c) && delete g.Ca.Fj[d]
},
qa: function (a, b) {
this.S.q(a, b)
},
visibleChanged: function () {
this.set('display', 0)
},
zIndexChanged: function () {
this.set('display', 0)
},
EU: function (a) {
g.f.Xq(a, this.opacity)
},
opacityChanged: function () {
var a = this.get('opacity')
this.opacity = Math.min(Math.max(0, a), 1)
if ((a = this.Nb))
if (a.length) for (var b = 0; b < a.length; b += 1) this.EU(a[b])
else this.EU(a)
this.e && this.e.D && '3D' == this.e.D.view.type && this.set('display', 0)
},
yn: function () {
return this.e.Nc && !this.S.get('rejectMapMask')
},
aJ: function () {
var a = this.get('bounds')
if (a) {
if (a instanceof g.oe) {
var b = a.dk(),
a = a.Oo(),
c = this.e.Bb(new g.U(180, 0)).x,
d = this.e.Bb(b),
e = this.e.Bb(a),
f = this.e.get('center')
b.R > a.R && (0 < f.R ? (e.x += c) : (d.x -= c))
this.I = [d.x, d.y, e.x, e.y]
} else
a instanceof g.Wf
? (this.I = [a.hc.x, a.hc.y, a.Vd.x, a.Vd.y])
: a instanceof g.OF && '3D' === this.S.Uf && ((b = a.path[1]), (d = this.e.Bb(a.path[0])), (e = this.e.Bb(b)), (this.I = [d.x, d.y, e.x, e.y, a.O8, a.height]))
return this.I
}
return null
},
})
var Oc = (function () {
function a(a) {
this.RF[g.a.yb(a)] = a
return this
}
function b(a) {
this.RF[g.a.yb(a)] = null
return this
}
return function () {
function c() {
var a = c.RF,
b,
f = [],
h
for (h in a) a.hasOwnProperty(h) && f.push(a[h])
for (a = f.length - 1; 0 <= a; a -= 1) (h = f[a].apply(this, arguments)), void 0 !== h && (b = h)
return b
}
c.RF = {}
c.K1 = a
c.QGa = b
return c
}
})()
g.og = g.da.extend({
ka: [g.va],
A: function (a, b) {
this.Ip = a | 0
this.UF = !!b
this.count = 0
this.iK = Oc()
this.clear()
this.CB = []
},
uh: function () {
return !this.count
},
hFa: function () {
return this.count >= this.Ip
},
yHa: function (a) {
this.Ip !== a && (this.Ip = a | 0) && this.u1(this.Ip)
},
Ld: function (a) {
return !!this.e[a]
},
get: function (a, b) {
var c = this.wY(a)
return c ? c.value : b
},
set: function (a, b) {
var c = this.wY(a)
c ? (c.value = b) : ((c = new g.og.tr(a, b)), (this.e[a] = c), this.tB(c), (this.count += 1), this.count > this.Ip && this.u1(this.Ip))
},
yw: function (a) {
this.remove(a)
},
remove: function (a) {
return this.e.hasOwnProperty(a) && this.UB(this.e[a]) ? !0 : !1
},
forEach: function (a, b) {
for (var c = this.cd.next; c !== this.cd; c = c.next) a.call(b, c.value, c.key, this)
},
pK: function (a, b) {
return this.e.hasOwnProperty(a) ? this.e[a].value : b
},
tGa: function () {
return this.cd.next.value
},
uGa: function () {
return this.cd.Ia.value
},
shift: function () {
return this.n0(this.cd.next)
},
C2: function () {
this.CB.length = 0
},
t6: function (a) {
this.CB.push(a)
},
push: function (a) {
a = new g.og.tr('', a)
0 === this.count ? ((this.cd.Ia = null), (a.Ia = this.cd), (this.cd.next = a)) : ((this.iC.next = a), (a.Ia = this.iC))
this.count += 1
this.iC = a
},
qza: function (a) {
a = new g.og.tr('', a)
0 === this.count ? ((this.cd.Ia = null), (a.Ia = this.cd), (this.iC = this.cd.next = a)) : ((this.cd.next.Ia = a), (a.next = this.cd.next), (a.Ia = this.cd), (this.cd.next = a))
this.count += 1
},
uua: function () {
if (this.count) {
this.count -= 1
var a = this.cd.next
a.next ? ((a.next.Ia = this.cd), (this.cd.next = a.next)) : ((this.cd.next = null), (this.iC = this.cd.Ia = null))
a.next = null
a.Ia = null
return a.value
}
return null
},
pop: function () {
return this.n0(this.cd.Ia)
},
wY: function (a) {
if (this.e.hasOwnProperty(a)) return (a = this.e[a]), this.UF && (a.remove(), this.tB(a)), a
},
tB: function (a) {
this.UF ? ((a.next = this.cd.next), (a.Ia = this.cd), (this.cd.next = a), (a.next.Ia = a)) : ((a.Ia = this.cd.Ia), (a.next = this.cd), (this.cd.Ia = a), (a.Ia.next = a))
},
u1: function (a) {
if (!(this.count <= a || this.count < 2 * this.CB.length)) {
for (var b = this.UF ? this.cd.Ia : this.cd.next, c = {}, d = 0, e = this.CB.length; d < e; d++) c[this.CB[d]] = !0
for (
a = Math.ceil((2 * a) / 3);
b && this.count > a && ((d = this.UF ? b.Ia : b.next), b.key && !c[b.key] && this.UB(b) && this.iK(b.value), (b = d), b !== this.cd && b !== this.iC);
);
}
},
UB: function (a) {
if (this.xC && !1 == this.xC(a.value)) return !1
a.remove()
delete this.e[a.key]
this.count -= 1
return !0
},
n0: function (a) {
this.cd !== a && (this.xC && console.log('Warnning!!!'), this.UB(a))
return a.value
},
clear: function () {
this.e = {}
this.cd = new g.og.tr('', null)
this.cd.Ia = this.cd.next = this.cd
this.count = 0
},
})
g.og.tr = function (a, b) {
this.key = a
this.value = b
}
g.og.tr.prototype.Ia = null
g.og.tr.prototype.next = null
g.og.tr.prototype.remove = function () {
this.Ia.next = this.next
this.next.Ia = this.Ia
this.next = this.Ia = null
}
function Pc(a, b, c) {
this.url = a
this.Mc = b
this.gR = c
this.qn = this.MK = !1
}
function Qc(a, b, c) {
var d = Rc
return function () {
return d.call(this, a, b, c)
}
}
function Rc(a, b, c) {
a.KDa = +new Date()
a.loaded = b
clearTimeout(a.yya)
var d = a.Hta
d.Ln.remove(a.url) && d.Sga()
d = a.Msa ? a.ga : a.Ba
a.ga = null
;(c || b || a.gR) && a.Mc(b ? d : null, a)
a.V5 ? (a.V5.ti(), (a.V5 = null)) : d && ((d.onload = null), (d.onerror = null), (d.onabort = null), (a.Ba = null))
}
g.wF = g.da.extend({
KBa: 'assets/image/blank.gif',
A: function (a, b, c) {
this.timeout = b || 15e3
this.Oq = new g.og(1024)
this.Ln = new g.og(1024)
this.M2 = a
this.UQ = c
},
NM: function (a) {
a && this.Ln.count >= this.M2 && ((a = this.Ln.cd.Ia.value), a.qn && (this.Ln.remove(a.url), this.fX(a)))
for (; this.Oq.count && !(this.Ln.count >= this.M2); ) this.eea(this.Oq.shift())
},
Sga: function () {
if (!this.PX) {
this.PX = !0
var a = this
setTimeout(function () {
a.PX = !1
a.NM()
}, 0)
}
},
eea: function (a) {
var b = document.createElement('img')
a.dqa && (b.crossOrigin = 'anonymous')
b.src = a.url
a.Ba = b
a.Hta = this
a.startTime = +new Date()
a.MK = !0
b.complete ? Rc(a, !0) : (this.Ln.set(a.url, a), (b.onload = Qc(a, !0)), (b.onerror = Qc(a, !1, !0)), (b.onabort = Qc(a, !1)), (a.yya = setTimeout(Qc(a, !1, !0), this.timeout)))
},
fX: function (a) {
a.MK && (Rc(a, !1), (a.qn = !0), (a.GCa = !0))
},
GFa: function (a, b, c) {
return this.mz(a.url, b, c, !0, a.ta.z + '_' + a.ta.x + '_' + a.ta.y)
},
mz: function (a, b, c, d, e) {
var f = this.Ln.get(a)
if (f && f.qn) (f.qn = !1), (f.Mc = b), (f.gR = c)
else {
f = new Pc(a, b, c)
f.Msa = d
f.key = e
if (this.Oq.get(g.a.yb(f))) return
this.Oq.set(g.a.yb(f), f)
this.NM(!0)
}
return f
},
wta: function (a, b, c) {
var d = this.Ln.get(a)
if (d && d.qn) (d.qn = !1), (d.Mc = b), (d.gR = c)
else {
d = new Pc(a, b, c)
d.dqa = !0
if (this.Oq.get(g.a.yb(d))) return
this.Oq.set(g.a.yb(d), d)
this.NM(!0)
}
return d
},
q2: function (a) {
a.qn || ((a.qn = !0), this.Oq.remove(g.a.yb(a)))
},
clear: function (a) {
this.Oq.forEach(function (a) {
a.qn = !0
})
this.Oq.clear()
if (a) for (; 0 < this.Ln.length; ) (a = this.Ln.pop()), this.fX(a)
else
this.Ln.forEach(function (a) {
a.qn = !0
})
},
})
function Sc(a, b, c) {
this.z = a
this.x = b
this.y = c
}
Sc.prototype.cb = function () {
return new Sc(this.z, this.x, this.y)
}
Sc.prototype.toString = function () {
return this.z + '/' + this.x + '/' + this.y
}
g.rb = function (a) {
var b = 1 < arguments.length && void 0 !== arguments[1] ? arguments[1] : !1
this.ta = a
this.key = a.toString()
this.Ie = b
}
g.pr = Sc
g.o.rb = g.o.Yb.extend({
A: function (a, b, c, d, e) {
arguments.callee.ma.apply(this, arguments)
this.X('tileSize', a)
this.X('tiles', a)
this.af(['zooms', 'type', 'detectRetina', 'errorUrl'], a)
a.FG && (this.X('lang', b, !0), this.X('mapStyle', b, !0), this.X('style', b, !0), this.X('features', b, !0))
var f = 'overlayer' === a.get('type') || !1 === a.get('blend')
this.Il = !1
var h = b.get('size'),
h = (h.width * h.height) / 65536
this.ja = g.l.ba && g.l.ja && this.get('detectRetina')
g.l.Jc && g.l.ba && 9 < h && (this.Il = !1)
this.Yi = !f && !a.Sv
this.Zi = !f && !a.Sv
this.gL = c
this.X('reload', a)
a.Isa ? this.X('createTile', a) : this.X('tileFun', a)
this.ff = d
this.nS = e
},
langChanged: function () {
this.set('reload')
this.S.$s()
},
styleChanged: function () {
this.e.Bd || (this.set('reload'), this.S.$s())
},
featuresChanged: function () {
this.set('reload')
this.S.$s()
},
reloadChanged: function () {
this.set('display', 0)
},
tileFunChanged: function () {
var a = this.gL || this.get('tileFun')
this.Bo = function (b, c, d) {
var e = a(b.ta.x, b.ta.y, b.ta.z)
if (!b.Is || b.Is.qn)
(b.loaded = !1),
(b.Is = ('3D' === this.e.D.view.type ? g.pm.wta : g.pm.mz).call(
g.pm,
e,
function (a) {
b.Is = null
a ? c(a) : d()
},
!1
))
}
},
createTileChanged: function () {
this.S.C = !0
var a = this.S.getCreateTile()
this.S.C = !1
this.Bo = function (b, c, d) {
a.call(this.g.S, b.ta.x, b.ta.y, b.ta.z, c, d, b)
}
this.set('reload')
},
me: function () {
var a = this.S.get('zooms', null, !0)
this.S.Hsa && (a = [Math.min(a[0], 18), Math.min(a[1], 18)])
return {
Dd: this.S.get('tileSize'),
visible: this.S.get('visible'),
I: this.aJ(),
Ya: a,
ZH: this.Il,
Yi: this.Yi,
Zi: this.Zi,
opacity: this.S.get('opacity'),
Bo: this.S.get('createTile'),
Po: this.gL || this.S.get('tileFun'),
Jc: this.S.Gq ? !1 : this.S.get('detectRetina') && g.l.ja && g.l.ba,
Nc: this.yn(),
}
},
$l: function (a) {
if (g.M.be.Ti) return new g.M.be.Ti(this, a)
},
})
g.pm = new g.wF(6, null)
g.o.fd = g.o.Yb.extend({
A: function (a, b) {
this.Ua = Math.min(2, window.devicePixelRatio || 1)
this.Jc = g.l.ja
this.map = b
this.er = 0
this.mm = !1
this.ig = this.Af = 0
this.ah = []
arguments.callee.ma.apply(this, arguments)
this.Jv = []
this.em = new g.o.laa()
a && (this.X('style', a), this.X('cursor', a, !0), (this.Xxa = a.get('stable') || !1), this.X('dataSources', a), this.X('bubble', a))
this.X('display', b)
this.zca()
},
me: function () {
return { visible: this.get('visible'), Ya: this.get('zooms'), opacity: this.get('opacity'), zIndex: this.get('zIndex'), ey: this.S.get('alwaysRender') || !1, Nc: this.yn() }
},
dataSourcesChanged: function () {
var a = this.get('dataSources')
a && a.length
? 'string' === typeof a
? new g.jb.zb(a).h(
'complete',
function (a) {
this.y7(a.data)
this.ls = a.data
this.mm = !0
this.set('display')
this.Ra = !0
this.S.q('complete')
},
this
)
: a.length && (this.y7(a), (this.ls = a), (this.mm = !0), this.set('display'), (this.Ra = !0), this.S.q('complete'))
: this.clear()
},
getDatas: function () {
return this.ls
},
vza: function () {
if (this.S.zj) {
var a = this.Cm
this.Af = a.Af
this.ig = a.ig
}
},
qa: function (a, b) {
var c = { type: a, data: 'mouseout' === a ? this.Pga || null : b.su.hb, target: this.S, originEvent: b.vT }
this.Pga = 'mouseout' === a ? null : b.su.hb
this.S.q(a, c)
},
rc: function (a) {
this.qa(a.type, a)
},
zca: function () {
this.h('click', this.rc)
this.h('dblclick', this.rc)
this.h('mousedown', this.rc)
this.h('mouseup', this.rc)
this.h('mouseover', this.rc)
this.h('mouseout', this.rc)
this.h('touchstart', this.rc)
this.h('touchend', this.rc)
},
DCa: function () {
this.G('click', this.rc)
this.G('dblclick', this.rc)
this.G('mousedown', this.rc)
this.G('mouseup', this.rc)
this.G('mouseover', this.rc)
this.G('mouseout', this.rc)
this.G('touchstart', this.rc)
this.G('touchend', this.rc)
},
styleChanged: function () {
this.Cm = this.get('style')
this.vza()
this.set('display', 0)
},
y7: function (a) {
if (a) {
this.clear()
for (var b = 0; b < a.length; b += 1) {
var c = a[b].lnglat
a[b].lnglat = g.a.Ka(c)
c = this.map.Bb(c)
c = new g.ai({ name: 'point-' + g.a.yb(this), W: new g.Aa.Mg([c.x, c.y], !0) })
c.uo = this
c.hb = a[b]
this.OH(c)
}
}
},
bra: function (a) {
if ('geojson' === a) return new g.raa({ map: this.map })
if ('topjson' === a) return new g.fBa({ map: this.map })
if ('subway' === a) return new g.aBa({ map: this.map })
},
Iva: function (a) {
if (a) {
var b = [],
b = [],
c = {}
if (a.rules) {
for (var b = a.rules, d = 0, e = b.length; d < e; d += 1) {
for (var f = [], h = b[d].symbolizers, k = 0, l = h.length; k < l; k += 1)
h[k].fill && (f[k] = new g.style.Ng.cW(h[k].fill)), h[k].stroke && (f[k] = new g.style.Ng.HW(h[k].stroke))
h = f
b[d].dL = h
b[d] = new g.style.jba(b[d])
}
c.rules = b
}
if (a.symbolizers) {
b = a.symbolizers
a = 0
for (d = b.length; a < d; a += 1) b[a].fill && (b[a] = new g.style.Ng.cW(b[a].fill)), b[a].stroke && (b[a] = new g.style.Ng.HW(b[a].stroke))
c.dL = b
}
a = new g.lM(c)
} else a = new g.lM({})
this.set('style', a)
return a
},
zCa: function (a, b) {
var c = new g.jb.zb(a)
c.h(
'complete',
function (c) {
c = this.ga[a] = this.bra(b).RT(c)
this.ay(c)
this.qa('complete')
},
this
)
c.h('error', this.mc, this)
},
jwa: function (a) {
'px' === a.target.get('unit')
? ((this.Af = Math.max(a.tl, this.Af)), (this.ig = Math.max(a.tl, this.ig)))
: a.tl > this.Ns && ((this.Ns = a.tl), (this.pz = this.Ns / this.map.D.mj.nq(20)))
},
OH: function (a) {
this.em.add(a)
if (!this.WC && !this.S.zj) {
if (0 === a.name.indexOf('circle') || 0 === a.name.indexOf('ellipse')) {
a.h('rad', this.jwa, this)
var b = a.get('radius')
b.length && (b = Math.max.apply(null, b))
'px' === a.get('unit')
? ((this.Af = Math.max(b, this.Af)), (this.ig = Math.max(b, this.ig)))
: this.Ns
? b > this.Ns && ((this.Ns = b), (this.pz = this.Ns / this.map.D.mj.nq(20)))
: ((this.Ns = b), (this.pz = this.Ns / this.map.D.mj.nq(20)))
}
b = a.get('strokeWeight') || 0
if (!this.qz || b > this.qz) this.qz = b
}
this.Xxa || a.X('feature', this, !0)
},
ay: function (a) {
this.mm = !0
for (var b = 0, c = a.length; b < c; b += 1) this.OH(a[b])
},
clear: function () {
this.mm = !0
this.ls = []
this.em.clear()
this.set('display', 0)
},
xn: function (a) {
var b, c
b = this.em.xn([a[0] + g.a.Fa, a[1], a[2] + g.a.Fa, a[3]])
c = this.em.xn([a[0] - g.a.Fa, a[1], a[2] - g.a.Fa, a[3]])
a = this.em.xn(a)
return g.extend(a, g.extend(b, c))
},
zEa: function (a) {
var b,
c = this.get('style'),
d = a.ul
c instanceof g.lM || (c = this.Iva(c))
if (d && 0 < d.length) b = c.Q2(d, a)
else {
if (c.I8.length || c.ul.length) b = c.poa(a)
b || (b = a.Eqa())
}
return b
},
UR: function (a) {
function b(a, b) {
return a.fm - b.fm
}
var c = [],
d,
e,
f,
h,
k,
l = {}
for (d in a)
if (a.hasOwnProperty(d)) {
f = a[d]
h = f.get('zIndex')
for (e in l) if (l.hasOwnProperty(e) && ((k = c[l[e]][2]), k === h)) break
'undefined' === typeof l[h] && (c.push([[], [], h]), (l[h] = c.length - 1))
h = c[l[h]]
h[0].push(f)
}
c.sort(this.Txa)
a = 0
for (d = c.length; a < d; a += 1) c[a][0].sort(b)
return c
},
featureChanged: function (a) {
this.mm = !0
var b = a.target,
c = b.ec()
0 !== this.em.Jqa([g.a.yb(b)]).length && (this.em.remove(b, a.Lv), c && !a.Ioa && this.em.add(b))
},
k8: function (a) {
this.mm = !0
for (var b, c = 0, d = a.length; c < d; c += 1) (b = a[c]), (b.W.Lv = null), b.ss(!0), b.xl('feature')
},
DHa: function (a, b) {
return a[1].zIndex === b[1].zIndex ? g.a.yb(a[1]) - g.a.yb(b[1]) : a[1].zIndex - b[1].zIndex
},
Txa: function (a, b) {
return a[2] - b[2]
},
qHa: function (a) {
return a.FEa() === g.o.kBa.UAa
},
$l: function (a) {
return this.WC
? new g.M.Ke.Gl(this, a)
: 'c' === this.map.get('overlayRender') && g.M.canvas.Gl
? new g.M.canvas.Gl(this, a)
: g.M.be.Gl && 'd' === this.map.get('overlayRender')
? new g.M.be.Gl(this, a)
: null
},
})
g.o.fd.Hb({
am: function (a) {
return this.WC ? new g.Ea.Ke.Gl(this, a) : this.S.zj ? new g.Ea.Saa(this, a) : new g.Ea.Gl(this, a)
},
})
g.o.laa = g.da.extend({
A: function () {
this.clear()
},
clear: function () {
this.rq = []
this.NT = new g.Kk()
},
add: function (a) {
var b = g.a.yb(a),
c = a.ec()
this.rq[b] || ((this.count += 1), (this.rq[b] = a), c && !g.I.gb(c.Kd(), [Infinity, Infinity, -Infinity, -Infinity]) && this.NT.Gs(c.Kd(), a))
},
tEa: function () {
return this.rq
},
xn: function (a) {
return this.NT.gxa(a)
},
Jqa: function (a) {
var b = a.length,
c = [],
d
for (d = 0; d < b; d += 1) this.rq[a[d]] && c.push(this.rq[a[d]])
return c
},
remove: function (a, b) {
var c = g.a.yb(a).toString(),
d = a.ec()
this.rq[c] && ((this.rq[c] = null), d && ((c = 'undefined' !== typeof b ? b : d.Kd()), this.NT.remove(c, a)))
},
})
g.Kk = g.da.extend({
A: function (a) {
this.z6 = 'undefined' !== typeof a ? a : 6
this.VJ = Math.floor(this.z6 / 2)
this.QK = { I: [Infinity, Infinity, -Infinity, -Infinity], Jb: [] }
this.count = 0
},
rna: function (a, b) {
var c = -1,
d = [],
e
d.push(b)
var f = b.Jb
do {
;-1 !== c && (d.push(f[c]), (f = f[c].Jb), (c = -1))
for (var h = f.length - 1; 0 <= h; h -= 1) {
var k = f[h]
if ('undefined' !== typeof k.Ve) {
c = -1
break
}
var l = g.Kk.Tz(k.I[2] - k.I[0], k.I[3] - k.I[1], k.Jb.length + 1),
k = g.Kk.Tz(
(k.I[2] > a.I[2] ? k.I[2] : a.I[2]) - (k.I[0] < a.I[0] ? k.I[0] : a.I[0]),
(k.I[3] > a.I[3] ? k.I[3] : a.I[3]) - (k.I[1] < a.I[1] ? k.I[1] : a.I[1]),
k.Jb.length + 2
)
if (0 > c || Math.abs(k - l) < e) (e = Math.abs(k - l)), (c = h)
}
} while (-1 !== c)
return d
},
Gs: function (a, b, c) {
a = { I: a, Ve: b }
'undefined' !== typeof c && (a.type = c)
this.x5(a, this.QK)
this.count += 1
},
x5: function (a, b) {
var c
if (0 === b.Jb.length) (b.I = g.I.cb(a.I)), b.Jb.push(a)
else {
var d = this.rna(a, b),
e = a
do {
if (c && 'undefined' !== typeof c.Jb && 0 === c.Jb.length) {
var f = c
c = d.pop()
for (var h = 0, k = c.Jb.length; h < k; h += 1)
if (c.Jb[h] === f || 0 === c.Jb[h].Jb.length) {
c.Jb.splice(h, 1)
break
}
} else c = d.pop()
f = e instanceof Array
if ('undefined' !== typeof e.Ve || 'undefined' !== typeof e.Jb || f) {
if (f) {
f = 0
for (h = e.length; f < h; f += 1) g.I.extend(c.I, e[f].I)
c.Jb = c.Jb.concat(e)
} else g.I.extend(c.I, e.I), c.Jb.push(e)
if (c.Jb.length <= this.z6)
if (0 < d.length) e = { I: g.I.cb(c.I) }
else break
else (e = f = this.lta(c.Jb)), 1 > d.length && (c.Jb.push(f[0]), d.push(c), (e = f[1]))
} else g.I.extend(c.I, e.I), (e = { I: g.I.cb(c.I) })
} while (0 < d.length)
}
},
lta: function (a) {
for (var b = this.Nva(a); 0 < a.length; ) this.Ova(a, b[0], b[1])
return b
},
Nva: function (a) {
for (var b = a.length - 1, c = 0, d = a.length - 1, e = 0, f = a.length - 2; 0 <= f; f -= 1) {
var h = a[f]
h.I[0] > a[c].I[0] ? (c = f) : h.I[2] < a[b].I[1] && (b = f)
h.I[1] > a[e].I[1] ? (e = f) : h.I[3] < a[d].I[3] && (d = f)
}
Math.abs(a[b].I[2] - a[c].I[0]) > Math.abs(a[d].I[3] - a[e].I[1])
? b > c
? ((b = a.splice(b, 1)[0]), (c = a.splice(c, 1)[0]))
: ((c = a.splice(c, 1)[0]), (b = a.splice(b, 1)[0]))
: d > e
? ((b = a.splice(d, 1)[0]), (c = a.splice(e, 1)[0]))
: ((c = a.splice(e, 1)[0]), (b = a.splice(d, 1)[0]))
return [
{ I: g.I.cb(b.I), Jb: [b] },
{ I: g.I.cb(c.I), Jb: [c] },
]
},
Ova: function (a, b, c) {
for (var d = g.Kk.Tz(b.I[2] - b.I[0], b.I[3] - b.I[1], b.Jb.length + 1), e = g.Kk.Tz(c.I[2] - c.I[0], c.I[3] - c.I[1], c.Jb.length + 1), f, h, k, l = a.length - 1; 0 <= l; l -= 1) {
var m = a[l],
n = [b.I[0] < m.I[0] ? b.I[0] : m.I[0], b.I[2] > m.I[2] ? b.I[2] : m.I[2], b.I[1] < m.I[1] ? b.I[1] : m.I[1], b.I[3] > m.I[3] ? b.I[3] : m.I[3]],
n = Math.abs(g.Kk.Tz(n[1] - n[0], n[3] - n[2], b.Jb.length + 2) - d),
m = [c.I[0] < m.I[0] ? c.I[0] : m.I[0], c.I[2] > m.I[2] ? c.I[2] : m.I[2], c.I[1] < m.I[1] ? c.I[1] : m.I[1], c.I[3] > m.I[3] ? c.I[3] : m.I[3]],
m = Math.abs(g.Kk.Tz(m[1] - m[0], m[3] - m[2], c.Jb.length + 2) - e),
p = Math.abs(m - n)
if (!h || !f || p < f) (h = l), (f = p), (k = m < n ? c : b)
}
d = a.splice(h, 1)[0]
b.Jb.length + a.length + 1 <= this.VJ
? (b.Jb.push(d), g.I.extend(b.I, d.I))
: c.Jb.length + a.length + 1 <= this.VJ
? (c.Jb.push(d), g.I.extend(c.I, d.I))
: (k.Jb.push(d), g.I.extend(k.I, d.I))
},
remove: function (a, b) {
var c = []
c[0] = { I: a }
;(c[1] = b) || (c[1] = !1)
c[2] = this.QK
this.count -= 1
if (!1 === c[1]) {
var d = 0,
e = []
do (d = e.length), (e = e.concat(this.n8.apply(this, c)))
while (d !== e.length)
return e
}
return this.n8.apply(this, c)
},
n8: function (a, b, c) {
var d = [],
e = [],
f = []
if (!a || !g.I.Zg(a.I, c.I)) return f
a = g.I.cb(a.I)
var h
e.push(c.Jb.length)
d.push(c)
do {
c = d.pop()
var k = e.pop() - 1
if ('undefined' !== typeof b)
for (; 0 <= k; ) {
var l = c.Jb[k]
if (g.I.Zg(a, l.I))
if ((b && 'undefined' !== typeof l.Ve && l.Ve === b) || (!b && ('undefined' !== typeof l.Ve || g.I.N2(a, l.I)))) {
'undefined' !== typeof l.Jb ? ((f = this.Nz(l, !0, [], l)), c.Jb.splice(k, 1)) : (f = c.Jb.splice(k, 1))
g.Kk.XT(c)
b = void 0
c.Jb.length < this.VJ && (h = this.Nz(c, !0, [], c))
break
} else 'undefined' !== typeof l.Jb && (e.push(k), d.push(c), (c = l), (k = l.Jb.length))
k -= 1
}
else if ('undefined' !== typeof h) {
c.Jb.splice(k + 1, 1)
0 < c.Jb.length && g.Kk.XT(c)
k = 0
for (l = h.length; k < l; k += 1) this.x5(h[k], c)
h.length = 0
0 === d.length && 1 >= c.Jb.length
? ((h = this.Nz(c, !0, h, c)), (c.Jb.length = 0), d.push(c), e.push(1))
: 0 < d.length && c.Jb.length < this.VJ
? ((h = this.Nz(c, !0, h, c)), (c.Jb.length = 0))
: (h = void 0)
} else g.Kk.XT(c)
} while (0 < d.length)
return f
},
search: function (a, b) {
return this.Nz({ I: a }, !1, [], this.QK, b)
},
gxa: function (a, b) {
return this.Nz({ I: a }, !1, [], this.QK, b, !0)
},
Nz: function (a, b, c, d, e, f) {
var h = {},
k = []
if (!g.I.Zg(a.I, d.I)) return f ? h : c
k.push(d.Jb)
do {
d = k.pop()
for (var l = d.length - 1; 0 <= l; l -= 1) {
var m = d[l]
if (g.I.Zg(a.I, m.I))
if ('undefined' !== typeof m.Jb) k.push(m.Jb)
else if ('undefined' !== typeof m.Ve)
if (b) c.push(m)
else if ('undefined' === typeof e || m.type === e) (m = m.Ve), 'undefined' !== typeof f ? (h[g.a.yb(m)] = m) : c.push(m)
}
} while (0 < k.length)
return 'undefined' !== typeof f ? h : c
},
})
g.Kk.XT = function (a) {
var b = a.Jb.length,
c = a.I
if (0 === b) g.I.empty(c)
else {
var d = a.Jb[0].I
c[0] = d[0]
c[2] = d[2]
c[1] = d[1]
c[3] = d[3]
for (d = 1; d < b; d += 1) g.I.extend(c, a.Jb[d].I)
}
}
g.Kk.Tz = function (a, b, c) {
var d = (a + b) / 2
a *= b
return (a * c) / (a / (d * d))
}
g.B = g.B || {}
g.B.Eh = g.da.extend({
ka: [g.va, g.Ze],
sva: ['position', 'altitude', 'visible', 'clickable', 'bubble'],
A: function (a, b) {
this.map = b
this.af(this.sva, a)
this.X('zIndex', a)
this.X('draggable', a)
g.l.Tf && this.Gca()
g.l.ba || this.GM()
this.Lb = a
this.Lb.B = this
},
draggableChanged: function () {
this.get('draggable') ? this.FM() : this.yO()
},
qa: function (a, b) {
var c
c = b ? { type: a, pixel: b.Cb, target: this.Lb, lnglat: b.Nf, originEvent: b.vT } : { type: a }
this.Lb && this.Lb.q(a, c)
},
rc: function (a) {
;(('click' !== a.type && 'rightclick' !== a.type && 'dblclick' !== a.type && 'longclick' !== a.type) || this.get('clickable')) && this.qa(a.type, a)
},
EM: function () {
this.h('click', this.rc)
this.h('rightclick', this.rc)
this.h('longclick', this.rc)
this.h('longpress', this.rc)
this.h('dblclick', this.rc)
},
w1: function () {
this.G('click', this.rc)
this.G('rightclick', this.rc)
this.G('longclick', this.rc)
this.G('longpress', this.rc)
this.G('dblclick', this.rc)
},
GM: function () {
this.get('clickable') && this.EM()
this.h('mousemove', this.rc)
this.h('mouseout', this.rc)
this.h('mouseover', this.rc)
this.h('mousedown', this.rc)
this.h('mouseup', this.rc)
},
ECa: function () {
this.w1()
this.G('mousemove', this.rc)
this.G('mouseout', this.rc)
this.G('mouseover', this.rc)
this.G('mousedown', this.rc)
this.G('mouseup', this.rc)
},
clickableChanged: function () {
this.get('clickable') ? this.EM() : this.w1()
},
Gca: function () {
this.get('clickable') && this.EM()
this.h('touchstart', this.rc, this)
this.h('touchmove', this.rc, this)
this.h('touchend', this.rc, this)
},
FM: function () {
this.h('dragstart', this.eu)
this.h('dragging', this.cu)
this.h('dragend', this.du)
},
eu: function (a) {
this.map.WS(a)
this.fg = a.Cb
this.Z5 = a.Ta
this.Y5 = a.Nf
this.qa('dragstart', a)
},
cu: function (a) {
var b = this.map.D.view.type
if ('2D' == b) {
var c = a.Cb.ab(this.fg),
b = c.x,
c = c.y
this.fg = a.Cb
var d = (this.map.get('rotation') * Math.PI) / 180,
e = b * Math.cos(d) + Math.sin(d) * c,
b = -Math.sin(d) * b + Math.cos(d) * c
this.Zo(new g.H(e, b))
this.qa('dragging', a)
} else
'3D' == b &&
a.Ta &&
((c = a.Cb.ab(this.fg)),
(b = c.x),
(c = c.y),
(e = a.Ta.ab(this.Z5)),
a.Nf.ab(this.Y5),
(this.fg = a.Cb),
'function' === typeof this.rz && this.rz(b, c, e),
(this.Z5 = a.Ta),
(this.Y5 = a.Nf),
this.qa('dragging', a))
},
du: function (a) {
this.map.ww()
'3D' == this.map.D.view.type && this.Lb.reset && this.Lb.reset()
this.qa('dragend', a)
},
yO: function () {
this.G('dragstart', this.eu)
this.G('dragging', this.cu)
this.G('dragend', this.du)
},
yN: function (a) {
var b,
c,
d = []
if (a) for (b = 0, c = a.length; b < c; b += 1) d.push(this.zN(a[b]))
return d
},
zN: function (a) {
a = this.map.Bb(a)
return [a.x, a.y]
},
hg: function (a) {
var b = this.L.mb || this.map.get('centerCoords'),
c = Math.pow(2, 20 - this.map.get('zoom'))
return [(a[0] - b.x) / c, (a[1] - b.y) / c]
},
St: function (a, b) {
var c = this.map.D,
d = [],
e = !1
a[0] instanceof Array && 'number' !== typeof a[0][0] && (e = !0)
if (e)
for (var e = 0, f = a.length; e < f; e++) {
for (var h = [], k = 0, l = a[e].length; k < l; k++) {
var m = c.Bb(a[e][k])
m.x += b[0]
m.y += b[1]
h.push(c.Od(m))
}
d.push(h)
}
else for (e = 0, f = a.length; e < f; e++) (h = c.Bb(a[e])), (h.x += b[0]), (h.y += b[1]), d.push(c.Od(h))
return d
},
})
g.B.vb = g.B.Eh.extend({
fE: 'content contentDom icon opacity angle autoRotation offset textAlign verticalAlign shadow title label isTop shape topWhenClick topWhenMouseOver noSelect anchor'.split(' '),
dma: { AMAP_ANIMATION_NONE: !1, AMAP_ANIMATION_DROP: g.Kj.Easing.Bounce, AMAP_ANIMATION_BOUNCE: g.Kj.Easing.Cubic },
A: function (a, b) {
arguments.callee.ma.apply(this, arguments)
this.af(this.fE, a)
this.X('move', a)
this.Tma()
this.Fu()
this.set('AnimationOffset', new g.H(0, 0), !0)
this.X('raiseOnDrag', a)
this.X('animation', a)
},
QN: function (a, b, c) {
var d = this.get('animation')
if (d && 'AMAP_ANIMATION_NONE' !== d) {
var e = this
this.Gn = new g.Kj()
this.Gn.transition = function (c, h, k) {
if ('AMAP_ANIMATION_NONE' === d) return 0
if (a && 600 <= k) return e.Gn.stop(), 0
c = 0 === Math.floor(k / 600) % 2 ? 'Out' : 'In'
'out' === b ? (c = 'Out') : 'in' === b && (c = 'In')
return e.dma[d][c]((k % 600) / 600)
}
c = c || 40
this.Gn.Jq = function (a) {
e.set('AnimationOffset', e.BO.add(new g.H(0, -1 * c * a)))
}
this.BO = new g.H(0, 0)
this.Gn.Nn()
}
},
AnimationOffsetChanged: function () {
this.positionChanged()
},
y0: function () {
this.Gn && (this.Gn.stop(), this.set('AnimationOffset', this.BO))
this.set('AnimationOffset', new g.H(0, -40))
if (this.nr) this.nr.set('position', this.get('position'))
else {
var a = new z.B.vb({
zIndex: this.get('zIndex') - 1,
icon: new z.B.ci({ image: g.r.Gb + '/theme/v1.3/dragCross.png', size: new g.xd(14, 11), innerOverlay: !0 }),
offset: new g.H(-4, -5),
position: this.get('position'),
innerOverlay: !0,
})
a.Da = !0
this.nr = a
}
this.nr.C = !0
this.nr.setMap(this.map.D)
this.nr.C = !1
},
kY: function () {
this.set('animation', 'AMAP_ANIMATION_DROP', !0)
this.QN(!0, 'in')
this.nr.C = !0
this.nr.C = !1
},
animationChanged: function () {
this.Gn && (this.Gn.stop(), this.set('AnimationOffset', this.BO), (this.Gn = null))
var a = this.get('animation')
a && 'AMAP_ANIMATION_NONE' !== a && ('AMAP_ANIMATION_DROP' === a ? this.QN(!0, 'in', 100) : this.QN())
},
rg: function () {
this.nr && this.nr.set('position', this.get('position'))
},
raiseOnDragChanged: function () {
this.get('raiseOnDrag')
? (this.h('dragstart', this.y0, this), this.h('dragging', this.rg, this), this.h('dragend', this.kY, this))
: (this.G('dragstart', this.y0, this), this.G('dragging', this.rg, this), this.G('dragend', this.kY, this))
},
Zo: function (a) {
var b = this.get('position')
a = this.map.Bb(b).add(a.Nd(Math.pow(2, 20 - this.map.get('zoom'))))
b instanceof g.U ? this.set('position', this.map.Od(a)) : this.set('position', a)
},
rz: function (a, b) {
var c = this.get('position'),
d = this.get('altitude'),
c = this.map.Ls(c, d),
d = this.map.$p(new g.H(c.x + a, c.y + b), null, d)
this.set('position', d)
},
Tma: function () {
var a = this.get('content'),
b = this.get('shadow'),
c = this.get('offset'),
d = this.get('label'),
e,
f = this
e = a
? this.d2(a, c)
: this.TP(this.get('icon'), function () {
f.L && f.L.fa ? (g.l.zi && g.a.iepngFix(e), f.offsetChanged(), f.rL()) : f.map && f.map.set('display')
})
this.set('contentDom', e, !0)
b && ((a = this.j2(b, c)), this.set('shadowDom', a, !0))
d && d.content && this.set('labelDom', this.UP(d.content), !0)
},
UP: function (a) {
var b = document.createElement('div')
b.className = 'amap-marker-label'
b.innerHTML = a
return b
},
Fu: function () {
var a = this.get('position')
if (this.map && a && !this.L) {
var b = this.map,
a = this.map.Bb(a),
a = (this.L = new g.ai({ name: 'marker-' + g.a.yb(this), map: b, W: new g.Aa.Mg([a.x, a.y]) }))
a.Tp = this.Lb.CLASS_NAME
a.uo = this
this.X('coords', a, !0)
a.af('offset textAlign verticalAlign isTop zIndex params noSelect'.split(' '), this)
}
},
getParams: function () {
return {
zIndex: this.get('zIndex'),
Rp: this.get('angle'),
Ug: this.get('contentDom'),
IJ: this.get('labelDom'),
e9: this.get('shadowDom'),
opacity: this.get('opacity'),
altitude: this.get('altitude'),
title: this.get('title'),
label: this.get('label'),
nF: this.get('AnimationOffset'),
verticalAlign: this.get('verticalAlign'),
textAlign: this.get('textAlign'),
offset: this.get('offset'),
S5: this.get('isTop'),
shape: this.get('shape'),
visible: this.get('visible') && !this.Lb.get('outOfZooms'),
anchor: this.get('anchor'),
}
},
offsetChanged: function () {
function a(a) {
var c = b.get('offset'),
f = b.get('AnimationOffset'),
h = b.get('verticalAlign'),
k = b.get('textAlign'),
l = Math.round(a.x) + c.x + f.x
a = Math.round(a.y) + c.y + f.y
var f = b.get('anchor'),
m = b.L.Wj || g.f.Lo(b.L.Ug)
b.L.Wj = m
c = m[0]
m = m[1]
f && ((f = f.split('-')), 2 === f.length ? ((k = f[1]), (h = f[0])) : 1 === f.length && 'center' === f[0] && ((k = 'center'), (h = 'middle')))
switch (k) {
case 'center':
l -= c / 2
break
case 'right':
l -= c
}
switch (h) {
case 'middle':
a -= m / 2
break
case 'bottom':
a -= m
}
b.L.fa.style.left = l + 'px'
b.L.fa.style.top = a + 'px'
}
if (this.map)
if (this.L && this.L.fa) {
var b = this,
c = this.map.D.view.type
'2D' == c
? ((c = this.map.Bb(this.get('position'))),
(c = c.ab(this.L.Na).ld(Math.pow(2, 20 - this.map.get('zoom')))),
this.L.fa && (this.L.fa.LB && this.L.fa.parentNode !== this.L.fa.LB ? this.map.set('display') : a(c)))
: '3D' == c &&
((c = this.get('position')),
(c = this.map.Ls(c, this.get('altitude'))),
this.L.fa && (this.L.fa.LB && this.L.fa.parentNode !== this.L.fa.LB ? this.map.set('display') : a(c)))
} else this.map.set('display')
},
altitudeChanged: function () {
this.offsetChanged()
},
positionChanged: function () {
if (this.L) {
var a = this.map.Bb(this.get('position'))
this.set('coords', [a.x, a.y])
this.map && ((this.L.cba = !0), this.offsetChanged())
}
},
anchorChanged: function () {
this.SF()
},
textAlignChanged: function () {
this.SF()
},
verticalAlignChanged: function () {
this.SF()
},
SF: function () {
this.L && ((this.L.Wj = null), (this.L.re = !0), this.map && ((this.map.td.lm = !0), this.map.set('display')))
},
contentChanged: function () {
if (this.L) {
this.L.Wj = null
this.map.td.lm = !0
;-1 === g.a.indexOf(this.map.td.ah, this.L) && this.map.td.ah.push(this.L)
var a = this.get('contentDom')
this.L.fa && this.L.fa === a.parentNode && this.L.fa.removeChild(a)
var a = this.get('content'),
b = this.get('offset'),
a = this.d2(a, b)
this.set('contentDom', a)
this.L.fa ? (g.l.zi && g.a.iepngFix(a), this.L.fa.appendChild(a), (this.L.Ug = a), this.offsetChanged(), this.rL()) : this.map && this.map.set('display')
this.titleChanged()
}
},
iconChanged: function () {
if (this.L && !this.get('content')) {
this.L.Wj = null
this.map.td.lm = !0
;-1 === g.a.indexOf(this.map.td.ah, this.L) && this.map.td.ah.push(this.L)
this.L.fa && this.get('contentDom') && this.L.fa.removeChild(this.get('contentDom'))
var a = this.get('icon')
this.get('offset')
var b = this,
c = this.TP(a, function () {
b.L && b.L.fa ? (g.l.zi && g.a.iepngFix(c), b.offsetChanged(), b.rL()) : b.map && b.map.set('display')
})
this.set('contentDom', c)
this.L.fa && (this.L.fa.appendChild(c), (this.L.Ug = c))
this.titleChanged()
}
},
shadowChanged: function () {
if (this.L) {
var a = this.get('shadowDom')
this.L.fa && a && a.parentNode === this.L.fa && this.L.fa.removeChild(a)
if ((a = this.get('shadow'))) {
var b = this.get('offset'),
a = this.j2(a, b)
this.set('shadowDom', a)
this.L.fa && this.L.fa.appendChild(a)
}
}
},
titleChanged: function () {
this.L && this.L.Ug && 'string' === typeof this.get('title') && this.L.Ug && this.get('title') && (this.L.Ug.title = this.get('title'))
},
rL: function (a, b) {
a = a || this.get('label')
b = b || this.get('labelDom')
if (a && b) {
var c = a.direction,
d = this.L.Wj || g.f.Lo(this.L.Ug),
e = d[0],
d = d[1],
f = g.f.Lo(b),
h = f[0],
k = f[1]
this.L.Cv = f
var l = (f = 0)
switch (c) {
case 'top':
f = -k
l = (e - h) / 2
break
case 'right':
f = (d - k) / 2
l = e
break
case 'bottom':
f = d
l = (e - h) / 2
break
case 'left':
f = (d - k) / 2
l = -h
break
case 'center':
;(f = (d - k) / 2), (l = (e - h) / 2)
}
a.offset && ((f += a.offset.y), (l += a.offset.x))
b.style.top = f + 'px'
b.style.left = l + 'px'
}
},
labelChanged: function (a) {
a = a || this.get('label')
if (this.L && this.L.fa) {
this.L.Cv = null
var b = this.L.fa,
c = this.get('labelDom')
c && c.parentNode === b && b.removeChild(c)
a && a.content && ((c = ''), a.content && ((c = this.UP(a.content)), b.appendChild(c), this.rL(a, c)), this.set('labelDom', c))
} else a && a.content ? this.set('labelDom', this.UP(a.content), !0) : this.set('labelDom', null)
},
isTopChanged: function () {
var a = this.map.td.iL,
b = this.get('isTop'),
c = this.get('zIndex')
a
? a === this
? this.L && this.L.fa && ((this.L.fa.style.zIndex = b ? this.map.td.er + 10 : c), (this.map.td.iL = b ? this : null))
: (a.L && a.L.fa && (a.L.fa.style.zIndex = b ? a.get('zIndex') : this.map.td.er + 10),
this.L && this.L.fa && (this.L.fa.style.zIndex = b ? this.map.td.er + 10 : c),
(this.map.td.iL = b ? this : a))
: ((this.map.td.iL = this), this.L && this.L.fa && (this.L.fa.style.zIndex = b ? this.map.td.er + 10 : c))
},
visibleChanged: function () {
this.L && this.L.fa && (this.get('visible') && !this.Lb.get('outOfZooms') ? (this.L.fa.style.display = 'block') : (this.L.fa.style.display = 'none'))
},
jva: function () {
this.visibleChanged()
},
angleChanged: function () {
if (!g.l.Ue && this.L && this.L.fa) {
var a = this.L,
b = a.get('params'),
c = b.textAlign,
d = b.verticalAlign,
e = b.offset,
b = e.x,
e = e.y
this.SF()
if ('AMap.Text' == a.Tp) {
var e = (b = 0),
f = a.Wj || g.f.Lo(a.Ug),
h = f[0],
k = f[1]
a.Wj = f
switch (c) {
case 'center':
b = h / 2
break
case 'right':
b = h
}
switch (d) {
case 'middle':
e = k / 2
break
case 'bottom':
e = k
}
} else (b = -b), (e = -e)
g.f.rotate(this.L.fa, this.get('angle') || 0, { x: b, y: e })
}
},
zIndexChanged: function () {
var a = this.get('zIndex')
if (a > this.map.td.er) {
this.map.td.er = a
var b = this.map.td.iL
b && b.L && b.L.fa && (b.L.fa.style.zIndex = a + 10)
}
this.L && this.L.fa && (this.L.fa.style.zIndex = this.get('isTop') ? this.map.td.er + 10 : this.get('zIndex'))
},
opacityChanged: function () {
var a = this.get('contentDom'),
b = this.get('shadowDom')
a && g.f.Xq(a, this.get('opacity'))
b && g.f.Xq(b, this.get('opacity'))
},
d2: function (a) {
var b
b = document.createElement('div')
b.className = 'amap-marker-content'
'string' !== typeof a ? b.appendChild(a) : ((b.innerHTML = a), b.childNodes[0] && !b.childNodes[0].style && (b.style['white-space'] = 'pre'))
g.f.Xq(b, this.get('opacity'))
return b
},
TP: function (a, b) {
var c,
d = 0,
e = 0,
f,
h,
k,
l,
m,
n
a
? ('string' === typeof a
? ((c = a), (n = !0))
: ((c = a.get('image')), (e = a.get('size')), (f = a.get('imageSize')), (d = e.width), (e = e.height), f && ((l = f.width), (m = f.height))),
(f = 'string' !== typeof a ? a.get('imageOffset') : { x: 0, y: 0 }))
: ((c = g.r.Hi + '/mark_bs.png'), (f = { x: 0, y: 0 }), (d = 19), (e = 33), (l = 19), (m = 33))
h = document.createElement('div')
h.className = 'amap-icon'
h.style.position = 'absolute'
h.style.overflow = n ? 'inherit' : 'hidden'
d && (h.style.width = d + 'px')
e && (h.style.height = e + 'px')
k = document.createElement('img')
l && m && ((k.style.width = l + 'px'), (k.style.height = m + 'px'))
k.style.top = f.y + 'px'
k.style.left = f.x + 'px'
h.appendChild(k)
g.f.Xq(g.l.Ue && n ? k : h, this.get('opacity'))
;(d && e) || (h.yM = !1)
g.F.h(
k,
'load',
function q() {
this.L && (this.L.Wj = null)
this.map && this.map.td && (this.map.td.lm = !0)
g.F.G(k, 'load', q, this)
if (this.L && this.L.fa) {
var a = this.get('labelDom')
a && this.L.fa.appendChild(a)
}
h.yM = !0
b && b()
},
this
)
k.src = c
return h
},
j2: function (a) {
a = this.TP(a)
a.style.zIndex = -1
return a
},
moveChanged: function () {
var a = this.get('move')
if (!1 === a) return this.dya()
void 0 !== a &&
('pause' === a.action
? this.Lva()
: '[object Array]' === Object.prototype.toString.call(a.Nf)
? a.Nf &&
('resume' === a.action && this.NG
? this.moveTo(a.Nf[a.Nf.Kp || 0], a.speed, a.xb)
: (this.NG && this.q('movestop'), (a.Nf.Kp = 0), this.set('position', a.Nf[0]), this.nua(a.Nf, a.speed, a.xb, a.vna)))
: this.moveTo(a.Nf, a.speed, a.xb, !0))
},
moveTo: function (a, b, c, d) {
if (!(0 >= b)) {
var e = this.get('position')
a.ab(e)
var f = Math.round((a.Ge(e) / 1e3 / b) * 36e5)
if (0 === f) return this.q('moveend')
this.yh && (this.yh.stop(), (this.yh = null))
this.yh = new g.Kj(e, a)
c =
c ||
function (a) {
return a
}
this.yh.transition = function (a, b, d) {
if (d >= f) return b
var e = (b.R - a.R) * c(d / f) + a.R
a = (b.Q - a.Q) * c(d / f) + a.Q
return new g.U(e, a)
}
this.yh.Jq = function (b) {
this.set('position', b)
d && this.Lb.q('moving', { target: this.Lb, passedPath: [this.yh.start, this.get('position')] })
this.q('moving')
b.gb(a) && (this.yh && (this.yh.stop(), (this.yh = null)), this.Lb.q('moveend', { target: this.Lb }), this.q('moveend'))
}
this.get('autoRotation') && !g.l.Ue && ((b = '2D' == (this.map.D.view.type || '2D') ? this.Yea(e, a) : this.Zea(e, a)), this.set('angle', b))
this.yh.Nn(this)
}
},
dya: function () {
this.yh && (this.yh.stop(), (this.yh = null), this.q('movestop'))
},
Lva: function () {
this.yh && (this.yh.stop(), (this.yh = null), this.q('movepause'))
},
nua: function (a, b, c, d) {
function e() {
var b = a.slice(0, a.Kp || 0)
b.push(this.get('position'))
this.Lb.q('moving', { target: this.Lb, passedPath: b })
}
function f() {
a.Kp < a.length - 1 ? ((a.Kp += 1), this.moveTo(a[a.Kp], b, c)) : (this.qa('movealong'), d ? ((a.Kp = 0), this.set('position', a[0]), this.moveTo(a[a.Kp], b, c)) : this.q('movestop'))
}
var h = Math.min(a.Kp || 0, a.length - 1)
this.NG ||
((this.NG = !0),
this.h('moving', e, this),
this.h('moveend', f, this),
this.h(
'movestop',
function l() {
this.NG = !1
this.G('moveend', f, this)
this.G('moving', e, this)
this.G('movestop', l, this)
},
this
))
this.moveTo(a[h], b, c)
},
Zea: function (a, b) {
var c = this.map,
d = c.Ls(a),
c = c.Ls(b),
e = 0
c.Ge(d)
var f = c.y - d.y,
h = c.x - d.x
0 !== c.x - d.x
? ((e = Math.atan((c.y - d.y) / (c.x - d.x))), 0 <= f && 0 > h ? (e = Math.PI + e) : 0 > f && 0 >= h ? (e = Math.PI + e) : 0 > f && 0 <= h && (e = 2 * Math.PI + e))
: (e = c.y > d.y ? Math.PI / 2 : (3 * Math.PI) / 2)
return g.a.wb((180 * e) / Math.PI, 1)
},
Yea: function (a, b) {
var c = this.map,
d = c.Bb(a),
c = c.Bb(b),
e = 0
c.Ge(d)
var f = c.y - d.y,
h = c.x - d.x
0 !== c.x - d.x
? ((e = Math.atan((c.y - d.y) / (c.x - d.x))), 0 <= f && 0 > h ? (e = Math.PI + e) : 0 > f && 0 >= h ? (e = Math.PI + e) : 0 > f && 0 <= h && (e = 2 * Math.PI + e))
: (e = c.y > d.y ? Math.PI / 2 : (3 * Math.PI) / 2)
return g.a.wb((180 * e) / Math.PI, 1)
},
})
g.B.Tn = g.B.Eh.extend({
A: function (a, b) {
arguments.callee.ma.apply(this, arguments)
this.X('items', a, !0)
this.X('content', a, !0)
this.X('resolution', b)
this.X('centerCoords', b)
this.Sp = a
},
Ts: function (a) {
this.Yg()
this.tt()
this.Em()
this.xl('resolution')
this.xl('centerCoords')
this.xl('render')
this.X('resolution', a)
this.X('centerCoords', a)
this.X('render', a)
this.map.h('movestart', this.$m, this)
this.map.h('mapmove', this.$m, this)
this.map.h('zoomstart', this.$m, this)
this.map.h('click', this.$m, this)
this.map.h('closeOverlays', this.$m, this)
this.map.h('rotate', this.$m, this)
},
$m: function () {
this.Sp.map && ((this.Sp.C = !0), this.Sp.close(), (this.Sp.C = !1))
},
mapChanged: function () {},
positionChanged: function () {
this.Em()
},
renderChanged: function () {
this.Em()
},
Yg: function () {
this.K && (this.K.parentNode && this.K.parentNode.removeChild(this.K), (this.K = null))
var a = g.f.create('div', null, 'amap-menu')
g.F.h(
a,
'mousedown',
function (a) {
g.F.stopPropagation(a)
},
this
)
this.K = a
this.map.Xa.B.appendChild(this.K)
},
tt: function () {
var a = this,
b = this.K
b.innerHTML = ''
var c = this.get('content')
if ('object' === typeof c) b.appendChild(c)
else if ('string' === typeof c) b.innerHTML = c
else if ((c = this.get('items')) && c.length) {
var d = g.f.create('ul', b, 'amap-menu-outer')
c.sort(function (a, b) {
return isNaN(a.jK) || isNaN(b.jK) ? 0 : a.jK - b.jK
})
for (b = 0; b < c.length; b += 1)
(function (b) {
var c = b.Qn,
h = b.xb,
k = g.f.create('li', d)
k.innerHTML = c
g.F.h(
k,
'click',
function () {
h.call(k)
a.Sp.C = !0
a.Sp.close()
a.Sp.C = !1
},
k
)
})(c[b])
} else this.K.innerHTML = ''
},
Em: function () {
var a = this.map,
b = this.K
a &&
b &&
(this.map.get('zoom'),
(b = this.get('position')),
(b = a.Ls(b)),
(a = b.y),
(b = b.x),
(this.K.style.right = ''),
(this.K.style.bottom = ''),
(this.K.style.left = b + 'px'),
(this.K.style.top = a + 'px'))
},
gg: function () {
this.K &&
(this.map.G('click', this.QBa, this),
this.map.Xa.B.removeChild(this.K),
(this.Sp.qi = !1),
(this.K = this.Sp.Ce.map = null),
this.map.G('movestart', this.$m, this),
this.map.G('zoomstart', this.$m, this),
this.map.G('click', this.$m, this),
this.map.G('closeOverlays', this.$m, this),
this.map.G('rotate', this.$m, this))
},
visibleChanged: function () {
this.K && (this.get('visible') ? (this.K.style.display = 'block') : (this.K.style.display = 'none'))
},
itemsChanged: function () {
this.K && this.tt()
},
})
g.B.Ye = g.B.Eh.extend({
A: function (a, b) {
arguments.callee.ma.apply(this, arguments)
this.af('content contentDom position contentU altitude isCustom autoMove showShadow closeWhenClickMap size offset anchor'.split(' '), a)
this.X('retainWhenClose', a, !0)
a.X('toBeClose', this)
this.rf = a
},
Ts: function (a) {
this.Yna || (this.Yg(), this.tt())
this.xl('resolution')
this.xl('centerCoords')
this.xl('render')
this.X('resolution', a)
this.X('centerCoords', a)
this.X('render', a)
this.map = a
a.Xa.B.appendChild(this.Qc)
this.zV()
this.Em()
this.nX()
this.Yna = !0
this.Nna()
this.Lb.q('onAdd', { type: 'onAdd', target: this.Lb })
},
Yg: function () {
var a = g.f.create('div')
a.className = 'amap-info'
var b = g.f.create('div', a, 'amap-info-shadowContainer'),
c = g.f.create('div', a),
d = this.get('anchor'),
e = 'amap-info-contentContainer'
d && (e = d + ' amap-info-contentContainer')
d = g.f.create('div', c, e)
a.style.position = 'absolute'
c.style.position = 'absolute'
c.style.bottom = '0px'
c.style.left = '0px'
b.style.position = 'absolute'
this.Qc = a
this.Oh = c
this.JU = b
this.ph = d
this.set('contentDom', this.ph, !0)
},
tt: function () {
var a = this.get('contentU')
if (a) {
var b = this.get('isCustom'),
c = this.ph,
d = this.JU
c.innerHTML = ''
var e = null
if (b) {
if ('string' === typeof a) c.innerHTML = a
else if (a instanceof Array) for (e = 0; e < a.length; e += 1) c.appendChild(a[e])
else c.appendChild(a)
e = c
d.parentNode && d.parentNode.removeChild(d)
} else {
e = 'amap-info-content amap-info-outer'
g.l.Ue && (e += ' amap-info-content-ie8')
e = this.ksa = d = g.f.create('div', c, e)
'string' === typeof a ? (d.innerHTML = a) : d.appendChild(a)
this.$na = d
a = g.f.create('a', this.ksa, 'amap-info-close')
a.innerHTML = '\u00d7'
this.hQ = a
a.href = 'javascript: void(0)'
g.l.Tf &&
(g.F.h(
a,
'touchstart',
function (a) {
g.F.stop(a)
},
this
),
g.F.h(
a,
'touchend',
function (a) {
g.F.stop(a)
this.rf.C = !0
this.rf.close()
this.rf.C = !1
},
this
),
g.F.h(
a,
'click',
function (a) {
g.F.stop(a)
this.rf.C = !0
this.rf.close()
this.rf.C = !1
},
this
))
g.l.ba ||
(g.F.h(
a,
'mousedown',
function (a) {
g.F.stop(a)
},
this
),
g.F.h(
a,
'click',
function (a) {
g.F.stop(a)
this.rf.C = !0
this.rf.close()
this.rf.C = !1
},
this
))
if ((a = this.get('size', !0))) 0 !== a.width && (d.style.width = a.width + 'px'), 0 !== a.height && (d.style.height = a.height + 'px')
this.get('anchor')
g.f.create('div', c, g.l.Ue ? 'amap-info-sharp-old' : 'amap-info-sharp')
this.JU.style.display = 'block'
}
g.F.bya(e)
}
},
zV: function () {
var a = this.get('isCustom'),
b = this.get('showShadow')
if (!a && b) {
var a = this.JU,
b = g.f.lJ(this.ph),
c = b.height - 23,
d = b.width
if (g.l.zi || g.l.sv) (c = this.ph.childNodes[0].offsetHeight), (d = this.ph.childNodes[0].offsetWidth + 26)
b = 'background-image:url(' + g.r.Gb + (g.l.zi ? '/theme/v1.3/iws.gif);' : '/theme/v1.3/iws.png);')
a.innerHTML = ''
var e = [],
f
f = e[1] = {}
f.height = 0.5 * c + 4
f.width = d
f.offsetX = 400
f.offsetY = 16
f.top = -f.height - 10 - 15
f.left = 23
f = e[2] = {}
f.height = e[1].height
f.width = e[1].height
f.offsetX = 1075 - f.width
f.offsetY = e[1].offsetY
f.top = e[1].top
f.left = 23 + e[1].width
f = e[3] = {}
f.height = 10
f.width = 22
f.offsetX = 30
f.offsetY = 445
f.top = -25
f.left = 23 + (g.l.sv || g.l.zi ? 5 : 0)
f = e[4] = {}
f.height = 10
f.width = d / 2 - 15 - e[3].left - e[3].width
f.offsetX = 132
f.offsetY = 445
f.top = -25
f.left = e[3].left + e[3].width
f = e[5] = {}
f.height = 10
f.width = 70
f.offsetX = 80
f.offsetY = 445
f.top = -25
f.left = e[4].left + e[4].width
f = e[6] = {}
f.height = 10
f.width = d - e[5].left - e[5].width
f.offsetX = 132
f.offsetY = 445
f.top = -25
f.left = e[5].left + e[5].width
f = e[7] = {}
f.height = 10
f.width = 30
f.offsetX = 621
f.offsetY = 445
f.top = -25
f.left = d
f = e[8] = {}
f.height = 15
f.width = 70
f.offsetX = 47
f.offsetY = 470
f.top = -15
f.left = d / 2 - 15
for (c = 1; 8 >= c; c += 1)
(d = g.f.create('div', a)),
(f = []),
f.push('position:absolute;'),
f.push(b),
f.push('top:' + e[c].top + 'px;'),
f.push('left:' + e[c].left + 'px;'),
f.push('width:' + e[c].width + 'px;'),
f.push('height:' + e[c].height + 'px;'),
f.push('background-position:' + -e[c].offsetX + 'px ' + -e[c].offsetY + 'px;'),
(d.style.cssText = f.join(''))
}
},
hIa: function () {},
Em: function () {
var a = this.map,
b = this.Qc,
c = this.get('position'),
d = this.get('anchor')
if (a && b && c) {
a = a.Ls(c, this.get('altitude'))
d && (this.ph.className = d + ' amap-info-contentContainer')
var e = g.f.lJ(this.ph)
if (g.l.zi || g.l.sv) e.width = this.ph.childNodes[0].offsetWidth + 14
b = e.height
c = this.get('offset')
this.get('isCustom')
e = e.width
this.Qc.style.left = Math.round(a.x - e / 2 + (c.x || 0)) + 'px'
this.Qc.style.top = Math.round(a.y + (c.y || 0)) + 'px'
if (d) {
var f
'center' == d ? ((d = 'center'), (f = 'middle')) : ((f = d.split('-')), (d = f[1]), (f = f[0]))
switch (f) {
case 'middle':
this.Qc.style.top = Math.round(a.y + b / 2 + (c.y || 0)) + 'px'
break
case 'top':
this.Qc.style.top = Math.round(a.y + b + (c.y || 0)) + 'px'
}
switch (d) {
case 'left':
this.Qc.style.left = Math.round(a.x + (c.x || 0)) + 'px'
break
case 'right':
this.Qc.style.left = Math.round(a.x - e + (c.x || 0)) + 'px'
}
}
d = this.$na
if (this.hQ && d.childNodes[0]) {
for (b = a = 0; b < d.childNodes.length; b += 1) a += d.childNodes[0].clientHeight || 0
a > (this.get('size').height || d.clientHeight) ? (this.hQ.style.right = '20px') : (this.hQ.style.right = '5px')
}
}
},
Bda: function () {
var a = new g.H(2 - this.ph.offsetWidth / 2, 2 - this.ph.offsetHeight),
b = this.get('offset') || new g.H(0, 0),
c = this.get('anchor')
if (c) {
var a = this.ph.offsetWidth,
d = this.ph.offsetHeight,
e,
f,
h = 2 - a / 2,
k = 2 - d
c && ((c = c.split('-')), 2 === c.length ? ((e = c[1]), (f = c[0])) : 1 === c.length && 'center' === c[0] && ((e = 'center'), (f = 'middle')))
switch (e) {
case 'left':
h = 2
break
case 'right':
h = -a
}
switch (f) {
case 'middle':
k = -d / 2
break
case 'top':
k = -2
}
a = new g.H(h, k)
}
this.get('isCustom') || (a = a.add(new g.H(0, -23)))
return a.add(b)
},
altitudeChanged: function () {
this.Em()
},
nX: function () {
if (this.get('position') && this.get('autoMove') && this.ph) {
for (
var a = this.map,
b = new g.xd(this.ph.offsetWidth, this.ph.offsetHeight),
c = a.Ls(this.get('position'), this.get('altitude')).add(this.Bda()),
d = c.add(b.PE()),
e = a.get('size'),
f = a.wqa(),
h = 0,
k = 0,
l = 0;
l < f.length;
l += 1
) {
var m = f[l],
n = 0,
p = 0
0 === m[1] && 0 === m[2]
? ((n = m[3] - (c.x + h)), (p = m[0] - (c.y + k)), 0 < n && 0 < p && (Math.abs(n) < Math.abs(p) ? (h += n) : (k += p)))
: 0 === m[2] && 0 === m[3]
? ((n = e.vj() - m[1] - (d.x + h)), (p = m[0] - (c.y + k)), 0 > n && 0 < p && (Math.abs(n) < Math.abs(p) ? (h += n) : (k += p)))
: 0 === m[0] && 0 === m[3]
? ((n = e.vj() - m[1] - (d.x + h)), (p = e.tj() - m[2] - (d.y + k)), 0 > n && 0 > p && (Math.abs(n) < Math.abs(p) ? (h += n) : (k += p)))
: 0 === m[0] && 0 === m[1] && ((n = m[3] - (c.x + h)), (p = e.tj() - m[2] - (d.y + k)), 0 < n && 0 > p && (Math.abs(n) < Math.abs(p) ? (h += n) : (k += p)))
}
c = c.add(new g.H(h, k))
d = d.add(new g.H(h, k))
l = f = 0
0 > c.x || b.vj() > e.vj() ? (f = 20 - c.x) : e.vj() < d.x && (f = e.vj() - d.x - 25)
0 > c.y || b.tj() > e.tj() ? (l = 5 - c.y) : e.tj() < d.y && (l = e.tj() - d.y - 15)
f += h
l += k
if (f || l) (a.D.C = !0), a.D.panBy(f, l), (a.D.C = !1)
}
},
Nna: function () {
this.get('closeWhenClickMap') && (this.map.h('clickstart', this.A_, this, !1), this.map.h('clickend', this.z_, this, !1))
},
A_: function () {
this.rf.qi && ((this.rf.C = !0), this.rf.getIsOpen() && (this.rf.hL = !0), (this.rf.C = !1))
},
z_: function () {
this.rf.qi && (this.rf.hL && ((this.rf.C = !0), this.rf.close(), (this.rf.C = !1)), (this.rf.hL = !1))
},
gg: function () {
this.Qc &&
this.map &&
((this.rf.hL = !1),
this.get('closeWhenClickMap') && (this.map.G('clickstart', this.A_, this), this.map.G('clickend', this.z_, this)),
this.get('retainWhenClose') ? this.map.Ml.appendChild(this.Qc) : (this.Qc.parentNode === this.map.Xa.B && this.map.Xa.B.removeChild(this.Qc), (this.rf.B = null)),
(this.map = null),
(this.rf.qi = !1),
this.Lb.q('close', { type: 'close', target: this.Lb }))
},
$Ba: function () {
if (!this.get('isCustom')) return this.ph.offsetWidth
for (var a = this.gi, b = a.firstChild, c = a.lastChild; b && c && b.style && c.style && b === c; ) (a = b), (b = a.firstChild), (c = a.lastChild)
a = g.f.Zc(a, 'width')
return (a = parseInt(a.replace('px', ''), 10))
},
renderChanged: function () {
this.Em()
},
positionChanged: function () {
this.map && this.Qc && (this.Em(), this.nX())
},
anchorChanged: function () {
this.positionChanged()
},
offsetChanged: function () {
this.positionChanged()
},
contentChanged: function () {
this.tt()
this.zV()
this.Em()
},
sizeChanged: function () {
this.tt()
this.zV()
this.Em()
},
})
g.Aa = {}
g.Aa.Oe = g.da.extend({
ka: [g.va, g.Ze],
A: function () {},
ev: function () {
var a = this.Kd()
a.oh || (a.oh = g.I.xi(a))
return a.oh
},
cb: function () {
return new this.A(this.za)
},
rR: function () {
return this.za
},
setCoords: function (a) {
this.S8(a)
},
S8: function (a) {
this.Lv = this.Kd()
this.xg = null
if (g.Aa.xp && this instanceof g.Aa.xp) {
var b = a.length
this.je = this.je.slice(0, b)
for (var c = 0; c < b; c += 1)
if (this.je[c]) this.je[c].S8(a[c])
else {
var d = new g.Aa.Dc(a[c])
this.je[c] = d
}
} else if (g.Aa.Dc && this instanceof g.Aa.Dc) {
b = a.length
this.Qf = Array(b)
for (var e, c = 0; c < b; c += 1)
if (((d = a[c]), (e = new g.Aa.SL(d)), (this.Qf[c] = e), 0 === c)) {
if (0 === d.length) break
e.uq(d) || d.reverse()
} else 0 !== d.length && e.uq(d) && d.reverse()
} else this.za = a
},
})
g.Aa.Pe = g.extend({}, { Uw: 'point', OL: 'linestring', oW: 'linearring', EF: 'polygon', $L: 'multipoint', ZL: 'multilinestring', AF: 'multipolygon', EAa: 'geometrycollection' })
g.ai = g.da.extend({
ka: [g.va, g.Ze],
A: function (a) {
a = a || {}
a.wB && (this.wB = a.wB)
a.SN && (this.SN = a.SN)
a.JZ && (this.JZ = a.JZ)
this.map = a.map
this.fm = a.tN || g.a.yb(this)
this.name = a.name || ''
this.re = !1
this.set('visible', !0, !0)
this.BU(a.W)
this.ul = a.dL
this.style = a.style
},
Soa: function () {
this.name = this.map = null
this.style = this.ul = this.uo = this.g6 = this.W = this.W.Oa = null
this.yl()
this.ti()
},
qra: function () {
return this.ul
},
Hxa: function (a) {
this.ul = a
this.zIndex = this.ul[0].Hk || this.zIndex
},
ec: function () {
return this.W
},
BU: function (a) {
a && ((this.W = a), this.X('coords', a, !0), this.wB || this.SN) && (a.X('radius', this), a.X('center', this), a.X('resolution', this), a.X('strokeWeight', this))
},
setStyle: function (a) {
this.Hxa(a)
this.ss()
},
coordsChanged: function () {
this.ss()
},
radiusChanged: function () {
this.W.Lv = this.W.Kd()
this.W.xg = null
this.ss()
},
ss: function (a) {
this.set('feature', { target: this, Ioa: a, Lv: this.W.Lv || this.W.Kd(), tua: this.W.Kd() })
this.W.Lv = this.W.Kd()
},
visibleChanged: function () {
this.ss()
},
LEa: function (a) {
for (var b = 0; b < this.ul.length; b += 1) {
var c = this.ul[b]
if (a.gb(c.ty(this))) return c
}
},
Eqa: function () {
var a = this.ec(),
b = []
a.yi() === g.Aa.Pe.EF || a.yi() === g.Aa.Pe.AF
? b.push(new g.style.Be.Dc({ fillColor: '#78cdd1', le: 0.2, strokeColor: '#122e29', pb: 0.5, pc: 1 }))
: a.yi() === g.Aa.Pe.OL || a.yi() === g.Aa.Pe.oW || a.yi() === g.Aa.Pe.ZL
? b.push(new g.style.Be.wp({ color: '#888888', width: 1, zIndex: 10 }))
: (a.yi() !== g.Aa.Pe.Uw && a.yi() !== g.Aa.Pe.$L) ||
b.push(new g.style.Be.ci({ url: g.r.Gb + '/theme/v1.3/markers/0.png', width: 36, height: 36, rotation: 0, yIa: -12, AIa: -36, zIndex: 100 }))
return b
},
})
g.ai.zAa = 'geometry'
g.Aa.Mg = g.Aa.Oe.extend({
A: function (a, b) {
this.za = a
this.zj = b
this.xg = null
},
Kd: function () {
if (!this.xg) {
var a = this.za[0],
b = this.za[1]
if (this.zj) this.xg = [a, b, a, b]
else {
var c = this.get('radius'),
d = this.get('resolution') * this.get('strokeWeight') || 0,
c = c ? c / Math.cos((Math.PI * this.get('center').Q) / 180) : 0
this.xg = [a - c - d, b - c - d, a + c + d, b + c + d]
}
}
return this.xg
},
yi: function () {
return g.Aa.Pe.Uw
},
})
g.M = { canvas: {}, be: {}, Xe: {}, Ke: {} }
g.M.Yb = g.da.extend({
ka: [g.va, g.Ze],
A: function (a, b) {
this.g = a
this.zj = a.S.zj
this.J = b
this.e = b.e
this.X('display', b)
},
$j: function () {
this.Iq && this.Iq()
this.yl()
this.e = this.J = this.g = null
},
mq: function (a, b, c, d) {
var e = this.zoom
c = []
var f = this.g
if (Math.floor(e) !== e) b(c, f)
else {
a = [a.x, a.y]
if (f.lm) {
for (var e = f.ah, h = !0, k = [], l = 0; l < e.length; l += 1) {
var m = e[l].Ug
if (m)
if (m.parentNode && m.parentNode.parentNode && this.J && m.parentNode.parentNode !== this.J.Ml && 'none' !== m.parentNode.style.display) {
var n = g.f.Lo(m),
m = n[0],
n = n[1]
if (m && n) {
var p = Math.max(Math.abs(e[l].get('offset').x), Math.abs(e[l].get('offset').y)) + Math.max(m, n)
f.Af = Math.max(f.Af, p)
f.ig = Math.max(f.ig, p)
e[l].width = m
e[l].height = n
} else (h = !1), k.push(e[l])
} else (h = !1), k.push(e[l])
}
h ? ((f.lm = !1), (f.ah = [])) : (f.ah = k)
}
e = Math.max(f.Af, f.qz || 0) * this.T
h = Math.max(f.ig, f.qz || 0) * this.T
k = 0
f.pz && (k = f.pz / Math.cos((Math.PI * this.e.get('center').Q) / 180))
h = Math.max(h, k || 0)
e = Math.max(e, k || 0)
if ((e = f.xn([a[0] - e, a[1] - h, a[0] + e, a[1] + h]))) {
for (var q in e)
if (e.hasOwnProperty(q) && ((h = e[q]), h.get('visible') && !h.get('noSelect')))
if (((k = h.ec()), k instanceof g.Aa.Mg))
if (this.zj) {
l = this.g.Cm
l instanceof Array && (l = 'number' === typeof h.hb.style && l[h.hb.style] ? l[h.hb.style] : l[0])
var m = l.size.width * this.T,
n = l.size.height * this.T,
p = l.anchor.x * this.T,
r = l.anchor.y * this.T,
k = k.za,
s = l.rotation_,
u = [a[0], a[1]]
if (s) {
var v = (a[0] - k[0]) / this.T,
w = (a[1] - k[1]) / this.T,
t = s,
s = Math.cos(-t),
x = Math.sin(-t),
t = v * s - w * x,
v = v * x + w * s
u[0] = k[0] + t * this.T
u[1] = k[1] + v * this.T
}
m = g.I.QP([
[u[0] - m + p, u[1] - n + r],
[u[0] + p, u[1] + r],
])
g.I.Sd(m, k) && c.push(h)
} else if ('undefined' !== typeof k.get('radius'))
(l = k.za),
(l = new g.H(l[0], l[1])),
(m = new g.H(a[0], a[1])),
(k = k.get('radius')),
'px' === h.get('unit')
? m.Ge(l) / Math.pow(2, 20 - this.zoom) < k && c.push(h)
: m.Ge(l) * Math.cos((h.get('center').Q * Math.PI) / 180) <= (k / this.Cq) * Math.pow(2, 20 - this.zoom) && c.push(h)
else if ('AMap.Text' == h.Tp) (l = h.get('params')), l.visible && h.fa && g.f.HD(d, h.fa, 'amap-markers') && c.push(h)
else {
if (((l = h.get('params')), l.visible && h.fa))
if (l.shape)
for (
k = k.za,
s = l.Rp % 360,
u = [a[0], a[1]],
s &&
((v = (a[0] - k[0]) / this.T),
(w = (a[1] - k[1]) / this.T),
(t = (Math.PI * s) / 180),
(s = Math.cos(-t)),
(x = Math.sin(-t)),
(t = v * s - w * x),
(v = v * x + w * s),
(u[0] = k[0] + t * this.T),
(u[1] = k[1] + v * this.T)),
m = h.width * this.T,
n = h.height * this.T,
p = l.offset.x * this.T,
r = l.offset.y * this.T,
m = g.I.QP([
[u[0] - m - p, u[1] - n - r],
[u[0] - p, u[1] - r],
]),
k[0] instanceof Array || (k = [k]),
n = k.length - 1;
0 <= n;
n -= 1
) {
if (g.I.Sd(m, k[n])) {
l.shape ? this.GD(h, u, k) && c.push(h) : c.push(h)
break
}
}
else g.f.HD(d, h.fa, 'amap-markers') && c.push(h)
}
else k.Sd ? k.Sd(a) && c.push(h) : k.Cy && 1.8 * k.Cy(a) <= h.get('strokeWeight') * this.T && c.push(h)
this.zj
? c.sort(function (a, b) {
return a.fm > b.fm ? -1 : 1
})
: c.sort(function (a, b) {
return a.get('isTop') ? -1 : b.get('isTop') ? 1 : a.get('zIndex') > b.get('zIndex') || (a.get('zIndex') === b.get('zIndex') && a.fm > b.fm) ? -1 : 1
})
b(c, f)
} else b([], f)
}
},
GD: function (a, b, c) {
var d = (b[0] - c[0][0]) / this.T
b = (b[1] - c[0][1]) / this.T
a = a.get('params')
c = a.offset
var d = [d - c.x, b - c.y],
e
a = a.shape
if ('circle' === a.w.type) {
if (((b = a.w.coords[0]), (c = a.w.coords[1]), Math.sqrt((d[0] - b) * (d[0] - b) + (d[1] - c) * (d[1] - c)) <= a.w.coords[2])) return !0
} else {
if ('poly' === a.w.type) return (e = a.w.coords), (e = this.gI(e)), g.wd.Sd(d, e)
if ('rect' === a.w.type)
return (
(e = a.w.coords),
(a = e[0]),
(b = e[1]),
(c = e[2]),
(e = e[3]),
(e = [
[a, b],
[c, b],
[c, e],
[a, e],
]),
g.wd.Sd(d, e)
)
}
return !1
},
gI: function (a) {
for (var b = [], c = 0; c / 2 < a.length / 2; c += 2) b.push([a[c], a[c + 1]])
return b
},
g4: function (a, b, c, d, e, f, h) {
var k = ['position:absolute;']
k.push('top:' + Math.round(c) + 'px;')
k.push('left:' + Math.round(b) + 'px;')
k.push('width:' + Math.round(d) + 'px;')
k.push('height:' + Math.round(e) + 'px;')
1 > f &&
('opacity' in a.style
? (k.push('opacity'), k.push(':'), k.push(f), k.push(';'))
: 8 <= document.documentMode
? (k.push("-ms-filter:'progid:DXImageTransform.Microsoft.Alpha(opacity="), k.push(Math.ceil(100 * f)), k.push(")';"))
: (k.push('filter:alpha(opacity='), k.push(Math.ceil(100 * f)), k.push(');')))
k.push('z-index:' + h + ';')
k.join('')
g.f.T8(a, k.join(''))
},
})
g.M.Rb = g.da.extend({
ka: [g.va, g.Ze],
A: function (a) {
this.e = a
this.type = '2D'
this.Gj = g.a.wb(a.get('zoom'), 1)
this.Ml = a.Ml
this.K = a.Xa.o
this.X('display', a)
this.X('rotateEnable', a)
this.X('style', a)
this.X('zoom', a)
this.X('hightlight', a)
},
jT: function (a) {
this.De = a || g.a.Xk('ff' + this.e.De.slice(1))
},
mq: function (a, b, c, d, e) {
function f(a, d) {
a.length && (k[g.a.indexOf(b, d)] = a)
l -= 1
0 >= l && (c(k), (l = 0))
}
for (var h = b.length, k = [], l = 0, m, n = [], p = 0; p < h; p += 1)
(m = b[p]), (m instanceof g.o.fd || 'AMap.LabelLayer' === m.CLASS_NAME) && m.get('visible') && (n.push(this.zs(m)), (l += 1))
for (h = 0; h < n.length; h += 1) n[h].mq(a, f, d, e)
},
})
g.T2 = {
kD: function (a, b, c) {
for (var d = null, e = null, f = 0, h = 0, k = 0, l = b.length; k < l; k++) {
var m = b[k]
if (m < a) (d = c[m]), (f = m)
else {
e = c[m]
h = m
break
}
}
null === d ? ((d = e), (f = h)) : null === e && ((e = d), (h = f))
return { Gz: f, aK: h, Mq: d, WD: e }
},
tra: function (a) {
var b = this,
c = g.a,
d = [],
e = {}
c.Tb(a.nodes, function (a) {
!1 !== a.value && null !== a.value && ((e[a.zoom] = g.r.tc + '://' + a.value), d.push(a.zoom))
})
return function (a) {
a = c.wb(a, 1)
void 0 === e[a] && (e[a] = b.kD(a, d, e).Mq)
return e[a]
}
},
ara: function (a) {
var b = this,
c = g.a,
d = [],
e = {},
f = a.transitional
c.Tb(a.nodes, function (a) {
null !== a.value && !1 !== a.value && ((e[a.zoom] = a.value), d.push(a.zoom))
})
return function (a) {
a = c.wb(a, 1)
if (void 0 === e[a]) {
var k = b.kD(a, d, e)
e[a] = f && 'none' !== f && k.aK !== k.Gz && k.Mq !== k.WD ? c.F4(k.Mq, k.WD, (a - k.Gz) / (k.aK - k.Gz), f) : k.Mq
}
return e[a]
}
},
mqa: function (a) {
var b = this,
c = g.a,
d = [],
e = {}
c.Tb(a.nodes, function (a) {
null !== a.value && ((e[a.zoom] = a.value), d.push(a.zoom))
})
return function (a) {
a = c.wb(a, 1)
void 0 === e[a] && (e[a] = b.kD(a, d, e).Mq)
return e[a]
}
},
n4: function (a) {
var b = this,
c = g.a,
d = [],
e = {}
c.Tb(a.nodes, function (a) {
null !== a.value && ((e[a.zoom] = a.value), d.push(a.zoom))
})
return function (a) {
a = c.wb(a, 1)
void 0 === e[a] && (e[a] = b.kD(a, d, e).Mq)
return e[a]
}
},
uqa: function (a, b, c) {
var d = this,
e = g.a,
f = [],
h = {},
k = a.transitional
e.Tb(a.nodes, function (a) {
a.value && ((h[a.zoom] = e.gma(a.value, c ? 'rgba' : 'webgl')), f.push(a.zoom))
})
return function (a) {
var b = null
a = e.wb(a, 1)
if (void 0 === h[a]) {
var b = d.kD(a, f, h),
n = b.Mq
if (k && 'none' !== k && b.Gz !== b.aK && b.Mq.join('') !== b.WD.join(''))
for (var n = n.slice(0), p = (a - b.Gz) / (b.aK - b.Gz), q = 0, r = b.WD.length; q < r; q++) n[q] = e.F4(b.Mq[q], b.WD[q], p, k)
h[a] = n
}
b = h[a]
return c && b ? 'rgba(' + b.join(',') + ')' : b || ''
}
},
Bz: function (a, b, c, d) {
var e = 4 < arguments.length && void 0 !== arguments[4] ? arguments[4] : {},
f
for (f in c)
if (c.hasOwnProperty(f)) {
var h = c[f]
void 0 !== b[h]
? (b[h].nodes &&
1 < b[h].nodes.length &&
b[h].nodes.sort(function (a, b) {
return a.zoom - b.zoom
}),
(a[f] = e.Csa ? { Xe: d.call(this, b[h], c[f]), canvas: d.call(this, b[h], c[f], !0) } : d.call(this, b[h], c[f])))
: e.Bsa && (a[f] = !0)
}
},
Rr: function (a, b) {
for (var c = [], d = 0, e = a.length; d < e; d += 2) {
var f = 0,
f = 'str' === b ? g.a.wb(parseInt(a.substr(d, 2), 16) / (0 === d ? 255 : 1), 3) : g.a.wb(parseInt(a.substr(d, 2), 16) / 255, 3)
c.push(f)
}
return c.length ? (c.push(c.shift()), 'str' === b ? 'rgba(' + c.join(',') + ')' : c) : ''
},
B7: function (a, b, c, d) {
var e = {},
f = { visible: 'visible', LU: 'showLabel', vk: 'showIcon' },
h = [
['color', { color: 'color' }, { opacity: 'opacity' }],
['fillColor', { fillColor: 'fillColor' }, { le: 'fillOpacity' }],
['strokeColor', { strokeColor: 'strokeColor' }, { pb: 'strokeOpacity' }],
['textFillColor', { nya: 'textFillColor' }, { oya: 'textFillOpacity' }],
['textStrokeColor', { qya: 'textStrokeColor' }, { rya: 'textStrokeOpacity' }],
['backgroundColor', { backgroundColor: 'backgroundColor' }, { pma: 'backgroundOpacity' }],
],
k = { fontSize: 'fontSize' },
l = { fillWidth: 'fillWidth', strokeWidth: 'strokeWidth' }
if (a.styles) {
a = a.styles
this.Bz(e, a, f, this.mqa, { Bsa: !0 })
this.Bz(e, a, k, this.n4, { Qsa: !0 })
this.Bz(e, a, l, this.n4, { Qsa: !0 })
k = 0
for (l = h.length; k < l; k++) {
var m = h[k]
a[m[0]] ? this.Bz(e, a, m[1], this.uqa, { Csa: !0 }) : this.Bz(e, a, m[2], this.ara)
}
a.texture &&
(this.Bz(e, a, { Ja: 'texture' }, this.tra),
(e.ed = []),
g.a.Tb(a.texture.nodes, function (a) {
a.value && e.ed.push(g.r.tc + '://' + a.value)
}))
} else {
for (var n in f)
if (f.hasOwnProperty(n)) {
var p = f[n]
e[n] = void 0 === a[p] ? !0 : a[p]
}
f = 0
for (n = h.length; f < n; f++) {
var q = h[f],
p = g.a.keys(q[1])[0],
r = q[1][p],
s = g.a.keys(q[2])[0],
q = q[2][s]
void 0 !== a[r] ? (e[p] = { canvas: this.Rr(a[r], 'str'), Xe: this.Rr(a[r]) }) : (e[s] = a[q])
}
for (m in k) k.hasOwnProperty(m) && void 0 !== a[m] && (e[m] = a[m])
for (var u in l) l.hasOwnProperty(u) && void 0 !== a[u] && (e[u] = a[u])
a.texture && (e.Ja = g.r.tc + '://' + a.texture)
}
b[c] || (b[c] = {})
b[c][d] = e
},
AT: function (a, b) {
if (a)
for (var c = Object.keys(a), d = 0; d < c.length; d++)
for (var e = c[d], f = Object.keys(a[e]), h = 0; h < f.length; h++) {
var k = f[h]
a[e][k] && this.B7(a[e][k], b, e, k)
}
},
oGa: function (a, b, c, d) {
if (a)
for (var e in a)
if (a.hasOwnProperty(e) && g.a.jk(a[e], 'object')) {
var f = a[e]
console.log(e + '--')
var h = e
c && (h = c + ':' + e)
if (f.detailedType) this.B7(f, b, h), this.AT(f.detailedType, b, h, f)
else if (f.subType) this.AT(f.subType, b, h)
else if (void 0 !== f.code) for (var k in d) d.hasOwnProperty(k) && !g.a.ka(['isDetailed', 'detailedType', 'styles'], k) && void 0 === f[k] && void 0 !== d[k] && (f[k] = d[k])
}
},
wV: function (a) {
if (!this.cm || this.cm.zoom != a) {
var b = g.a.Ph,
c = { zoom: a },
d
for (d in this.ae)
if (this.ae.hasOwnProperty(d)) {
var e = this.ae[d]
c[d] = {}
for (var f in e)
if (e.hasOwnProperty(f)) {
var h = e[f]
if (h) {
c[d][f] = {}
for (var k in h)
h.hasOwnProperty(k) &&
void 0 !== h[k] &&
((c[d][f][k] = {}),
h[k].Xe
? (b(h[k].Xe) ? (c[d][f][k].Xe = h[k].Xe(a)) : (c[d][f][k].Xe = h[k].Xe),
b(h[k].canvas) ? (c[d][f][k].canvas = h[k].canvas(a)) : (c[d][f][k].canvas = h[k].canvas))
: b(h[k])
? (c[d][f][k] = h[k](a))
: (c[d][f][k] = h[k]))
} else c[d][f] = h
}
}
this.cm = c
}
},
styleChanged: function () {
if (this.e.D.Bi) {
var a = this.get('style')
this.el.QA || ((this.el = g.a.bind(this.el, this)), (this.kq = g.a.bind(this.kq, this)), (this.el.QA = !0))
var b = g.a
if (a) {
var c = {}
this.AT(a, c)
this.ae = c
} else this.ae = null
var d, e, f, h, k
this.ae &&
((d = this.ae[30001] && this.ae[30001][1]),
(e = this.ae[30001] && this.ae[30001][2]),
(f = this.ae['00001'] && this.ae['00001'][1]),
(h = this.ae['00001'] && this.ae['00001'][2]),
(k = this.ae[50001] && this.ae[50001][1]))
var l,
m,
n,
p,
q,
r,
a = this.Gj
if (d) {
c = 'rgba(0, 0, 0, 0)'
if (d.visible) {
var s = this.kq(b.B8(this.e.De.substr(1)), d.opacity, d.color, !0, a)
s && ((c = this.Bt(s, d.visible, 'rgba(0, 0, 0, 0)')), (s = this.el(b.op(this.e.De.substr(1)), d.opacity, d.color, !0, a)), (l = this.Bt(s, d.visible)))
}
this.e.Nu = c
} else this.e.Nu = ''
e && e.visible && ((m = this.el(b.op(this.e.KH.substr(1)), e.opacity, e.color, !0, a)), (m = this.Bt(m, e.visible)))
f && f.visible && ((n = this.el(b.op(this.e.ou.substr(1)), void 0, f.color, !0, a)), (n = this.Bt(n, f.visible)), (p = this.Bt(n, f.visible)))
h && h.visible && ((d = h.color), !d && f && f.color && (d = f.color), (p = this.el(b.op(this.e.ou.substr(1)), void 0, d, !0, a)), (p = this.Bt(p, h.visible)))
k &&
(k.visible
? ((q = this.el(b.Xk(this.e.VF[0]), void 0, k.fillColor, !0, a)),
(q = this.Bt(q, k.visible)),
(r = this.el(b.Xk(this.e.VF[1]), void 0, k.strokeColor, !0, a)),
(r = this.Bt(r, k.visible)))
: ((q = [1, 1, 1, 0]), (r = [1, 1, 1, 0])))
this.jT && this.jT(l, m, n, [q, r], p)
this.r$ ? this.r$(this.ae) : this.set('display')
delete this.cm
this.wV(a)
}
},
Bt: function (a, b) {
var c = 2 < arguments.length && void 0 !== arguments[2] ? arguments[2] : [0, 0, 0, 0],
d = g.a.Ph
if (d(a) && d(b)) {
var e = a
a = function (a) {
return b(a) ? e(a) : c
}
}
return a
},
kq: function (a, b, c, d, e) {
if (a) {
if (void 0 !== b) return (a = a.split(',')), (c = b), 'function' === typeof b && (c = b(e)), (a[3] = g.a.wb(c, 3) + ')'), a.join(',')
if (c) return 'function' === typeof c.canvas ? (d ? c.canvas : c.canvas(e)) : c.canvas
}
return a
},
el: function (a, b, c, d, e) {
if (a) {
if (b) return (c = b), 'function' === typeof b && (c = b(e)), [a[0], a[1], a[2], g.a.wb(c, 3)]
if (c) return 'function' === typeof c.Xe ? (d ? c.Xe : c.Xe(e)) : c.Xe
}
return a
},
qD: function (a, b) {
var c = this.ae
if (c && a) {
var d = a.split(':'),
e = d[0],
d = d[1]
if (c[e]) {
this.cm && b && b == this.cm.zoom && (c = this.cm)
if (c[e][d]) return c[e][d]
if (c[e].all) return c[e].all
}
}
},
JEa: function (a, b, c) {
var d = this.ae
if (d) {
this.cm && c && c == this.cm.zoom && (d = this.cm)
if (b || 0 === b) if ((b = d[a + ':' + b])) return b
return d[a]
}
},
im: function (a, b, c, d, e) {
var f = null,
h = a
d = d ? this.kq : this.el
e = e || this.Gj
if ((f = this.qD(b, e)))
if (('function' === typeof f.visible && !f.visible(e)) || !1 === f.visible) h = ''
else {
var h = 1,
k = ''
if (c)
if (f.fillColor || f.le) (h = f.le), (k = f.fillColor)
else {
if (f.color || f.opacity) (h = f.opacity), (k = f.color)
}
else if (f.strokeColor || f.pb) (h = f.pb), (k = f.strokeColor)
else if (f.color || f.opacity) (h = f.opacity), (k = f.color)
h = d(a, h, k, !1, e)
}
this.Cs === b && (h = this.gv(h || a))
return h
},
Zc: function (a, b, c) {
var d = this.ae
if (d) {
this.cm && c && c == this.cm.zoom && (d = this.cm)
if (b || 0 === b) if ((b = d[a + ':' + b])) return b
return d[a]
}
},
kv: function (a, b) {
var c = null
return (c = this.qD(a, b || this.Gj))
},
xs: function (a, b, c, d) {
c = c ? this.kq : this.el
var e = null,
f = a
d = d || this.Gj
;(e = this.qD(b, d)) && (f = ('function' === typeof e.visible && !e.visible(d)) || !1 === e.visible ? '' : c(a, e.opacity, e.color, !1, d))
this.Cs === b && (f = this.gv(f || a))
return f
},
My: function (a, b, c, d, e, f) {
var h = a,
k = b,
l = c,
m = !0,
n = !0,
p,
q = 1
f = f || this.Gj
var r = this.qD(d, f)
r &&
(('function' === typeof r.visible && !r.visible(f)) || !1 === r.visible || ('function' === typeof r.LU && !r.LU(f)) || !1 === r.LU
? ((n = m = !1), (h = k = l = ''))
: ((h = this.kq(a, r.oya, r.nya, !1, f)),
(k = this.kq(b, r.rya, r.qya, !1, f)),
(l = this.kq(c, r.pma, r.backgroundColor, !1, f)),
(m = 'function' === typeof r.vk ? r.vk(f) : r.vk),
r.fontSize && ((p = 'function' === typeof r.fontSize ? r.fontSize(f) : r.fontSize), (p = 12 <= p ? p : 12), (p = 22 >= p ? p : 22)),
p && g.l.Jc && (p *= 2)))
f = !1
this.Cs === d ? (f = !0) : void 0 !== e && this.Cs === d + '-' + e && (f = !0)
f && ((h = this.gv(h || a)), (k = this.gv(k || b)), (l = this.gv(l || c)), (q = 1 - 1.6 * this.yD), (n = m = !0))
return [h, k, l, m, n, q, p]
},
Ly: function (a, b, c, d, e) {
var f = null,
h = a,
k = b
d = d ? this.kq : this.el
var l = e || this.Gj
if ((f = this.qD(c, e)))
('function' === typeof f.visible && !f.visible(l)) || !1 === f.visible ? (h = k = '') : ((h = d(a, f.le, f.fillColor, !1, l)), (k = d(b, f.pb, f.strokeColor, !1, l)))
this.Cs === c && ((b = k || b), (h = this.gv(h || a)), (k = this.gv(b)))
return [h, k]
},
}
g.M.Rb.Hb(g.T2)
g.M.canvas.Rb = g.M.Rb.extend({
A: function (a) {
arguments.callee.ma.apply(this, arguments)
},
zs: function (a) {
if (!a.M) {
var b = a.$l(this)
b && !b.koa && (a.M = b)
}
return a.M
},
oc: function (a) {
var b = this.e.N3()
b && this.VT !== b && this.e.D.Bi && (this.e.R8(b), (this.VT = b))
this.e.Xa.Xr.style.cssText = ''
var c = a.la,
b = a.P,
d = this.e.D.get('features'),
e = a.size.width,
f = a.size.height
this.Gj = 'vw' === this.e.D.Ce.baseRender ? g.a.wb(b.zoom, 1) : a.P.ne
this.T = b.T
if (!this.Na || 1e4 < Math.abs(b.lb.x - this.Na.x) / this.T || 1e4 < Math.abs(b.lb.y - this.Na.y) / this.T) this.Na = b.lb
this.Na.x - b.lb.x < -g.a.Fa / 2 ? (this.Na = new g.H(this.Na.x + g.a.Fa, this.Na.y)) : this.Na.x - b.lb.x > g.a.Fa / 2 && (this.Na = new g.H(this.Na.x - g.a.Fa, this.Na.y))
for (var h = 0; h < c.length; h += 1) {
var k = c[h],
l = this.zs(k),
m = c[h].me()
if (l && l.g)
if (!m.visible || k.XD || m.Ya[0] > b.zoom || m.Ya[1] < b.zoom || (k.ga && 0 === k.ga.length)) {
if ((l = l.uj()))
if (l.length) for (m = 0; m < l.length; m += 1) l[m].parentNode === this.K && this.K.removeChild(l[m])
else l.parentNode === this.K && this.K.removeChild(l)
} else if (this.GJ(k, d)) {
l.oc(a, m)
l.kk && (a.te = l.te)
var k = l.uj(),
n,
p,
q = l.transform
if (!q || !k || (l.Ci && !this.e.D.Ra)) c[h].yj && k.parentNode !== this.K && (this.K.appendChild(k), (c[h].Nb = k))
else {
c[h].Nb = k
k.length || ((k = [k]), (q = [q]))
for (var r = 0; r < k.length; r += 1)
if (((n = k[r]), (p = q[r]), !p.Zy)) {
var s = p.translate.x,
u = p.translate.y
c[h].FJ || ((s = g.a.wb(s, 2)), (u = g.a.wb(u, 2)))
var v = p.scale
1e-5 > Math.abs(s) && (s = 0)
1e-5 > Math.abs(u) && (u = 0)
var w = []
w.push('position:absolute')
w.push('z-index:' + (p.Hk || c[h].get('zIndex')))
c[h].WC
? (w.push('top:' + Math.floor(f / 2 + u) + 'px'), w.push('left:' + Math.floor(e / 2 + s) + 'px'))
: n.L5
? (w.push('height:' + n.height * v + 'px'),
w.push('width:' + n.width * v + 'px'),
w.push('top:' + (f / 2 - u * v) + 'px'),
w.push('left:' + (e / 2 - s * v) + 'px'))
: (1 !== v && (w.push(g.f.ot[g.f.pg] + '-origin:' + s + 'px ' + u + 'px'), w.push(g.f.ot[g.f.pg] + ':scale3d(' + v + ',' + v + ',1)')),
w.push('top:' + Math.floor(f / 2 - u) + 'px'),
w.push('left:' + Math.floor(e / 2 - s) + 'px'),
w.push('display:block'),
l.jl && (w.push('height:' + n.height + 'px'), w.push('width:' + n.width + 'px')))
l.FJ || 1 === m.opacity || 'number' !== typeof m.opacity || w.push(g.f.p4(n, m.opacity))
n.parentNode !== this.K && this.K.appendChild(n)
g.f.T8(n, w.join(';'))
}
}
}
}
a = this.e.Xa.Xr
k = this.e.Xa.o
c = this.e.Xa.B
g.f.pg && 'number' === typeof b.rotation && 0 !== b.rotation
? ((a.style[g.f.pg + 'Origin'] = e / 2 + 'px ' + f / 2 + 'px'),
(a.style[g.f.pg] = 'rotate(' + b.rotation + 'deg)'),
(a.style.overflow = 'visible'),
(k.style.overflow = 'visible'),
(c.style.overflow = 'visible'))
: ((a.style.cssText = ''), (k.style.cssText = '-webkit-transform: translateZ(0);'), (c.style.cssText = ''))
this.e.ht = !1
},
GJ: function (a, b) {
if ('all' === b || void 0 === a.Wl) return !0
for (var c = 0, d = a.Wl.length; c < d; c++) if (g.a.ka(b, 'region' === a.Wl[c] ? 'bg' : a.Wl[c])) return !0
return !1
},
zoomChanged: function () {
var a = this.e.get('zoom')
this.Gj = 'vw' === this.e.D.Ce.baseRender ? g.a.wb(a, 1) : Math.round(a)
this.ae && this.wV(this.Gj)
},
})
g.M.Ti = g.M.Yb.extend({
A: function (a, b) {
arguments.callee.ma.apply(this, arguments)
this.X('reload', a, !0)
var c = a.S.get('cacheSize')
if (this.e && this.e.D) {
var d = this.e.D.get('tileCacheSize')
d && 0 < d && (c = d)
}
this.oa = new g.og(c)
var e = this
this.oa.iK.K1(function (a) {
e.bB(a)
})
this.oa.xC = function (a) {
return a.ob ? ((a.ob.Sg -= 1), 0 == a.ob.Sg && (a.zv = !1), delete a.ob, !0) : a.zv ? (a.Sg ? !1 : !0) : !0
}
this.gd = 1
this.$n = 50
this.pX = !0
this.g.oa = this.oa
this.pm = new g.wF(6, null, a.UQ)
new g.wF(5, null, a.UQ)
},
Iq: function () {
this.clear()
this.Ig = null
this.oa.clear()
this.oa.xC = null
this.oa = this.oa.iK.RF = null
this.Kc && (this.Kc.G('tiles', this.bE, this), this.Kc.G('ack', this.aE, this), this.Kc.G('disable', this.ZD, this), (this.Kc = null))
this.e.G('zoomend', this.ck, this)
this.e.G('moveend', this.ck, this)
},
reloadChanged: function () {
this.g && (this.g.Ra = !1)
this.oa.clear()
this.reload = !0
this.set('display')
},
xh: function (a, b, c) {
function d(b) {
a.loaded = !0
e.g && ((a.status = 'loaded'), (a.Ba = !0), (a.jd = b), e.set('display', 0), 'function' === typeof c && c())
}
var e = this
a.status = 'loading'
this.g.Bo &&
this.g.Bo.call(this, a, d, function () {
a.loaded = !0
e.g && ((a.status = 'loaded'), (a.Ba = !0), e.set('display', 0), 'function' === typeof c && c())
})
},
ZHa: function (a, b, c, d) {
var e = []
c = c || 18
b = Math.pow(2, b - c)
for (var f = 0; f < a.length; f += 1) {
var h = a[f].ta,
k = Math.floor(h.x / b),
h = Math.floor(h.y / b)
if (d) {
if (((k = c + '/' + k + '/' + h), (h = this.oa.get(k)) && 'loaded' == h.status)) continue
} else (h = new g.pr(c, k, h)), (k = h + ''), (h = new g.rb(h))
!e[k] && h && (e.push(h), (e[k] = 1))
}
return e
},
MI: function (a, b) {
var c = this,
d = this
if (this.g.uH) {
var e,
f,
h,
k,
l,
m,
n,
p = (function () {
var p = 0
for (e = a.length - 1; 0 <= e; e -= 1) (f = a[e]), (p += f.length)
if (0 == p) return b.call(c, a), { tL: void 0 }
d.eV = a
for (e = a.length - 1; 0 <= e; e -= 1)
for (f = a[e], h = [], k = [], f.WT = h, f.Kv = k, l = f.length - 1; 0 <= l; l -= 1)
(m = f[l]),
(n = m.ta),
c.g.e.Re.NE(
n.x,
n.y,
n.z,
(function () {
var c = l
return function (e) {
e ? h.push(f[c]) : k.push(f[c])
p -= 1
if (0 == p) {
for (e = a.length - 1; 0 <= e; e -= 1) {
var l = a[e]
a[e] = l.WT
if (l.Kv)
for (var m = l.Kv.length - 1; 0 <= m; m -= 1) {
var n = l.Kv[m]
n.status = 'loaded'
n.loaded = !0
n.Ba = !0
}
}
b.call(d, a)
}
}
})()
)
})()
if ('object' === typeof p) return p.tL
} else b.call(this, a)
},
qw: function (a, b, c) {
if ((a = this.oa.get(a + '/' + b + '/' + c))) {
if (a.zv) return a
if (a.ob) return a.ob
a.zv = !0
a.Sg = 0
return a
}
},
jJ: function (a) {
var b = a.ta
a = b.x
var c = b.y,
b = b.z,
d = Math.pow(2, b),
e = (a + d) % d,
f = e + d,
d = e - d,
h = null
e !== a && (h = this.qw(b, e, c))
h || d === a || (h = this.qw(b, d, c))
h || f === a || (h = this.qw(b, f, c))
return h
},
Fn: function (a) {
var b = 1 < arguments.length && void 0 !== arguments[1] ? arguments[1] : !1
if ((!this.kk || (!this.gf && !this.ge)) && a.length)
if (this.HK) this.ZJ = !0
else {
for (var c = a.length - 1; 0 <= c; c -= 1) {
var d = a[c]
if (d.length)
for (var e = Math.pow(2, 20 - d[0].ta.z), c = d.length - 1; 0 <= c; c--) {
var f = d[c],
h = f.ta
h.T = e
f.ra = {}
f.al = 0
if (10 > h.z) {
var k = this.jJ(f)
k && ((f.ob = k), (f.status = 'loaded'), (f.Ba = !0), (k.Sg += 1), (f.al = (h.x - k.ta.x) / Math.pow(2, h.z)), d.splice(c, 1), this.set('display', 0))
}
this.oa.set(f.key, f)
!b && f.Ie ? (f.Ie = !1) : (f.status = 'loading')
}
}
var l = this
this.MI(a, function (a) {
for (var c = a.length - 1; 0 <= c; c -= 1) {
var d = a[c]
if (d.length)
if (l.Di) {
if (l.e.hA) break
var e = d[0].ta.z
l.ew(d, l.jl ? 1 : 0)
for (var f = 0, h = 0; f < d.length; ) l.US(d.slice(10 * h, 10 * h + 10), e, b), (f += 10), (h += 1)
} else
for (
e = (function () {
var a = d.length
return function () {
--a
}
})(),
l.ew(d),
l.zq += d.length,
f = d.length - 1;
0 <= f;
f -= 1
)
l.xh(d[f], l.pm, e)
}
})
}
},
Sy: function (a, b) {
var c = this.oa.get(a + '')
c || b || (c = new g.rb(a.cb()))
return c
},
ZK: function (a, b) {
return this.Dd * Math.pow(2, a - b)
},
bB: function (a) {
a.Is && this.pm.q2(a.Is)
a.MK = !1
a.loaded = !1
this.Kf && this.Kf(a)
},
qy: function (a, b) {
var c = (2 < arguments.length && void 0 !== arguments[2] ? arguments[2] : 0) || this.fb,
d = a.Vd.x,
e = a.Vd.y,
f = a.hc.x,
h = a.hc.y
new g.H(0, 0)
var k = this.ZK(20, c)
b && ((f = Math.max(b[0], f) - b[0]), (h = Math.max(b[1], h) - b[1]), (d = Math.min(b[2], d) - b[0]), (e = Math.min(b[3], e) - b[1]), new g.H(Math.floor(b[0] / k), Math.floor(b[1] / k)))
d /= k
e /= k
d = { Hc: 0 === d % 1 ? d - 1 : Math.floor(d), sc: 0 === e % 1 ? e - 1 : Math.floor(e), Ic: Math.floor(f / k), fc: Math.floor(h / k) }
d.rE = d.Hc - d.Ic + 1
d.zK = d.sc - d.fc + 1
d.z = c
d.T = this.T * Math.pow(2, this.zoom - c)
d.Uy = Math.ceil(d.rE / 2)
return d
},
uv: function (a, b, c) {
return b < a.Ic || b > a.Hc || c < a.fc || c > a.sc ? !1 : !0
},
ew: function (a, b) {
if (a.length) {
var c = this.lb.ld(this.Dd << (20 - a[0].ta.z)),
d = Math.floor(c.x),
e = Math.floor(c.y)
a.sort(function (a, c) {
var k = a.ta,
l = c.ta,
m = k.x - d,
k = k.y - e,
n = l.x - d,
l = l.y - e
return (b ? -1 : 1) * (n * n + l * l - (m * m + k * k))
})
}
},
clear: function () {
this.pm.clear()
},
gp: function (a, b) {
this.vg = !1
this.clear()
this.Zi = b.Zi
this.Yi = b.Yi
this.Dd = b.Dd
var c = a.P
this.Pf = b.Pf || a.P.Pf
this.oh = c.oh
this.size = a.size
this.rotation = c.rotation
this.lb = c.lb
this.Ha = a.P.Ha
this.Gf = a.Gf
this.ge = a.ge
this.gf = a.gf
this.zoom = c.zoom
this.ne = c.ne
this.fb = 'AMap.MapBox' == this.g.S.CLASS_NAME ? Math.max(2, this.ne - g.r.Vn) : !1 === this.Di && !this.g.nS && this.g.ja ? this.ne + 1 : this.ne
this.ff && this.fb > this.ff && (this.fb = this.ff)
this.Yo && this.fb < this.Yo && (this.fb = this.Yo)
this.T = c.T
this.Gg = c.Gg
c = a.P.Ha
this.pk = this.qy(c, b.I)
this.Gw = c.N$ ? this.qy(c.N$, b.I) : null
var c = this.pk,
d = this.Ha.F9,
e = null,
e = d < this.zoom && this.Gw ? this.Gw : c,
f = [],
h = [],
k,
l = [],
m = [],
n = [],
p = new g.pr(0, 0, 0),
q,
r = this.zoom,
m = this.Nk || '',
s = {},
u = {},
v,
w,
t,
x,
y,
E
this.ee = (1e6 * Math.random()) << 0
for (q = m.length - 1; 0 <= q; q -= 1)
if (((k = m[q]), !(k.hx < b.opacity)))
if (((p.z = k.ta.z), (p.x = k.ta.x), (p.y = k.ta.y), p.z === this.fb)) s[p + ''] |= 16
else if (p.z < this.fb) {
if (((s[p + ''] |= 64), this.Zi))
for (
x = this.fb - p.z,
v = Math.max(c.Ic, p.x << x),
r = Math.min(c.Hc, ((p.x + 1) << x) - 1),
w = Math.max(c.fc, p.y << x),
t = Math.min(c.sc, ((p.y + 1) << x) - 1),
p.z = this.fb,
x = v;
x <= r;
x += 1
)
for (p.x = x, y = w; y <= t; y += 1) (p.y = y), (E = p + ''), (s[E] |= 32), (u[E] = u[E] ? Math.max(k.ta.z, u[E]) : k.ta.z)
} else if (this.Yi)
for (v = 1; p.z >= this.fb; ) {
s[p + ''] |= v
v = p.x >> 1
w = p.y >> 1
r = v << 1
t = w << 1
k = 0
for (x = 2; 0 < x; x -= 1) for (p.x = r + x, y = 2; 0 < y; y -= 1) (p.y = t + y), s[p + ''] & 5 && (k += 1)
p.z -= 1
p.x = v
p.y = w
v = 4 === k ? 4 : 2
}
m = []
p.z = this.fb
q = !0
this.oa.C2()
for (x = e.Ic; x <= e.Hc; x += 1)
for (p.x = x, y = e.fc; y <= e.sc; y += 1)
(p.y = y),
(k = this.Sy(p)),
this.au(k),
(v = !1),
k.Ba
? ((k.ee = this.ee), this.uv(c, x, y) && (m.push(k), this.Il && (k.gd !== this.gd || 1 > k.hx) && (v = !0)))
: ((q = !1), this.uv(c, x, y) && (v = !0), (k.status && !k.Ie) || this.ne !== d || (this.Gw && !this.uv(this.Gw, x, y)) || l.push(k)),
v && n.push(k)
q ? this.fD || (this.fD = !0) : (this.g.Ra = !1)
this.vg = q
m.length && this.fD && (f.push(m), (m.vg = q))
h.push(l)
e = !1
if (this.Yi) {
n = n.slice(0)
l = []
for (q = n.length - 1; 0 <= q; q -= 1) (k = n[q]), s[k.key] & 4 || l.push(k)
k = b.Ya[1]
for (r = this.fb + 1; n.length && r <= k; r += 1) {
m = []
d = n
n = []
p.z = r
for (q = d.length - 1; 0 <= q; q -= 1)
if (((x = d[q]), (v = s[x.key]), v & 7))
for (v = x.ta.x << 1, w = x.ta.y << 1, x = 1; 0 <= x; x -= 1)
for (p.x = v + x, y = 1; 0 <= y; y -= 1)
(p.y = w + y), (E = p + ''), (t = this.oa.pK(E)), s[E] & 5 && t && t.Ba ? ((t.IB = !0), (t.ee = this.ee), m.push(t), this.au(t)) : n.push(new g.rb(p.cb()))
m.length && ((e = !0), f.push(m))
}
n = l
}
if (!e && this.Zi)
for (x = !f.length || this.jl ? b.Ya[0] : Math.max(b.Ya[0], this.fb - 2), Math.max(x, this.fb - this.cha), r = this.fb - 1; n.length && r >= x; r -= 1) {
m = []
y = {}
d = n
n = []
for (q = d.length - 1; 0 <= q; q -= 1)
(k = d[q]),
(p.z = r),
(p.x = k.ta.x >> 1),
(p.y = k.ta.y >> 1),
(k = this.Sy(p)),
y[k.key] ||
((y[k.key] = 1),
(v = !1),
k.Ba && (!this.cja || s[k.key] & 64)
? ((p.x = Math.min(c.Hc, Math.max(c.Ic, p.x << (this.fb - r)))),
(p.y = Math.min(c.sc, Math.max(c.fc, p.y << (this.fb - r)))),
(p.z = this.fb),
(E = p + ''),
'number' === typeof u[E] && k.ta.z > u[E] ? (v = !0) : (k.IB = !0),
(k.ee = this.ee),
m.push(k),
this.au(k))
: (v = !0),
v && n.push(k))
m.length && f.push(m)
}
this.eV = h
this.Fv = this.zq = 0
this.Fn(h)
this.Ig = f
this.g.set('tiles', f)
},
au: function (a) {
this.oa.t6(a.CFa)
},
HR: function (a, b) {
for (var c = [], d = this.e.D.getCoordsBoundByZoom(a), d = this.qy(d, b, a), e = d.Ic; e < d.Hc; e++)
for (var f = d.fc; f < d.sc; f++) {
var h = [a, e, f].join('/')
this.oa.Ld(h) || c.push(new g.rb(new g.pr(a, e, f), !0))
}
return c
},
MX: function () {
var a = this.e.D
return a.W7 && a.get('preloadMode') && 200 <= this.oa.Ip && this.g.S.vq() && 'stable' != this.Gf && this.Yx && this.Yx() && this.zoom !== this.fb
},
mE: function (a, b) {
var c = b.I,
d = b.Ya
if (this.MX() && this.fb >= d[0] + 1) {
var d = [],
e = null,
e = 'zoomOut' === this.Gf ? Math.floor(this.zoom) : Math.ceil(this.zoom),
e = this.HR(e, c)
e.length && d.push(e)
d.length && this.Fn(d, !0)
}
},
})
g.M.be.Ti = g.M.Ti.extend({
A: function (a, b) {
arguments.callee.ma.apply(this, arguments)
this.$n = 120
this.Di = !1
this.Yg()
this.ff = a.ff
this.Yo = a.Yo
},
uj: function () {
return this.Nb
},
Yg: function () {
this.Nb = document.createElement('div')
this.Nb.className = this.g.S.get('className') || 'amap-layer'
this.bv = document.createDocumentFragment()
},
Wv: function (a) {
var b = Math.pow(2, a.P.zoom - this.Cf),
c = a.P.lb.ab(this.Js).ld(this.wm)
this.transform = { translate: this.transform.translate.add(c), scale: b, rotate: 0 }
this.lb = a.P.lb
},
OP: function (a, b) {
this.Na = this.J.Na
this.Cf = this.ne
this.wm = this.Gg
this.ye = !1
this.currentTime = +new Date()
this.BV = b.BV
var c = this.pk
this.Il = this.$n && b.ZH
var d = this.Ig,
e = 256 * c.rE,
c = 256 * c.zK
this.ge = this.zoom << 0 !== this.zoom
var f = this.lb.ab(this.Na)
f.x < -g.a.Fa / 2 ? (f.x += g.a.Fa) : f.x > g.a.Fa / 2 && (f.x -= g.a.Fa)
this.aQ = f.ld(this.Gg)
return [d, e, c, b]
},
Lz: function (a, b) {
var c = this.OP(a, b)
this.at.apply(this, c)
this.Ne(a)
this.vg && !this.g.Ra && ((c = this.g), (c.Ra = !0), c.Jd ? c.qa('renderComplete') : ((c.Jd = !0), c.qa('complete')))
},
oc: function (a, b) {
this.sp = a.sp
this.gf = a.gf
this.gp(a, b)
this.Js && g.l.Xl && (a.ge || a.gf) ? this.Wv(a, b) : this.Lz(a, b)
this.Js = this.lb
this.ye && this.set('display', 0)
},
Vv: function () {
for (var a = this.Nb.childNodes, b = a.length - 1; 0 <= b; b -= 1) a[b] && a[b].gd !== this.gd && this.Nb.removeChild(a[b])
},
qE: function (a, b) {
return a.fc === b.fc && a.Ic === b.Ic && a.sc === b.sc && a.Hc === b.Hc
},
at: function (a) {
var b = this.gd
this.gd += 1
var c = !1,
d,
e,
f
e = !1
var h = [],
k,
l
for (d = a.length - 1; 0 <= d; d -= 1)
if (((f = a[d]), f.length)) {
e = f[0].ta.z
var m,
n,
p = this.ZK(this.ne, e),
q = !1
this.kk && f.vg && f[0].ta.z == this.fb && ((k = []), (l = []), (q = !0))
for (var r = f.length - 1; 0 <= r; r -= 1) {
n = f[r]
q && n.ga && (k.push.apply(k, n.ga), l.push(n.ta + ''))
this.mU(n)
if (this.Na === n.Na && n.Cf === this.Cf) {
var s = n.jd
if (s && s.parentNode === this.Nb && 1 === n.hx) {
h.push(n)
s.gd = this.gd
n.gd = this.gd
continue
}
}
n.Na = this.Na
n.Cf = this.Cf
m = n.ta
var c = !0,
u = new g.H((m.x << (20 - e)) * this.Dd, (m.y << (20 - e)) * this.Dd).ab(this.Na),
u = u.ld(this.Gg)
u.x = g.a.wb(u.x, 1)
u.y = g.a.wb(u.y, 1)
var v = 1
if (!n.lY || (this.pX && n.gd !== b)) n.lY = this.currentTime
this.Il && !n.IB
? ((v = Math.max(0, Math.abs(m.z - this.zoom) - 1)), (v = Math.min(1, (this.currentTime - n.lY) / ((1 / Math.pow(1.32, v)) * this.$n))), 1 !== v && (this.ye = !0))
: (n.IB = !1)
n.gd = this.gd
n.hx = v
n.Ba
? ((s = n.jd),
!s &&
n.ob &&
n.ob.jd &&
('CANVAS' === n.ob.jd.tagName
? ((s = document.createElement('canvas')),
(s.width = n.ob.jd.width),
(s.height = n.ob.jd.height),
s.getContext('2d').drawImage(n.ob.jd, 0, 0, s.width, s.height),
(n.jd = s),
(n.ob.Sg -= 1),
(n.ob = null),
(n.al = 0))
: 'IMG' === n.ob.jd.tagName
? ((s = document.createElement('img')), (s.src = n.ob.jd.src), (n.jd = s), (n.ob.Sg -= 1), (n.ob = null), (n.al = 0))
: (s = n.ob.jd)),
0 !== v &&
s &&
(this.g4(s, u.x, u.y, p, p, v, m.z),
s.parentNode !== this.Nb && (g.l.zi && 'overlayer' === this.g.get('type') && (s.style.display = 'none'), this.bv.appendChild(s)),
(s.gd = this.gd),
(n.ne = this.ne),
h.push(n)))
: (n.ee = null)
}
e = !0
}
this.kk && k && ((r = l.sort().join(';')), (k.HS = r), r !== this.te.HS && (this.te = k))
1 < a.length && (this.ye = !0)
this.Nk = h
this.Vv()
this.Nb.appendChild(this.bv)
return c || !e
},
mU: function () {},
Ne: function () {
this.transform = { translate: this.aQ, scale: Math.pow(2, this.zoom - this.ne), rotate: 0 }
},
})
window.CanvasRenderingContext2D &&
((window.CanvasRenderingContext2D.prototype.AQ = function (a, b, c, d, e) {
'undefined' === typeof e && (e = [10, 10])
this.moveTo(a, b)
var f = c - a,
h = d - b,
k = Math.floor(Math.sqrt(f * f + h * h))
d = f / k
c = h / k
e.Eg = 0
for (var l = [], f = this.sI, m = 0, n = 0, p = !1, q = (h = 0); q < e.length; q += 1)
(e.Eg += e[q]), (l[q] = { aD: e[q] * d, bD: e[q] * c, ez: (h += e[q]) }), (f -= e[q]), 0 > f && !p && ((m = q), (n = -f), (p = !0))
for (p = 0; n + p <= k; )
n < e[m] ? ((f = n * d), (h = n * c)) : ((f = l[m].aD), (h = l[m].bD)),
(a += f),
(b += h),
this.HE ? this.moveTo(a, b) : this.lineTo(a, b),
(p += n),
(this.HE = !this.HE),
(n = e[(m + 1) % e.length]),
(m = (m + 1) % e.length)
k -= p
a += k * d
b += k * c
this.HE ? this.moveTo(a, b) : this.lineTo(a, b)
this.sI = (this.sI + p + k) % e.Eg
}),
(window.CanvasRenderingContext2D.prototype.yoa = function (a, b, c, d) {
'undefined' === typeof d && (d = [10, 10])
var e = 2 * Math.PI * c,
f = 0 >= d ? e : Math.round(e / (d[0] + d[1])),
h = ((d[0] + d[1]) / e) * 2 * Math.PI
d = (d[0] / e) * 2 * Math.PI
for (e = 0; e < f; e += 1) this.beginPath(), this.arc(a, b, c, e * h, e * h + d), this.stroke()
}))
g.M.Ke.Gl = g.M.Ti.extend({
A: function (a, b) {
arguments.callee.ma.apply(this, arguments)
this.Yg()
},
LR: function () {
return this.Za.WU
},
uj: function () {
return this.Nb
},
Yg: function () {
this.Nb = document.createElement('div')
this.Nb.className = 'amap-markers'
this.Za = new g.M.Ke.fd(this.Nb)
this.Za.g = this.g
this.J.K.appendChild(this.Nb)
},
ut: function (a, b) {
this.bv = b.bv
this.hz = b
this.Pf = a.P.Pf
this.T = a.P.T
this.zoom = a.P.zoom
this.size = a.size
this.Ha = a.P.Ha
this.Cq = a.T
this.mb = a.P.lb
this.oh = a.P.oh
var c = !1
if (!this.Na || 500 < Math.abs(this.mb.x - this.Na.x) / this.T || 500 < Math.abs(this.mb.y - this.Na.y) / this.T) c = !0
if (c || this.zoom << 0 !== this.zoom || this.Cf !== this.zoom) (this.Na = this.mb), (this.Cf = this.zoom)
},
jv: function (a) {
var b = a.P.Ha.Ac.y * this.T
a = a.P.Ha.Ac.x * this.T
return [this.mb.x - a, this.mb.y - b, this.mb.x + a, this.mb.y + b]
},
Vv: function () {
if (this.Sh && this.Sh)
for (var a in this.Sh)
if (this.Sh.hasOwnProperty(a)) {
var b = this.Sh[a]
b.ee !== this.ee && b.fa && this.J.Ml.appendChild(b.fa)
}
},
oc: function (a, b) {
this.ee = (1e6 * Math.random()) << 0
this.ut(a, b)
this.P = a.P
this.size = a.size
var c = this.g
this.Dd = 256
var d, e
e = this.jv(a)
var f = 0
c.lm && (f = 50 * this.T)
e[0] -= this.g.Af * this.T + f
e[1] -= this.g.ig * this.T + f
e[2] += this.g.Af * this.T + f
e[3] += this.g.ig * this.T + f
c = c.xn(e)
for (d in c) c.hasOwnProperty(d) && ((c[d].ee = this.ee), (c[d].g6 = this))
this.Vv(c)
this.ut.call(this.Za, a, b)
this.Za.wE(c)
this.Sh = c
this.Ne(a)
},
Ne: function () {
var a = Math.pow(2, this.zoom - this.ne)
this.transform = { translate: this.Na.ab(this.mb).ld(this.T), scale: a, rotate: 0 }
},
})
g.M.Ke.fd = g.da.extend({
A: function (a) {
this.pl = a
},
wE: function (a, b) {
var c = document.createDocumentFragment(),
d = b && b.zS ? null : {},
e = !0,
f
for (f in a)
if (a.hasOwnProperty(f)) {
var h = a[f],
k,
l = h.get('params')
if (h.fa) k = h.fa
else {
k = g.f.create('div')
k.className = 'amap-marker'
var m = l.Ug,
n = l.e9,
p = l.IJ
m && k.appendChild(m)
n && k.appendChild(n)
p && !1 !== m.yM && k.appendChild(p)
h.fa = k
h.Ug = m
if ((n = l.title)) m.title = n
this.g.lm = !0
;-1 === g.a.indexOf(this.g.ah, h) && this.g.ah.push(h)
h.re = !0
}
var p = l.offset,
q = p.x,
r = p.y,
s = l.textAlign,
u = l.verticalAlign,
n = l.anchor,
m = !1,
v,
w
n && ((n = n.split('-')), 2 === n.length ? ((s = n[1]), (u = n[0])) : 1 === n.length && 'center' === n[0] && ((s = 'center'), (u = 'middle')))
var t,
n = (t = 0)
if ('AMap.Text' == h.Tp || 'AMap.Marker' == h.Tp) {
if (((w = v = 0), k.parentNode !== this.pl && d && ((m = !0), (d[f] = h), (e = !1)), !m)) {
h.re || !h.Wj ? ((t = g.f.Lo(h.Ug)), (h.Wj = t)) : (t = h.Wj)
n = t[0]
t = t[1]
switch (s) {
case 'center':
v = n / 2
break
case 'right':
v = n
}
switch (u) {
case 'middle':
w = t / 2
break
case 'bottom':
w = t
}
q -= v
r -= w
}
} else (v = -q), (w = -r)
var x, y
if (!m)
if (h.re) {
var E = []
x = this.Ku(h.W.za)
h.Na = this.Na
y = l.nF
r = Math.round(x[1] + r + y.y)
q = Math.round(x[0] + q + y.x)
E.push('top:' + r + 'px')
E.push('left:' + q + 'px')
E.push('z-index:' + (l.S5 ? this.g.er + 10 : l.zIndex))
if (!g.l.Ue) {
r = v
q = w
if ('AMap.Marker' == h.Tp) {
r = -p.x
q = -p.y
switch (s) {
case 'center':
r = -p.x + n / 2
q = -p.y + t / 2
break
case 'right':
r = -p.x + n
}
switch (u) {
case 'middle':
q = -p.y + t / 2
break
case 'bottom':
q = -p.y + t
}
}
E.push(g.f.C4(k, l.Rp, { x: r, y: q }))
}
E.push('display:' + (l.visible ? 'block' : 'none') + ';')
k.style.cssText = E.join(';')
if ((p = l.label) && p.content) {
l = l.IJ
s = p.direction
r = null
h.Cv || ((r = g.f.Lo(l)), (h.Cv = r))
u = (r = h.Cv) && r[0]
w = r && r[1]
q = r = 0
if (s && u && w)
switch (s) {
case 'top':
r = -w
q = (n - u) / 2
break
case 'right':
r = (t - w) / 2
q = n
break
case 'bottom':
r = t
q = (n - u) / 2
break
case 'left':
r = (t - w) / 2
q = -u
break
case 'center':
;(r = (t - w) / 2), (q = (n - u) / 2)
}
p.offset ? ((r = r + p.offset.y + 'px'), (q = q + p.offset.x + 'px')) : ((r += 'px'), (q += 'px'))
l.style.top = r
l.style.left = q
}
} else if (h.cba || this.zoom << 0 !== this.zoom || h.zoom !== this.zoom || k.parentNode !== this.pl || h.Na !== this.Na)
(x = this.Ku(h.W.za)), (h.Na = this.Na), (y = l.nF), (r = Math.round(x[1] + r + y.y)), (q = Math.round(x[0] + q + y.x)), (k.style.top = r + 'px'), (k.style.left = q + 'px')
h.zoom = this.zoom
k.parentNode !== this.pl && (g.l.zi && g.a.iepngFix(k), c.appendChild(k))
h.re = m
k.LB = this.pl
}
this.pl.appendChild(c)
e || this.wE(d, { zS: !0 })
},
Ku: function (a) {
var b = a[0] - this.Na.x
b > g.a.Fa / 2 ? (b -= g.a.Fa) : b < -g.a.Fa / 2 && (b += g.a.Fa)
return [b / this.T, (a[1] - this.Na.y) / this.T]
},
})
var Nc = g.r,
Tc = g.l,
gc = g.da.Ru,
Uc = g.Qva,
fa = document,
Vc = !0,
Wc = []
Tc.Tf && Wc.push('touch')
Tc.ba || Wc.push('mouse')
Tc.bL && (Wc.push('vectorlayer', 'overlay'), Tc.qp ? Wc.push('wgl') : Wc.push('cgl'))
if (Uc) {
for (var Xc = [], Yc = Uc.split(','), Jc = 0; Jc < Yc.length; Jc += 1) {
var Zc = Yc[Jc]
gc[Zc] && Xc.push.apply(Xc, gc[Zc])
Xc.push(Zc)
}
Wc = Wc.concat(Xc)
}
Wc.push('sync')
if (Tc.Gv) {
var $c = !0,
ad = [],
bd = []
try {
for (var Jc = 0, cd = Wc.length; Jc < cd; Jc++) {
var dd = JSON.parse(localStorage.getItem('_AMap_' + Wc[Jc]))
if (dd && dd.version === Nc.Dk) ad.push(dd.script), dd.css && bd.push(dd.css)
else {
ad = void 0
$c = !1
break
}
}
} catch (ed) {
;(ad = bd = void 0), ($c = !1)
}
if ($c)
try {
bd.length && fd()
var gd = ad.join(';')
eval(gd)
} catch (hd) {
Vc = !1
}
else Vc = !1
} else Vc = !1
if (Vc) for (Jc = 0; Jc < Wc.length; Jc += 1) g.tb.QC(Wc[Jc]).status = 1
else (Nc.MJ = !1), id()
function jd() {
for (var a = fa.getElementsByTagName('script'), b, c = 0; c < a.length; c += 1)
if (0 === a[c].src.indexOf(Nc.Gb + '/maps?')) {
b = a[c]
break
}
return Nc.Mc || (b && b.async)
}
function id() {
var a = Nc.Gb + '/maps/modules?v=' + Nc.ln + '&key=' + Nc.key + '&vrs=' + Nc.Dk + '&m=' + Wc.join(',')
jd()
? kd(a)
: (fa.write('