koishi-plugin-ets2-tools-tmp 2.3.0 → 2.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/api/evmOpenApi.js +138 -1
- package/lib/api/truckersMpApi.js +133 -1
- package/lib/api/truckersMpMapApi.js +25 -1
- package/lib/api/truckyAppApi.js +48 -1
- package/lib/command/ets-app/queryPoint.js +96 -1
- package/lib/command/ets-app/resetPassword.js +270 -1
- package/lib/command/tmpActivityService.js +603 -1
- package/lib/command/tmpBind.js +19 -1
- package/lib/command/tmpDlcMap.js +33 -1
- package/lib/command/tmpFootprint.js +109 -1
- package/lib/command/tmpMileageRanking.js +55 -1
- package/lib/command/tmpPosition.js +123 -1
- package/lib/command/tmpQuery/tmpQuery.js +12 -1
- package/lib/command/tmpQuery/tmpQueryImg.js +103 -1
- package/lib/command/tmpQuery/tmpQueryText.js +196 -1
- package/lib/command/tmpServer.js +41 -1
- package/lib/command/tmpTraffic/tmpTraffic.js +15 -1
- package/lib/command/tmpTraffic/tmpTrafficMap.js +163 -1
- package/lib/command/tmpTraffic/tmpTrafficText.js +60 -1
- package/lib/command/tmpVersion.js +14 -1
- package/lib/command/tmpVtc.js +29 -1
- package/lib/database/guildBind.js +41 -1
- package/lib/database/model.js +65 -1
- package/lib/database/translateCache.js +31 -1
- package/lib/index.js +331 -1
- package/lib/resource/dlc.html +1 -1
- package/lib/resource/footprint.html +1 -1
- package/lib/resource/package/ets-map.js +63 -1
- package/lib/resource/package/leaflet/heatmap.min.js +9 -1
- package/lib/resource/package/leaflet/leaflet-heatmap.js +246 -1
- package/lib/resource/position.html +1 -1
- package/lib/resource/traffic.html +1 -1
- package/lib/util/baiduTranslate.js +24 -1
- package/lib/util/common.js +5 -1
- package/lib/util/constant.js +36 -1
- package/package.json +1 -1
|
@@ -1 +1,63 @@
|
|
|
1
|
-
|
|
1
|
+
let mapConfig = {
|
|
2
|
+
ets: {
|
|
3
|
+
tileUrl: 'https://ets-map.oss-cn-beijing.aliyuncs.com/ets2/05102019/{z}/{x}/{y}.png',
|
|
4
|
+
multipliers: {
|
|
5
|
+
x: 70272,
|
|
6
|
+
y: 76157
|
|
7
|
+
},
|
|
8
|
+
breakpoints: {
|
|
9
|
+
uk: {
|
|
10
|
+
x: -31056.8,
|
|
11
|
+
y: -5832.867
|
|
12
|
+
}
|
|
13
|
+
},
|
|
14
|
+
bounds: {
|
|
15
|
+
y: 131072,
|
|
16
|
+
x: 131072
|
|
17
|
+
},
|
|
18
|
+
maxZoom: 8,
|
|
19
|
+
minZoom: 2,
|
|
20
|
+
// 游戏地转地图坐标
|
|
21
|
+
calculateMapCoordinate (x, y) {
|
|
22
|
+
return [
|
|
23
|
+
x / 1.609055 + mapConfig.ets.multipliers.x,
|
|
24
|
+
y / 1.609055 + mapConfig.ets.multipliers.y
|
|
25
|
+
];
|
|
26
|
+
}
|
|
27
|
+
},
|
|
28
|
+
promods: {
|
|
29
|
+
tileUrl: 'https://ets-map.oss-cn-beijing.aliyuncs.com/promods/05102019/{z}/{x}/{y}.png',
|
|
30
|
+
multipliers: {
|
|
31
|
+
x: 51953,
|
|
32
|
+
y: 76024
|
|
33
|
+
},
|
|
34
|
+
breakpoints: {
|
|
35
|
+
uk: {
|
|
36
|
+
x: -31056.8,
|
|
37
|
+
y: -5832.867
|
|
38
|
+
}
|
|
39
|
+
},
|
|
40
|
+
bounds: {
|
|
41
|
+
y: 131072,
|
|
42
|
+
x: 131072
|
|
43
|
+
},
|
|
44
|
+
maxZoom: 8,
|
|
45
|
+
minZoom: 2,
|
|
46
|
+
// 游戏地转地图坐标
|
|
47
|
+
calculateMapCoordinate (x, y) {
|
|
48
|
+
return [
|
|
49
|
+
x / 2.598541 + mapConfig.promods.multipliers.x,
|
|
50
|
+
y / 2.598541 + mapConfig.promods.multipliers.y
|
|
51
|
+
]
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
// 定义地图
|
|
57
|
+
let map = L.map('map', {
|
|
58
|
+
attributionControl: false,
|
|
59
|
+
crs: L.CRS.Simple,
|
|
60
|
+
zoomControl: false,
|
|
61
|
+
zoomSnap: 0.2,
|
|
62
|
+
zoomDelta: 0.2
|
|
63
|
+
});
|
|
@@ -1 +1,9 @@
|
|
|
1
|
-
function _0x2e70(_0x10d691,_0x20546d){var _0x20d77f=_0x41ae();return _0x2e70=function(_0x198519,_0x5980ed){_0x198519=_0x198519-0x143;var _0x2fad4d=_0x20d77f[_0x198519];return _0x2fad4d;},_0x2e70(_0x10d691,_0x20546d);}var _0x1806be=_0x2e70;(function(_0x21f593,_0x2063f7){var _0x55d11c=_0x2e70,_0xe3a8f5=_0x21f593();while(!![]){try{var _0x4ed45f=-parseInt(_0x55d11c(0x17d))/0x1+parseInt(_0x55d11c(0x18c))/0x2+-parseInt(_0x55d11c(0x17a))/0x3+-parseInt(_0x55d11c(0x16e))/0x4*(parseInt(_0x55d11c(0x1b5))/0x5)+parseInt(_0x55d11c(0x1ca))/0x6+parseInt(_0x55d11c(0x151))/0x7+-parseInt(_0x55d11c(0x160))/0x8*(parseInt(_0x55d11c(0x170))/0x9);if(_0x4ed45f===_0x2063f7)break;else _0xe3a8f5['push'](_0xe3a8f5['shift']());}catch(_0x5f49bd){_0xe3a8f5['push'](_0xe3a8f5['shift']());}}}(_0x41ae,0x1daa1),function(_0x3e88e1,_0x16ebcf,_0x4e200d){var _0x38788b=_0x2e70,_0x43f620=(function(){var _0x1e58d6=!![];return function(_0x2a41a7,_0xf8c816){var _0x558802=_0x1e58d6?function(){var _0x4108c9=_0x2e70;if(_0xf8c816){var _0x7bea3f=_0xf8c816[_0x4108c9(0x1c3)](_0x2a41a7,arguments);return _0xf8c816=null,_0x7bea3f;}}:function(){};return _0x1e58d6=![],_0x558802;};}()),_0x453f36=_0x43f620(this,function(){var _0x54aa3d=_0x2e70;return _0x453f36[_0x54aa3d(0x1a8)]()[_0x54aa3d(0x194)](_0x54aa3d(0x175))[_0x54aa3d(0x1a8)]()['constructor'](_0x453f36)[_0x54aa3d(0x194)](_0x54aa3d(0x175));});_0x453f36();var _0x747ed0=(function(){var _0x51ad80=!![];return function(_0x17ecba,_0x4700bc){var _0x279de7=_0x51ad80?function(){if(_0x4700bc){var _0x2760b1=_0x4700bc['apply'](_0x17ecba,arguments);return _0x4700bc=null,_0x2760b1;}}:function(){};return _0x51ad80=![],_0x279de7;};}()),_0x202d52=_0x747ed0(this,function(){var _0x542dee=_0x2e70,_0xbec983;try{var _0x58db83=Function('return\x20(function()\x20'+_0x542dee(0x14a)+');');_0xbec983=_0x58db83();}catch(_0x3392cf){_0xbec983=window;}var _0x14dd82=_0xbec983[_0x542dee(0x15b)]=_0xbec983['console']||{},_0x385726=[_0x542dee(0x18b),'warn',_0x542dee(0x165),_0x542dee(0x18f),_0x542dee(0x14d),_0x542dee(0x1cb),_0x542dee(0x178)];for(var _0x1a15c1=0x0;_0x1a15c1<_0x385726[_0x542dee(0x1b9)];_0x1a15c1++){var _0x5ad875=_0x747ed0['constructor'][_0x542dee(0x1be)][_0x542dee(0x174)](_0x747ed0),_0x8dcf15=_0x385726[_0x1a15c1],_0x45d191=_0x14dd82[_0x8dcf15]||_0x5ad875;_0x5ad875[_0x542dee(0x1a5)]=_0x747ed0[_0x542dee(0x174)](_0x747ed0),_0x5ad875[_0x542dee(0x1a8)]=_0x45d191['toString'][_0x542dee(0x174)](_0x45d191),_0x14dd82[_0x8dcf15]=_0x5ad875;}});_0x202d52();if(typeof module!==_0x38788b(0x1ba)&&module[_0x38788b(0x198)])module[_0x38788b(0x198)]=_0x4e200d();else typeof define==='function'&&define['amd']?define(_0x4e200d):_0x16ebcf[_0x3e88e1]=_0x4e200d();}(_0x1806be(0x18d),this,function(){var _0x3f8d67=_0x1806be,_0x10dfa5={'defaultRadius':0x28,'defaultRenderer':_0x3f8d67(0x15d),'defaultGradient':{0.25:'rgb(0,0,255)',0.55:_0x3f8d67(0x1af),0.85:_0x3f8d67(0x15f),0x1:_0x3f8d67(0x176)},'defaultMaxOpacity':0x1,'defaultMinOpacity':0x0,'defaultBlur':0.85,'defaultXField':'x','defaultYField':'y','defaultValueField':_0x3f8d67(0x156),'plugins':{}},_0x138098=function _0x49e693(){var _0xd22871=_0x3f8d67,_0xb161c9=function _0x53de76(_0x193389){var _0x5aecea=_0x2e70;this[_0x5aecea(0x18e)]={},this[_0x5aecea(0x1a0)]=[],this[_0x5aecea(0x162)]=[],this[_0x5aecea(0x1bd)]=0x0,this[_0x5aecea(0x19b)]=0x1,this['_xField']=_0x193389[_0x5aecea(0x17f)]||_0x193389[_0x5aecea(0x16c)],this[_0x5aecea(0x14f)]=_0x193389['yField']||_0x193389[_0x5aecea(0x180)],this['_valueField']=_0x193389[_0x5aecea(0x166)]||_0x193389[_0x5aecea(0x1a7)],_0x193389[_0x5aecea(0x168)]&&(this[_0x5aecea(0x1b7)]=_0x193389[_0x5aecea(0x168)]);},_0x4beb47=_0x10dfa5['defaultRadius'];return _0xb161c9[_0xd22871(0x1be)]={'_organiseData':function(_0x5e9cf1,_0x19cef9){var _0x279e19=_0xd22871,_0x4f0873=_0x5e9cf1[this['_xField']],_0x11aa0f=_0x5e9cf1[this[_0x279e19(0x14f)]],_0x10ef9d=this[_0x279e19(0x162)],_0x54868f=this['_data'],_0x5c0a0c=this[_0x279e19(0x19b)],_0x326dfe=this[_0x279e19(0x1bd)],_0x25bc35=_0x5e9cf1[this[_0x279e19(0x195)]]||0x1,_0x4d08f8=_0x5e9cf1[_0x279e19(0x168)]||this[_0x279e19(0x1b7)]||_0x4beb47;return!_0x54868f[_0x4f0873]&&(_0x54868f[_0x4f0873]=[],_0x10ef9d[_0x4f0873]=[]),!_0x54868f[_0x4f0873][_0x11aa0f]?(_0x54868f[_0x4f0873][_0x11aa0f]=_0x25bc35,_0x10ef9d[_0x4f0873][_0x11aa0f]=_0x4d08f8):_0x54868f[_0x4f0873][_0x11aa0f]+=_0x25bc35,_0x54868f[_0x4f0873][_0x11aa0f]>_0x5c0a0c?(!_0x19cef9?this[_0x279e19(0x19b)]=_0x54868f[_0x4f0873][_0x11aa0f]:this['setDataMax'](_0x54868f[_0x4f0873][_0x11aa0f]),![]):{'x':_0x4f0873,'y':_0x11aa0f,'value':_0x25bc35,'radius':_0x4d08f8,'min':_0x326dfe,'max':_0x5c0a0c};},'_unOrganizeData':function(){var _0x1348f2=_0xd22871,_0x41c33c=[],_0x2e00c2=this[_0x1348f2(0x1a0)],_0x54c80e=this[_0x1348f2(0x162)];for(var _0x99ae06 in _0x2e00c2){for(var _0x307c8e in _0x2e00c2[_0x99ae06]){_0x41c33c[_0x1348f2(0x1c7)]({'x':_0x99ae06,'y':_0x307c8e,'radius':_0x54c80e[_0x99ae06][_0x307c8e],'value':_0x2e00c2[_0x99ae06][_0x307c8e]});}}return{'min':this[_0x1348f2(0x1bd)],'max':this[_0x1348f2(0x19b)],'data':_0x41c33c};},'_onExtremaChange':function(){var _0x2fc374=_0xd22871;this[_0x2fc374(0x18e)][_0x2fc374(0x155)](_0x2fc374(0x18a),{'min':this['_min'],'max':this['_max']});},'addData':function(){var _0x338329=_0xd22871;if(arguments[0x0][_0x338329(0x1b9)]>0x0){var _0x58ff2a=arguments[0x0],_0x134a5a=_0x58ff2a[_0x338329(0x1b9)];while(_0x134a5a--){this[_0x338329(0x167)][_0x338329(0x1c4)](this,_0x58ff2a[_0x134a5a]);}}else{var _0x481319=this[_0x338329(0x1b8)](arguments[0x0],!![]);_0x481319&&this[_0x338329(0x18e)]['emit'](_0x338329(0x184),{'min':this[_0x338329(0x1bd)],'max':this[_0x338329(0x19b)],'data':[_0x481319]});}return this;},'setData':function(_0x27e251){var _0x1878f1=_0xd22871,_0x28a91a=_0x27e251[_0x1878f1(0x15e)],_0x3e9b90=_0x28a91a[_0x1878f1(0x1b9)];this['_data']=[],this[_0x1878f1(0x162)]=[];for(var _0x4d81f4=0x0;_0x4d81f4<_0x3e9b90;_0x4d81f4++){this[_0x1878f1(0x1b8)](_0x28a91a[_0x4d81f4],![]);}return this[_0x1878f1(0x19b)]=_0x27e251[_0x1878f1(0x1ad)],this[_0x1878f1(0x1bd)]=_0x27e251[_0x1878f1(0x19a)]||0x0,this['_onExtremaChange'](),this[_0x1878f1(0x18e)][_0x1878f1(0x155)]('renderall',this[_0x1878f1(0x186)]()),this;},'removeData':function(){},'setDataMax':function(_0x2e14de){var _0x2af369=_0xd22871;return this['_max']=_0x2e14de,this['_onExtremaChange'](),this[_0x2af369(0x18e)][_0x2af369(0x155)](_0x2af369(0x1a9),this[_0x2af369(0x186)]()),this;},'setDataMin':function(_0x24705c){var _0x1d4baf=_0xd22871;return this[_0x1d4baf(0x1bd)]=_0x24705c,this['_onExtremaChange'](),this[_0x1d4baf(0x18e)]['emit'](_0x1d4baf(0x1a9),this[_0x1d4baf(0x186)]()),this;},'setCoordinator':function(_0x564e08){var _0x4c94ac=_0xd22871;this[_0x4c94ac(0x18e)]=_0x564e08;},'_getInternalData':function(){var _0x21580a=_0xd22871;return{'max':this[_0x21580a(0x19b)],'min':this['_min'],'data':this[_0x21580a(0x1a0)],'radi':this[_0x21580a(0x162)]};},'getData':function(){var _0x89c40f=_0xd22871;return this[_0x89c40f(0x183)]();}},_0xb161c9;}(),_0x4c32d0=function _0x3384ee(){var _0x51e9db=_0x3f8d67,_0x2c068b=function(_0x2c812c){var _0x26092d=_0x2e70,_0x1d3662=_0x2c812c[_0x26092d(0x19d)]||_0x2c812c[_0x26092d(0x193)],_0x170667=document['createElement'](_0x26092d(0x1ab)),_0x1614be=_0x170667[_0x26092d(0x1c6)]('2d');_0x170667[_0x26092d(0x187)]=0x100,_0x170667['height']=0x1;var _0x3381fd=_0x1614be['createLinearGradient'](0x0,0x0,0x100,0x1);for(var _0x238d86 in _0x1d3662){_0x3381fd[_0x26092d(0x159)](_0x238d86,_0x1d3662[_0x238d86]);}return _0x1614be[_0x26092d(0x158)]=_0x3381fd,_0x1614be[_0x26092d(0x1b1)](0x0,0x0,0x100,0x1),_0x1614be[_0x26092d(0x1a1)](0x0,0x0,0x100,0x1)[_0x26092d(0x15e)];},_0x2b84da=function(_0x351fbf,_0x166ef1){var _0x22c8d6=_0x2e70,_0x1b8f4e=document[_0x22c8d6(0x172)](_0x22c8d6(0x1ab)),_0x18c150=_0x1b8f4e['getContext']('2d'),_0x29cbe5=_0x351fbf,_0x164602=_0x351fbf;_0x1b8f4e[_0x22c8d6(0x187)]=_0x1b8f4e[_0x22c8d6(0x1ae)]=_0x351fbf*0x2;if(_0x166ef1==0x1)_0x18c150['beginPath'](),_0x18c150[_0x22c8d6(0x19f)](_0x29cbe5,_0x164602,_0x351fbf,0x0,0x2*Math['PI'],![]),_0x18c150['fillStyle']=_0x22c8d6(0x1b6),_0x18c150[_0x22c8d6(0x147)]();else{var _0x5d886b=_0x18c150[_0x22c8d6(0x1a3)](_0x29cbe5,_0x164602,_0x351fbf*_0x166ef1,_0x29cbe5,_0x164602,_0x351fbf);_0x5d886b[_0x22c8d6(0x159)](0x0,_0x22c8d6(0x1b6)),_0x5d886b['addColorStop'](0x1,_0x22c8d6(0x144)),_0x18c150[_0x22c8d6(0x158)]=_0x5d886b,_0x18c150[_0x22c8d6(0x1b1)](0x0,0x0,0x2*_0x351fbf,0x2*_0x351fbf);}return _0x1b8f4e;},_0x51bd7e=function(_0x1c3740){var _0x62802a=_0x2e70,_0x2c7105=[],_0x125560=_0x1c3740[_0x62802a(0x19a)],_0x1bdc2c=_0x1c3740[_0x62802a(0x1ad)],_0x3abe6e=_0x1c3740[_0x62802a(0x164)],_0x1c3740=_0x1c3740[_0x62802a(0x15e)],_0x271601=Object[_0x62802a(0x14e)](_0x1c3740),_0xed128e=_0x271601[_0x62802a(0x1b9)];while(_0xed128e--){var _0x3b21a0=_0x271601[_0xed128e],_0x15bf93=Object[_0x62802a(0x14e)](_0x1c3740[_0x3b21a0]),_0x552843=_0x15bf93[_0x62802a(0x1b9)];while(_0x552843--){var _0x247984=_0x15bf93[_0x552843],_0x537b49=_0x1c3740[_0x3b21a0][_0x247984],_0x15d69c=_0x3abe6e[_0x3b21a0][_0x247984];_0x2c7105[_0x62802a(0x1c7)]({'x':_0x3b21a0,'y':_0x247984,'value':_0x537b49,'radius':_0x15d69c});}}return{'min':_0x125560,'max':_0x1bdc2c,'data':_0x2c7105};};function _0x80c46e(_0x55b8a6){var _0x1d09a3=_0x2e70,_0x2cc5d3=_0x55b8a6[_0x1d09a3(0x1a2)],_0x1b3a57=this[_0x1d09a3(0x1bc)]=document[_0x1d09a3(0x172)]('canvas'),_0x2fecb3=this[_0x1d09a3(0x1ab)]=_0x55b8a6[_0x1d09a3(0x1ab)]||document['createElement'](_0x1d09a3(0x1ab)),_0xa11a0b=this['_renderBoundaries']=[0x2710,0x2710,0x0,0x0],_0xc102e1=getComputedStyle(_0x55b8a6[_0x1d09a3(0x1a2)])||{};_0x2fecb3[_0x1d09a3(0x153)]='heatmap-canvas',this[_0x1d09a3(0x19e)]=_0x2fecb3[_0x1d09a3(0x187)]=_0x1b3a57[_0x1d09a3(0x187)]=_0x55b8a6[_0x1d09a3(0x187)]||+_0xc102e1['width'][_0x1d09a3(0x14b)](/px/,''),this[_0x1d09a3(0x17c)]=_0x2fecb3[_0x1d09a3(0x1ae)]=_0x1b3a57[_0x1d09a3(0x1ae)]=_0x55b8a6[_0x1d09a3(0x1ae)]||+_0xc102e1[_0x1d09a3(0x1ae)][_0x1d09a3(0x14b)](/px/,''),this[_0x1d09a3(0x15c)]=_0x1b3a57[_0x1d09a3(0x1c6)]('2d'),this[_0x1d09a3(0x1aa)]=_0x2fecb3[_0x1d09a3(0x1c6)]('2d'),_0x2fecb3[_0x1d09a3(0x173)]['cssText']=_0x1b3a57['style'][_0x1d09a3(0x16d)]=_0x1d09a3(0x1c1),_0x2cc5d3[_0x1d09a3(0x173)][_0x1d09a3(0x1b2)]=_0x1d09a3(0x1c9),_0x2cc5d3['appendChild'](_0x2fecb3),this[_0x1d09a3(0x152)]=_0x2c068b(_0x55b8a6),this[_0x1d09a3(0x171)]={},this['_setStyles'](_0x55b8a6);}return _0x80c46e[_0x51e9db(0x1be)]={'renderPartial':function(_0x368c25){var _0x7a5f52=_0x51e9db;_0x368c25[_0x7a5f52(0x15e)]['length']>0x0&&(this[_0x7a5f52(0x163)](_0x368c25),this[_0x7a5f52(0x185)]());},'renderAll':function(_0x5494af){var _0x3181f9=_0x51e9db;this[_0x3181f9(0x1b4)](),_0x5494af[_0x3181f9(0x15e)]['length']>0x0&&(this[_0x3181f9(0x163)](_0x51bd7e(_0x5494af)),this[_0x3181f9(0x185)]());},'_updateGradient':function(_0x5e9f76){this['_palette']=_0x2c068b(_0x5e9f76);},'updateConfig':function(_0x1553b6){var _0x3d8a7d=_0x51e9db;_0x1553b6[_0x3d8a7d(0x19d)]&&this[_0x3d8a7d(0x1c0)](_0x1553b6),this['_setStyles'](_0x1553b6);},'setDimensions':function(_0x466ed4,_0xd53b){var _0x2949c8=_0x51e9db;this['_width']=_0x466ed4,this[_0x2949c8(0x17c)]=_0xd53b,this[_0x2949c8(0x1ab)][_0x2949c8(0x187)]=this[_0x2949c8(0x1bc)][_0x2949c8(0x187)]=_0x466ed4,this[_0x2949c8(0x1ab)]['height']=this[_0x2949c8(0x1bc)]['height']=_0xd53b;},'_clear':function(){var _0x336956=_0x51e9db;this[_0x336956(0x15c)][_0x336956(0x192)](0x0,0x0,this[_0x336956(0x19e)],this[_0x336956(0x17c)]),this[_0x336956(0x1aa)][_0x336956(0x192)](0x0,0x0,this[_0x336956(0x19e)],this[_0x336956(0x17c)]);},'_setStyles':function(_0x5ae168){var _0x280f45=_0x51e9db;this[_0x280f45(0x169)]=_0x5ae168[_0x280f45(0x146)]==0x0?0x0:_0x5ae168[_0x280f45(0x146)]||_0x5ae168[_0x280f45(0x199)],_0x5ae168[_0x280f45(0x17b)]&&(this[_0x280f45(0x1ab)][_0x280f45(0x173)][_0x280f45(0x17b)]=_0x5ae168[_0x280f45(0x17b)]),this['_width']=this[_0x280f45(0x1ab)][_0x280f45(0x187)]=this[_0x280f45(0x1bc)][_0x280f45(0x187)]=_0x5ae168['width']||this[_0x280f45(0x19e)],this[_0x280f45(0x17c)]=this[_0x280f45(0x1ab)][_0x280f45(0x1ae)]=this[_0x280f45(0x1bc)][_0x280f45(0x1ae)]=_0x5ae168['height']||this[_0x280f45(0x17c)],this[_0x280f45(0x1c8)]=(_0x5ae168[_0x280f45(0x16f)]||0x0)*0xff,this[_0x280f45(0x196)]=(_0x5ae168['maxOpacity']||_0x5ae168['defaultMaxOpacity'])*0xff,this[_0x280f45(0x197)]=(_0x5ae168[_0x280f45(0x14c)]||_0x5ae168[_0x280f45(0x145)])*0xff,this[_0x280f45(0x1a4)]=!!_0x5ae168[_0x280f45(0x1bf)];},'_drawAlpha':function(_0x3fa40b){var _0x5511a0=_0x51e9db,_0x4c3e1e=this[_0x5511a0(0x1bd)]=_0x3fa40b['min'],_0x302d34=this[_0x5511a0(0x19b)]=_0x3fa40b[_0x5511a0(0x1ad)],_0x3fa40b=_0x3fa40b[_0x5511a0(0x15e)]||[],_0x454ac8=_0x3fa40b['length'],_0x3df70e=0x1-this[_0x5511a0(0x169)];while(_0x454ac8--){var _0x330328=_0x3fa40b[_0x454ac8],_0x1557fd=_0x330328['x'],_0x29741d=_0x330328['y'],_0x35841d=_0x330328[_0x5511a0(0x168)],_0x53cfe9=Math[_0x5511a0(0x19a)](_0x330328[_0x5511a0(0x156)],_0x302d34),_0x41c496=_0x1557fd-_0x35841d,_0x7e8945=_0x29741d-_0x35841d,_0x2f108c=this[_0x5511a0(0x15c)],_0x271e9b;!this[_0x5511a0(0x171)][_0x35841d]?this[_0x5511a0(0x171)][_0x35841d]=_0x271e9b=_0x2b84da(_0x35841d,_0x3df70e):_0x271e9b=this[_0x5511a0(0x171)][_0x35841d];var _0x2fadf3=(_0x53cfe9-_0x4c3e1e)/(_0x302d34-_0x4c3e1e);_0x2f108c[_0x5511a0(0x1a6)]=_0x2fadf3<0.01?0.01:_0x2fadf3,_0x2f108c[_0x5511a0(0x16a)](_0x271e9b,_0x41c496,_0x7e8945),_0x41c496<this['_renderBoundaries'][0x0]&&(this[_0x5511a0(0x161)][0x0]=_0x41c496),_0x7e8945<this[_0x5511a0(0x161)][0x1]&&(this[_0x5511a0(0x161)][0x1]=_0x7e8945),_0x41c496+0x2*_0x35841d>this['_renderBoundaries'][0x2]&&(this[_0x5511a0(0x161)][0x2]=_0x41c496+0x2*_0x35841d),_0x7e8945+0x2*_0x35841d>this[_0x5511a0(0x161)][0x3]&&(this[_0x5511a0(0x161)][0x3]=_0x7e8945+0x2*_0x35841d);}},'_colorize':function(){var _0x302bc3=_0x51e9db,_0xd74021=this['_renderBoundaries'][0x0],_0x574553=this[_0x302bc3(0x161)][0x1],_0xf9c2bd=this['_renderBoundaries'][0x2]-_0xd74021,_0x491c9c=this[_0x302bc3(0x161)][0x3]-_0x574553,_0x5dc1ab=this[_0x302bc3(0x19e)],_0x36c069=this[_0x302bc3(0x17c)],_0x34014d=this[_0x302bc3(0x1c8)],_0x3fe355=this['_maxOpacity'],_0x42cc30=this[_0x302bc3(0x197)],_0x140ea1=this[_0x302bc3(0x1a4)];_0xd74021<0x0&&(_0xd74021=0x0);_0x574553<0x0&&(_0x574553=0x0);_0xd74021+_0xf9c2bd>_0x5dc1ab&&(_0xf9c2bd=_0x5dc1ab-_0xd74021);_0x574553+_0x491c9c>_0x36c069&&(_0x491c9c=_0x36c069-_0x574553);var _0x51d6d4=this[_0x302bc3(0x15c)][_0x302bc3(0x1a1)](_0xd74021,_0x574553,_0xf9c2bd,_0x491c9c),_0x2bb74d=_0x51d6d4[_0x302bc3(0x15e)],_0x2cb6cb=_0x2bb74d['length'],_0x217330=this[_0x302bc3(0x152)];for(var _0x1f1395=0x3;_0x1f1395<_0x2cb6cb;_0x1f1395+=0x4){var _0x3df560=_0x2bb74d[_0x1f1395],_0x3ee62f=_0x3df560*0x4;if(!_0x3ee62f)continue;var _0x415f05;_0x34014d>0x0?_0x415f05=_0x34014d:_0x3df560<_0x3fe355?_0x3df560<_0x42cc30?_0x415f05=_0x42cc30:_0x415f05=_0x3df560:_0x415f05=_0x3fe355,_0x2bb74d[_0x1f1395-0x3]=_0x217330[_0x3ee62f],_0x2bb74d[_0x1f1395-0x2]=_0x217330[_0x3ee62f+0x1],_0x2bb74d[_0x1f1395-0x1]=_0x217330[_0x3ee62f+0x2],_0x2bb74d[_0x1f1395]=_0x140ea1?_0x217330[_0x3ee62f+0x3]:_0x415f05;}_0x51d6d4[_0x302bc3(0x15e)]=_0x2bb74d,this[_0x302bc3(0x1aa)][_0x302bc3(0x19c)](_0x51d6d4,_0xd74021,_0x574553),this[_0x302bc3(0x161)]=[0x3e8,0x3e8,0x0,0x0];},'getValueAt':function(_0xe965d0){var _0x3c4534=_0x51e9db,_0x54902f,_0x29067c=this[_0x3c4534(0x15c)],_0x3867ec=_0x29067c[_0x3c4534(0x1a1)](_0xe965d0['x'],_0xe965d0['y'],0x1,0x1),_0x10e278=_0x3867ec[_0x3c4534(0x15e)][0x3],_0x5e62cb=this['_max'],_0x3deb2f=this['_min'];return _0x54902f=Math[_0x3c4534(0x149)](_0x5e62cb-_0x3deb2f)*(_0x10e278/0xff)>>0x0,_0x54902f;},'getDataURL':function(){var _0x86135e=_0x51e9db;return this[_0x86135e(0x1ab)][_0x86135e(0x1b3)]();}},_0x80c46e;}(),_0x249bed=function _0x1563c9(){var _0xb46828=![];return _0x10dfa5['defaultRenderer']==='canvas2d'&&(_0xb46828=_0x4c32d0),_0xb46828;}(),_0x186eeb={'merge':function(){var _0x3901dd={},_0x2ecd33=arguments['length'];for(var _0x20b9b3=0x0;_0x20b9b3<_0x2ecd33;_0x20b9b3++){var _0x5d0d72=arguments[_0x20b9b3];for(var _0x35dbbe in _0x5d0d72){_0x3901dd[_0x35dbbe]=_0x5d0d72[_0x35dbbe];}}return _0x3901dd;}},_0x4dce01=function _0x524e81(){var _0x57f79f=_0x3f8d67,_0x4f232e=function _0x1fc055(){function _0x4a3a9d(){var _0x38f65a=_0x2e70;this[_0x38f65a(0x182)]={};}return _0x4a3a9d['prototype']={'on':function(_0x23fc53,_0x5881c9,_0x59b316){var _0x13d710=_0x2e70,_0x458ab4=this[_0x13d710(0x182)];!_0x458ab4[_0x23fc53]&&(_0x458ab4[_0x23fc53]=[]),_0x458ab4[_0x23fc53][_0x13d710(0x1c7)](function(_0x806bf9){var _0x512495=_0x13d710;return _0x5881c9[_0x512495(0x1c4)](_0x59b316,_0x806bf9);});},'emit':function(_0x1a56fe,_0x4688f6){var _0x558e66=_0x2e70,_0x3a1dc4=this[_0x558e66(0x182)];if(_0x3a1dc4[_0x1a56fe]){var _0x16c4a0=_0x3a1dc4[_0x1a56fe][_0x558e66(0x1b9)];for(var _0x3cf92c=0x0;_0x3cf92c<_0x16c4a0;_0x3cf92c++){var _0x9822d0=_0x3a1dc4[_0x1a56fe][_0x3cf92c];_0x9822d0(_0x4688f6);}}}},_0x4a3a9d;}(),_0x314df5=function(_0x193bf6){var _0x1e53ec=_0x2e70,_0x51cf14=_0x193bf6[_0x1e53ec(0x1ac)],_0x552c11=_0x193bf6['_coordinator'],_0x5763e9=_0x193bf6[_0x1e53ec(0x191)];_0x552c11['on'](_0x1e53ec(0x184),_0x51cf14[_0x1e53ec(0x1c5)],_0x51cf14),_0x552c11['on'](_0x1e53ec(0x1a9),_0x51cf14['renderAll'],_0x51cf14),_0x552c11['on'](_0x1e53ec(0x18a),function(_0x23ea00){var _0x2664c0=_0x1e53ec;_0x193bf6['_config'][_0x2664c0(0x179)]&&_0x193bf6[_0x2664c0(0x190)][_0x2664c0(0x179)]({'min':_0x23ea00[_0x2664c0(0x19a)],'max':_0x23ea00[_0x2664c0(0x1ad)],'gradient':_0x193bf6['_config'][_0x2664c0(0x19d)]||_0x193bf6['_config'][_0x2664c0(0x193)]});}),_0x5763e9[_0x1e53ec(0x148)](_0x552c11);};function _0x258ba6(){var _0x4b056d=_0x2e70,_0xb98b8e=this['_config']=_0x186eeb['merge'](_0x10dfa5,arguments[0x0]||{});this[_0x4b056d(0x18e)]=new _0x4f232e();if(_0xb98b8e[_0x4b056d(0x1c2)]){var _0x12ac40=_0xb98b8e['plugin'];if(!_0x10dfa5[_0x4b056d(0x15a)][_0x12ac40])throw new Error(_0x4b056d(0x150)+_0x12ac40+_0x4b056d(0x181));else{var _0x3be4d3=_0x10dfa5['plugins'][_0x12ac40];this[_0x4b056d(0x1ac)]=new _0x3be4d3[(_0x4b056d(0x157))](_0xb98b8e),this['_store']=new _0x3be4d3[(_0x4b056d(0x177))](_0xb98b8e);}}else this[_0x4b056d(0x1ac)]=new _0x249bed(_0xb98b8e),this[_0x4b056d(0x191)]=new _0x138098(_0xb98b8e);_0x314df5(this);}return _0x258ba6[_0x57f79f(0x1be)]={'addData':function(){var _0xec495b=_0x57f79f;return this[_0xec495b(0x191)]['addData'][_0xec495b(0x1c3)](this[_0xec495b(0x191)],arguments),this;},'removeData':function(){var _0x19692c=_0x57f79f;return this[_0x19692c(0x191)][_0x19692c(0x189)]&&this[_0x19692c(0x191)][_0x19692c(0x189)][_0x19692c(0x1c3)](this[_0x19692c(0x191)],arguments),this;},'setData':function(){var _0x1763c2=_0x57f79f;return this[_0x1763c2(0x191)][_0x1763c2(0x1bb)][_0x1763c2(0x1c3)](this[_0x1763c2(0x191)],arguments),this;},'setDataMax':function(){var _0x567da6=_0x57f79f;return this[_0x567da6(0x191)][_0x567da6(0x143)][_0x567da6(0x1c3)](this[_0x567da6(0x191)],arguments),this;},'setDataMin':function(){var _0x32abcf=_0x57f79f;return this[_0x32abcf(0x191)][_0x32abcf(0x188)][_0x32abcf(0x1c3)](this[_0x32abcf(0x191)],arguments),this;},'configure':function(_0xc18200){var _0x4c5bea=_0x57f79f;return this['_config']=_0x186eeb[_0x4c5bea(0x1cc)](this[_0x4c5bea(0x190)],_0xc18200),this[_0x4c5bea(0x1ac)][_0x4c5bea(0x16b)](this[_0x4c5bea(0x190)]),this[_0x4c5bea(0x18e)][_0x4c5bea(0x155)](_0x4c5bea(0x1a9),this['_store'][_0x4c5bea(0x186)]()),this;},'repaint':function(){var _0x125747=_0x57f79f;return this['_coordinator'][_0x125747(0x155)](_0x125747(0x1a9),this['_store'][_0x125747(0x186)]()),this;},'getData':function(){var _0x18b0a1=_0x57f79f;return this[_0x18b0a1(0x191)][_0x18b0a1(0x154)]();},'getDataURL':function(){var _0x310957=_0x57f79f;return this[_0x310957(0x1ac)][_0x310957(0x1b0)]();},'getValueAt':function(_0xc5e648){var _0x81c689=_0x57f79f;if(this[_0x81c689(0x191)][_0x81c689(0x17e)])return this['_store'][_0x81c689(0x17e)](_0xc5e648);else return this[_0x81c689(0x1ac)][_0x81c689(0x17e)]?this[_0x81c689(0x1ac)][_0x81c689(0x17e)](_0xc5e648):null;}},_0x258ba6;}(),_0x3c2d29={'create':function(_0x24a548){return new _0x4dce01(_0x24a548);},'register':function(_0x2093be,_0x31bd1e){var _0x3bb856=_0x3f8d67;_0x10dfa5[_0x3bb856(0x15a)][_0x2093be]=_0x31bd1e;}};return _0x3c2d29;}));function _0x41ae(){var _0x37de62=['_useGradientOpacity','__proto__','globalAlpha','defaultValueField','toString','renderall','ctx','canvas','_renderer','max','height','rgb(0,255,0)','getDataURL','fillRect','position','toDataURL','_clear','1385LERGNS','rgba(0,0,0,1)','_cfgRadius','_organiseData','length','undefined','setData','shadowCanvas','_min','prototype','useGradientOpacity','_updateGradient','position:absolute;left:0;top:0;','plugin','apply','call','renderPartial','getContext','push','_opacity','relative','1316496KEmcyJ','table','merge','setDataMax','rgba(0,0,0,0)','defaultMinOpacity','blur','fill','setCoordinator','abs','{}.constructor(\x22return\x20this\x22)(\x20)','replace','minOpacity','exception','keys','_yField','Plugin\x20\x27','1656326GshXzU','_palette','className','getData','emit','value','renderer','fillStyle','addColorStop','plugins','console','shadowCtx','canvas2d','data','yellow','22696Anmdst','_renderBoundaries','_radi','_drawAlpha','radi','info','valueField','addData','radius','_blur','drawImage','updateConfig','defaultXField','cssText','52KpjbSV','opacity','828SXNeni','_templates','createElement','style','bind','(((.+)+)+)+$','rgb(255,0,0)','store','trace','onExtremaChange','217278ZTpxSJ','backgroundColor','_height','200585LEaoRy','getValueAt','xField','defaultYField','\x27\x20not\x20found.\x20Maybe\x20it\x20was\x20not\x20registered.','cStore','_unOrganizeData','renderpartial','_colorize','_getInternalData','width','setDataMin','removeData','extremachange','log','406174OyrhEz','h337','_coordinator','error','_config','_store','clearRect','defaultGradient','search','_valueField','_maxOpacity','_minOpacity','exports','defaultBlur','min','_max','putImageData','gradient','_width','arc','_data','getImageData','container','createRadialGradient'];_0x41ae=function(){return _0x37de62;};return _0x41ae();}
|
|
1
|
+
/*
|
|
2
|
+
* heatmap.js v2.0.2 | JavaScript Heatmap Library
|
|
3
|
+
*
|
|
4
|
+
* Copyright 2008-2016 Patrick Wied <heatmapjs@patrick-wied.at> - All rights reserved.
|
|
5
|
+
* Dual licensed under MIT and Beerware license
|
|
6
|
+
*
|
|
7
|
+
* :: 2016-02-04 21:25
|
|
8
|
+
*/
|
|
9
|
+
(function (a, b, c) { if (typeof module !== "undefined" && module.exports) { module.exports = c() } else if (typeof define === "function" && define.amd) { define(c) } else { b[a] = c() } })("h337", this, function () { var a = { defaultRadius: 40, defaultRenderer: "canvas2d", defaultGradient: { .25: "rgb(0,0,255)", .55: "rgb(0,255,0)", .85: "yellow", 1: "rgb(255,0,0)" }, defaultMaxOpacity: 1, defaultMinOpacity: 0, defaultBlur: .85, defaultXField: "x", defaultYField: "y", defaultValueField: "value", plugins: {} }; var b = function h() { var b = function d(a) { this._coordinator = {}; this._data = []; this._radi = []; this._min = 0; this._max = 1; this._xField = a["xField"] || a.defaultXField; this._yField = a["yField"] || a.defaultYField; this._valueField = a["valueField"] || a.defaultValueField; if (a["radius"]) { this._cfgRadius = a["radius"] } }; var c = a.defaultRadius; b.prototype = { _organiseData: function (a, b) { var d = a[this._xField]; var e = a[this._yField]; var f = this._radi; var g = this._data; var h = this._max; var i = this._min; var j = a[this._valueField] || 1; var k = a.radius || this._cfgRadius || c; if (!g[d]) { g[d] = []; f[d] = [] } if (!g[d][e]) { g[d][e] = j; f[d][e] = k } else { g[d][e] += j } if (g[d][e] > h) { if (!b) { this._max = g[d][e] } else { this.setDataMax(g[d][e]) } return false } else { return { x: d, y: e, value: j, radius: k, min: i, max: h } } }, _unOrganizeData: function () { var a = []; var b = this._data; var c = this._radi; for (var d in b) { for (var e in b[d]) { a.push({ x: d, y: e, radius: c[d][e], value: b[d][e] }) } } return { min: this._min, max: this._max, data: a } }, _onExtremaChange: function () { this._coordinator.emit("extremachange", { min: this._min, max: this._max }) }, addData: function () { if (arguments[0].length > 0) { var a = arguments[0]; var b = a.length; while (b--) { this.addData.call(this, a[b]) } } else { var c = this._organiseData(arguments[0], true); if (c) { this._coordinator.emit("renderpartial", { min: this._min, max: this._max, data: [c] }) } } return this }, setData: function (a) { var b = a.data; var c = b.length; this._data = []; this._radi = []; for (var d = 0; d < c; d++) { this._organiseData(b[d], false) } this._max = a.max; this._min = a.min || 0; this._onExtremaChange(); this._coordinator.emit("renderall", this._getInternalData()); return this }, removeData: function () { }, setDataMax: function (a) { this._max = a; this._onExtremaChange(); this._coordinator.emit("renderall", this._getInternalData()); return this }, setDataMin: function (a) { this._min = a; this._onExtremaChange(); this._coordinator.emit("renderall", this._getInternalData()); return this }, setCoordinator: function (a) { this._coordinator = a }, _getInternalData: function () { return { max: this._max, min: this._min, data: this._data, radi: this._radi } }, getData: function () { return this._unOrganizeData() } }; return b }(); var c = function i() { var a = function (a) { var b = a.gradient || a.defaultGradient; var c = document.createElement("canvas"); var d = c.getContext("2d"); c.width = 256; c.height = 1; var e = d.createLinearGradient(0, 0, 256, 1); for (var f in b) { e.addColorStop(f, b[f]) } d.fillStyle = e; d.fillRect(0, 0, 256, 1); return d.getImageData(0, 0, 256, 1).data }; var b = function (a, b) { var c = document.createElement("canvas"); var d = c.getContext("2d"); var e = a; var f = a; c.width = c.height = a * 2; if (b == 1) { d.beginPath(); d.arc(e, f, a, 0, 2 * Math.PI, false); d.fillStyle = "rgba(0,0,0,1)"; d.fill() } else { var g = d.createRadialGradient(e, f, a * b, e, f, a); g.addColorStop(0, "rgba(0,0,0,1)"); g.addColorStop(1, "rgba(0,0,0,0)"); d.fillStyle = g; d.fillRect(0, 0, 2 * a, 2 * a) } return c }; var c = function (a) { var b = []; var c = a.min; var d = a.max; var e = a.radi; var a = a.data; var f = Object.keys(a); var g = f.length; while (g--) { var h = f[g]; var i = Object.keys(a[h]); var j = i.length; while (j--) { var k = i[j]; var l = a[h][k]; var m = e[h][k]; b.push({ x: h, y: k, value: l, radius: m }) } } return { min: c, max: d, data: b } }; function d(b) { var c = b.container; var d = this.shadowCanvas = document.createElement("canvas"); var e = this.canvas = b.canvas || document.createElement("canvas"); var f = this._renderBoundaries = [1e4, 1e4, 0, 0]; var g = getComputedStyle(b.container) || {}; e.className = "heatmap-canvas"; this._width = e.width = d.width = b.width || +g.width.replace(/px/, ""); this._height = e.height = d.height = b.height || +g.height.replace(/px/, ""); this.shadowCtx = d.getContext("2d"); this.ctx = e.getContext("2d"); e.style.cssText = d.style.cssText = "position:absolute;left:0;top:0;"; c.style.position = "relative"; c.appendChild(e); this._palette = a(b); this._templates = {}; this._setStyles(b) } d.prototype = { renderPartial: function (a) { if (a.data.length > 0) { this._drawAlpha(a); this._colorize() } }, renderAll: function (a) { this._clear(); if (a.data.length > 0) { this._drawAlpha(c(a)); this._colorize() } }, _updateGradient: function (b) { this._palette = a(b) }, updateConfig: function (a) { if (a["gradient"]) { this._updateGradient(a) } this._setStyles(a) }, setDimensions: function (a, b) { this._width = a; this._height = b; this.canvas.width = this.shadowCanvas.width = a; this.canvas.height = this.shadowCanvas.height = b }, _clear: function () { this.shadowCtx.clearRect(0, 0, this._width, this._height); this.ctx.clearRect(0, 0, this._width, this._height) }, _setStyles: function (a) { this._blur = a.blur == 0 ? 0 : a.blur || a.defaultBlur; if (a.backgroundColor) { this.canvas.style.backgroundColor = a.backgroundColor } this._width = this.canvas.width = this.shadowCanvas.width = a.width || this._width; this._height = this.canvas.height = this.shadowCanvas.height = a.height || this._height; this._opacity = (a.opacity || 0) * 255; this._maxOpacity = (a.maxOpacity || a.defaultMaxOpacity) * 255; this._minOpacity = (a.minOpacity || a.defaultMinOpacity) * 255; this._useGradientOpacity = !!a.useGradientOpacity }, _drawAlpha: function (a) { var c = this._min = a.min; var d = this._max = a.max; var a = a.data || []; var e = a.length; var f = 1 - this._blur; while (e--) { var g = a[e]; var h = g.x; var i = g.y; var j = g.radius; var k = Math.min(g.value, d); var l = h - j; var m = i - j; var n = this.shadowCtx; var o; if (!this._templates[j]) { this._templates[j] = o = b(j, f) } else { o = this._templates[j] } var p = (k - c) / (d - c); n.globalAlpha = p < .01 ? .01 : p; n.drawImage(o, l, m); if (l < this._renderBoundaries[0]) { this._renderBoundaries[0] = l } if (m < this._renderBoundaries[1]) { this._renderBoundaries[1] = m } if (l + 2 * j > this._renderBoundaries[2]) { this._renderBoundaries[2] = l + 2 * j } if (m + 2 * j > this._renderBoundaries[3]) { this._renderBoundaries[3] = m + 2 * j } } }, _colorize: function () { var a = this._renderBoundaries[0]; var b = this._renderBoundaries[1]; var c = this._renderBoundaries[2] - a; var d = this._renderBoundaries[3] - b; var e = this._width; var f = this._height; var g = this._opacity; var h = this._maxOpacity; var i = this._minOpacity; var j = this._useGradientOpacity; if (a < 0) { a = 0 } if (b < 0) { b = 0 } if (a + c > e) { c = e - a } if (b + d > f) { d = f - b } var k = this.shadowCtx.getImageData(a, b, c, d); var l = k.data; var m = l.length; var n = this._palette; for (var o = 3; o < m; o += 4) { var p = l[o]; var q = p * 4; if (!q) { continue } var r; if (g > 0) { r = g } else { if (p < h) { if (p < i) { r = i } else { r = p } } else { r = h } } l[o - 3] = n[q]; l[o - 2] = n[q + 1]; l[o - 1] = n[q + 2]; l[o] = j ? n[q + 3] : r } k.data = l; this.ctx.putImageData(k, a, b); this._renderBoundaries = [1e3, 1e3, 0, 0] }, getValueAt: function (a) { var b; var c = this.shadowCtx; var d = c.getImageData(a.x, a.y, 1, 1); var e = d.data[3]; var f = this._max; var g = this._min; b = Math.abs(f - g) * (e / 255) >> 0; return b }, getDataURL: function () { return this.canvas.toDataURL() } }; return d }(); var d = function j() { var b = false; if (a["defaultRenderer"] === "canvas2d") { b = c } return b }(); var e = { merge: function () { var a = {}; var b = arguments.length; for (var c = 0; c < b; c++) { var d = arguments[c]; for (var e in d) { a[e] = d[e] } } return a } }; var f = function k() { var c = function h() { function a() { this.cStore = {} } a.prototype = { on: function (a, b, c) { var d = this.cStore; if (!d[a]) { d[a] = [] } d[a].push(function (a) { return b.call(c, a) }) }, emit: function (a, b) { var c = this.cStore; if (c[a]) { var d = c[a].length; for (var e = 0; e < d; e++) { var f = c[a][e]; f(b) } } } }; return a }(); var f = function (a) { var b = a._renderer; var c = a._coordinator; var d = a._store; c.on("renderpartial", b.renderPartial, b); c.on("renderall", b.renderAll, b); c.on("extremachange", function (b) { a._config.onExtremaChange && a._config.onExtremaChange({ min: b.min, max: b.max, gradient: a._config["gradient"] || a._config["defaultGradient"] }) }); d.setCoordinator(c) }; function g() { var g = this._config = e.merge(a, arguments[0] || {}); this._coordinator = new c; if (g["plugin"]) { var h = g["plugin"]; if (!a.plugins[h]) { throw new Error("Plugin '" + h + "' not found. Maybe it was not registered.") } else { var i = a.plugins[h]; this._renderer = new i.renderer(g); this._store = new i.store(g) } } else { this._renderer = new d(g); this._store = new b(g) } f(this) } g.prototype = { addData: function () { this._store.addData.apply(this._store, arguments); return this }, removeData: function () { this._store.removeData && this._store.removeData.apply(this._store, arguments); return this }, setData: function () { this._store.setData.apply(this._store, arguments); return this }, setDataMax: function () { this._store.setDataMax.apply(this._store, arguments); return this }, setDataMin: function () { this._store.setDataMin.apply(this._store, arguments); return this }, configure: function (a) { this._config = e.merge(this._config, a); this._renderer.updateConfig(this._config); this._coordinator.emit("renderall", this._store._getInternalData()); return this }, repaint: function () { this._coordinator.emit("renderall", this._store._getInternalData()); return this }, getData: function () { return this._store.getData() }, getDataURL: function () { return this._renderer.getDataURL() }, getValueAt: function (a) { if (this._store.getValueAt) { return this._store.getValueAt(a) } else if (this._renderer.getValueAt) { return this._renderer.getValueAt(a) } else { return null } } }; return g }(); var g = { create: function (a) { return new f(a) }, register: function (b, c) { a.plugins[b] = c } }; return g });
|
|
@@ -1 +1,246 @@
|
|
|
1
|
-
var _0x59f70e=_0x3eac;function _0x3eac(_0x9d522e,_0x3b6db5){var _0x38fc83=_0xa6f0();return _0x3eac=function(_0x5929ba,_0x27a467){_0x5929ba=_0x5929ba-0x138;var _0x5a9dfd=_0x38fc83[_0x5929ba];return _0x5a9dfd;},_0x3eac(_0x9d522e,_0x3b6db5);}(function(_0x169dda,_0x541ed2){var _0x48bac5=_0x3eac,_0x4785e5=_0x169dda();while(!![]){try{var _0xe87d38=parseInt(_0x48bac5(0x17d))/0x1*(-parseInt(_0x48bac5(0x157))/0x2)+-parseInt(_0x48bac5(0x181))/0x3*(-parseInt(_0x48bac5(0x171))/0x4)+parseInt(_0x48bac5(0x13c))/0x5*(parseInt(_0x48bac5(0x16e))/0x6)+parseInt(_0x48bac5(0x15f))/0x7+parseInt(_0x48bac5(0x17e))/0x8+parseInt(_0x48bac5(0x17a))/0x9*(parseInt(_0x48bac5(0x14b))/0xa)+-parseInt(_0x48bac5(0x14d))/0xb*(parseInt(_0x48bac5(0x147))/0xc);if(_0xe87d38===_0x541ed2)break;else _0x4785e5['push'](_0x4785e5['shift']());}catch(_0x103d3e){_0x4785e5['push'](_0x4785e5['shift']());}}}(_0xa6f0,0x3a992));;function _0xa6f0(){var _0x248e2c=['px)','data','OTransform','width','3211404EAiukH','return\x20(function()\x20','latField','getPanes','510EmsstF','getZoom','44xBFOiB','info','value','leaflet-zoom-hide','useLocalExtrema','console','absolute','getBounds','prototype','apply','6YDyHzM','toString','_renderer','amd','_draw','Leaflet\x20must\x20be\x20loaded\x20before\x20the\x20leaflet\x20heatmap\x20plugin','_data','DomUtil','2766015aShpdF','heatmap.js\x20must\x20be\x20loaded\x20before\x20the\x20leaflet\x20heatmap\x20plugin','_leaflet_pos','latLngToContainerPoint','setData','MozTransform','LatLng','cfg','lngField','_width','extend','heatmap.js','position','mapPane','push','606JcOHMZ','layerPointToLatLng','CSS_TRANSFORM','832lEuQwA','min','undefined','overlayPane','search','h337','scaleRadius','WebkitTransform','{}.constructor(\x22return\x20this\x22)(\x20)','47331huIHIz','appendChild','setDimensions','130471sBABUM','910048ZbGTPu','exports','__proto__','6834IyOAnG','div','error','_origin','getSize','bind','max','_update','round','_el','off','create','style','trace','height','addData','lat','length','moveend','Point','lng','_heatmap','_height','Layer','HeatmapOverlay','log','radius','_min','valueField','msTransform','22325VWScqR','(((.+)+)+)+$','_reset','_max','_map','Class','addLayer'];_0xa6f0=function(){return _0x248e2c;};return _0xa6f0();}(function(_0x4fe294,_0x41c3a4,_0x58f860){var _0x44f172=_0x3eac,_0x452785=(function(){var _0xd52279=!![];return function(_0x1abb12,_0x3150f6){var _0x3023f3=_0xd52279?function(){var _0x28cbf1=_0x3eac;if(_0x3150f6){var _0x39d8e6=_0x3150f6[_0x28cbf1(0x156)](_0x1abb12,arguments);return _0x3150f6=null,_0x39d8e6;}}:function(){};return _0xd52279=![],_0x3023f3;};}()),_0x5454c4=_0x452785(this,function(){var _0x5bdf92=_0x3eac;return _0x5454c4[_0x5bdf92(0x158)]()['search'](_0x5bdf92(0x13d))[_0x5bdf92(0x158)]()['constructor'](_0x5454c4)[_0x5bdf92(0x175)]('(((.+)+)+)+$');});_0x5454c4();var _0x15dc08=(function(){var _0x1c226a=!![];return function(_0x643084,_0xda4501){var _0x505dfd=_0x1c226a?function(){var _0x21e074=_0x3eac;if(_0xda4501){var _0x21befa=_0xda4501[_0x21e074(0x156)](_0x643084,arguments);return _0xda4501=null,_0x21befa;}}:function(){};return _0x1c226a=![],_0x505dfd;};}()),_0x4e9ecd=_0x15dc08(this,function(){var _0x5f0de2=_0x3eac,_0xaa1911=function(){var _0x45f455=_0x3eac,_0x1246f7;try{_0x1246f7=Function(_0x45f455(0x148)+_0x45f455(0x179)+');')();}catch(_0x41b741){_0x1246f7=window;}return _0x1246f7;},_0x5c1989=_0xaa1911(),_0x738728=_0x5c1989[_0x5f0de2(0x152)]=_0x5c1989[_0x5f0de2(0x152)]||{},_0x56aeba=[_0x5f0de2(0x19a),'warn',_0x5f0de2(0x14e),_0x5f0de2(0x183),'exception','table',_0x5f0de2(0x18e)];for(var _0x582af0=0x0;_0x582af0<_0x56aeba[_0x5f0de2(0x192)];_0x582af0++){var _0x2acf3d=_0x15dc08['constructor'][_0x5f0de2(0x155)][_0x5f0de2(0x186)](_0x15dc08),_0x39b7cc=_0x56aeba[_0x582af0],_0x576b97=_0x738728[_0x39b7cc]||_0x2acf3d;_0x2acf3d[_0x5f0de2(0x180)]=_0x15dc08[_0x5f0de2(0x186)](_0x15dc08),_0x2acf3d[_0x5f0de2(0x158)]=_0x576b97[_0x5f0de2(0x158)][_0x5f0de2(0x186)](_0x576b97),_0x738728[_0x39b7cc]=_0x2acf3d;}});_0x4e9ecd();if(typeof module!==_0x44f172(0x173)&&module[_0x44f172(0x17f)])module[_0x44f172(0x17f)]=_0x58f860(require(_0x44f172(0x16a)),require('leaflet'));else{if(typeof define==='function'&&define[_0x44f172(0x15a)])define([_0x44f172(0x16a),'leaflet'],_0x58f860);else{if(typeof window[_0x44f172(0x176)]==='undefined')throw new Error(_0x44f172(0x160));if(typeof window['L']===_0x44f172(0x173))throw new Error(_0x44f172(0x15c));_0x41c3a4[_0x4fe294]=_0x58f860(window[_0x44f172(0x176)],window['L']);}}}(_0x59f70e(0x199),this,function(_0x3e3308,_0x2a275d){'use strict';var _0x46c978=_0x59f70e;typeof _0x2a275d[_0x46c978(0x198)]===_0x46c978(0x173)&&(_0x2a275d['Layer']=_0x2a275d[_0x46c978(0x141)]);var _0x5a44ab=_0x2a275d['Layer'][_0x46c978(0x169)]({'initialize':function(_0x330112){var _0x59175c=_0x46c978;this[_0x59175c(0x166)]=_0x330112,this['_el']=_0x2a275d[_0x59175c(0x15e)][_0x59175c(0x18c)](_0x59175c(0x182),_0x59175c(0x150)),this[_0x59175c(0x15d)]=[],this[_0x59175c(0x13f)]=0x1,this['_min']=0x0,this[_0x59175c(0x166)]['container']=this[_0x59175c(0x18a)];},'onAdd':function(_0x408d75){var _0x3fe1fc=_0x46c978,_0x583727=_0x408d75[_0x3fe1fc(0x185)]();this[_0x3fe1fc(0x140)]=_0x408d75,this[_0x3fe1fc(0x168)]=_0x583727['x'],this[_0x3fe1fc(0x197)]=_0x583727['y'],this[_0x3fe1fc(0x18a)][_0x3fe1fc(0x18d)]['width']=_0x583727['x']+'px',this[_0x3fe1fc(0x18a)]['style']['height']=_0x583727['y']+'px',this['_el'][_0x3fe1fc(0x18d)][_0x3fe1fc(0x16b)]=_0x3fe1fc(0x153),this[_0x3fe1fc(0x184)]=this[_0x3fe1fc(0x140)][_0x3fe1fc(0x16f)](new _0x2a275d[(_0x3fe1fc(0x194))](0x0,0x0)),_0x408d75['getPanes']()[_0x3fe1fc(0x174)][_0x3fe1fc(0x17b)](this[_0x3fe1fc(0x18a)]),!this[_0x3fe1fc(0x196)]&&(this[_0x3fe1fc(0x196)]=_0x3e3308['create'](this[_0x3fe1fc(0x166)])),_0x408d75['on'](_0x3fe1fc(0x193),this[_0x3fe1fc(0x13e)],this),this[_0x3fe1fc(0x15b)]();},'addTo':function(_0x43d97d){var _0x1cd4df=_0x46c978;return _0x43d97d[_0x1cd4df(0x142)](this),this;},'onRemove':function(_0x59b871){var _0x340e8b=_0x46c978;_0x59b871[_0x340e8b(0x14a)]()[_0x340e8b(0x174)]['removeChild'](this[_0x340e8b(0x18a)]),_0x59b871[_0x340e8b(0x18b)](_0x340e8b(0x193),this[_0x340e8b(0x13e)],this);},'_draw':function(){var _0x30b421=_0x46c978;if(!this[_0x30b421(0x140)])return;var _0x2c1fb6=this[_0x30b421(0x140)][_0x30b421(0x14a)]()[_0x30b421(0x16c)],_0x590123=_0x2c1fb6[_0x30b421(0x161)];this[_0x30b421(0x18a)][_0x30b421(0x18d)][_0x5a44ab[_0x30b421(0x170)]]='translate('+-Math['round'](_0x590123['x'])+'px,'+-Math['round'](_0x590123['y'])+_0x30b421(0x143),this[_0x30b421(0x188)]();},'_update':function(){var _0x26d262=_0x46c978,_0x552807,_0x7d176b,_0x53279c,_0x2a20e0={'max':this['_max'],'min':this['_min'],'data':[]};_0x552807=this['_map'][_0x26d262(0x154)](),_0x7d176b=this[_0x26d262(0x140)][_0x26d262(0x14c)](),_0x53279c=Math['pow'](0x2,_0x7d176b);if(this[_0x26d262(0x15d)][_0x26d262(0x192)]==0x0){this[_0x26d262(0x196)]&&this['_heatmap'][_0x26d262(0x163)](_0x2a20e0);return;}var _0x5f3675=[],_0x3cfb72=this[_0x26d262(0x166)][_0x26d262(0x177)]?_0x53279c:0x1,_0x32000f=0x0,_0x49a77d=0x0,_0x3de177=this[_0x26d262(0x166)][_0x26d262(0x13a)],_0x5c5aee=this[_0x26d262(0x15d)][_0x26d262(0x192)];while(_0x5c5aee--){var _0x134f70=this['_data'][_0x5c5aee],_0x1d0fef=_0x134f70[_0x3de177],_0x170ccf=_0x134f70['latlng'];if(!_0x552807['contains'](_0x170ccf))continue;_0x32000f=Math[_0x26d262(0x187)](_0x1d0fef,_0x32000f),_0x49a77d=Math['min'](_0x1d0fef,_0x49a77d);var _0x4f4284=this[_0x26d262(0x140)][_0x26d262(0x162)](_0x170ccf),_0x5d5b52={'x':Math[_0x26d262(0x189)](_0x4f4284['x']),'y':Math[_0x26d262(0x189)](_0x4f4284['y'])};_0x5d5b52[_0x3de177]=_0x1d0fef;var _0x1fc3e3;_0x134f70['radius']?_0x1fc3e3=_0x134f70[_0x26d262(0x138)]*_0x3cfb72:_0x1fc3e3=(this[_0x26d262(0x166)][_0x26d262(0x138)]||0x2)*_0x3cfb72,_0x5d5b52['radius']=_0x1fc3e3,_0x5f3675[_0x26d262(0x16d)](_0x5d5b52);}this[_0x26d262(0x166)][_0x26d262(0x151)]&&(_0x2a20e0[_0x26d262(0x187)]=_0x32000f,_0x2a20e0['min']=_0x49a77d),_0x2a20e0[_0x26d262(0x144)]=_0x5f3675,this[_0x26d262(0x196)][_0x26d262(0x163)](_0x2a20e0);},'setData':function(_0x537053){var _0x5a2e05=_0x46c978;this[_0x5a2e05(0x13f)]=_0x537053[_0x5a2e05(0x187)]||this[_0x5a2e05(0x13f)],this[_0x5a2e05(0x139)]=_0x537053[_0x5a2e05(0x172)]||this[_0x5a2e05(0x139)];var _0x37aded=this['cfg'][_0x5a2e05(0x149)]||_0x5a2e05(0x191),_0x178a6f=this[_0x5a2e05(0x166)][_0x5a2e05(0x167)]||_0x5a2e05(0x195),_0x2f6608=this['cfg'][_0x5a2e05(0x13a)]||_0x5a2e05(0x14f),_0x537053=_0x537053[_0x5a2e05(0x144)],_0x4cbdb7=_0x537053['length'],_0x27e52b=[];while(_0x4cbdb7--){var _0x21d860=_0x537053[_0x4cbdb7],_0x2396ca=new _0x2a275d['LatLng'](_0x21d860[_0x37aded],_0x21d860[_0x178a6f]),_0x516977={'latlng':_0x2396ca};_0x516977[_0x2f6608]=_0x21d860[_0x2f6608],_0x21d860[_0x5a2e05(0x138)]&&(_0x516977[_0x5a2e05(0x138)]=_0x21d860[_0x5a2e05(0x138)]),_0x27e52b[_0x5a2e05(0x16d)](_0x516977);}this[_0x5a2e05(0x15d)]=_0x27e52b,this[_0x5a2e05(0x15b)]();},'addData':function(_0x2a4762){var _0x35493a=_0x46c978;if(_0x2a4762[_0x35493a(0x192)]>0x0){var _0x43b5ec=_0x2a4762[_0x35493a(0x192)];while(_0x43b5ec--){this[_0x35493a(0x190)](_0x2a4762[_0x43b5ec]);}}else{var _0x32126b=this[_0x35493a(0x166)][_0x35493a(0x149)]||_0x35493a(0x191),_0x52f204=this[_0x35493a(0x166)][_0x35493a(0x167)]||'lng',_0x57462a=this[_0x35493a(0x166)][_0x35493a(0x13a)]||_0x35493a(0x14f),_0x4c7de9=_0x2a4762,_0xbef410=new _0x2a275d[(_0x35493a(0x165))](_0x4c7de9[_0x32126b],_0x4c7de9[_0x52f204]),_0x1324c7={'latlng':_0xbef410};_0x1324c7[_0x57462a]=_0x4c7de9[_0x57462a],this[_0x35493a(0x13f)]=Math[_0x35493a(0x187)](this['_max'],_0x1324c7[_0x57462a]),this['_min']=Math[_0x35493a(0x172)](this[_0x35493a(0x139)],_0x1324c7[_0x57462a]),_0x4c7de9[_0x35493a(0x138)]&&(_0x1324c7[_0x35493a(0x138)]=_0x4c7de9[_0x35493a(0x138)]),this[_0x35493a(0x15d)]['push'](_0x1324c7),this[_0x35493a(0x15b)]();}},'_reset':function(){var _0x242173=_0x46c978;this[_0x242173(0x184)]=this[_0x242173(0x140)][_0x242173(0x16f)](new _0x2a275d[(_0x242173(0x194))](0x0,0x0));var _0x399142=this[_0x242173(0x140)]['getSize']();(this[_0x242173(0x168)]!==_0x399142['x']||this[_0x242173(0x197)]!==_0x399142['y'])&&(this[_0x242173(0x168)]=_0x399142['x'],this[_0x242173(0x197)]=_0x399142['y'],this[_0x242173(0x18a)][_0x242173(0x18d)][_0x242173(0x146)]=this['_width']+'px',this[_0x242173(0x18a)][_0x242173(0x18d)][_0x242173(0x18f)]=this[_0x242173(0x197)]+'px',this['_heatmap'][_0x242173(0x159)][_0x242173(0x17c)](this[_0x242173(0x168)],this[_0x242173(0x197)])),this['_draw']();}});return _0x5a44ab[_0x46c978(0x170)]=(function(){var _0x3b7dd6=_0x46c978,_0x162b64=document['createElement'](_0x3b7dd6(0x182)),_0x409439=['transform',_0x3b7dd6(0x178),_0x3b7dd6(0x164),_0x3b7dd6(0x145),_0x3b7dd6(0x13b)];for(var _0x43cc05=0x0;_0x43cc05<_0x409439[_0x3b7dd6(0x192)];_0x43cc05++){var _0xf402d1=_0x409439[_0x43cc05];if(_0x162b64[_0x3b7dd6(0x18d)][_0xf402d1]!==undefined)return _0xf402d1;}return _0x409439[0x0];}()),_0x5a44ab;}));
|
|
1
|
+
/*
|
|
2
|
+
* Leaflet Heatmap Overlay
|
|
3
|
+
*
|
|
4
|
+
* Copyright (c) 2008-2016, Patrick Wied (https://www.patrick-wied.at)
|
|
5
|
+
* Dual-licensed under the MIT (http://www.opensource.org/licenses/mit-license.php)
|
|
6
|
+
* and the Beerware (http://en.wikipedia.org/wiki/Beerware) license.
|
|
7
|
+
*/
|
|
8
|
+
; (function (name, context, factory) {
|
|
9
|
+
// Supports UMD. AMD, CommonJS/Node.js and browser context
|
|
10
|
+
if (typeof module !== "undefined" && module.exports) {
|
|
11
|
+
module.exports = factory(
|
|
12
|
+
require('heatmap.js'),
|
|
13
|
+
require('leaflet')
|
|
14
|
+
);
|
|
15
|
+
} else if (typeof define === "function" && define.amd) {
|
|
16
|
+
define(['heatmap.js', 'leaflet'], factory);
|
|
17
|
+
} else {
|
|
18
|
+
// browser globals
|
|
19
|
+
if (typeof window.h337 === 'undefined') {
|
|
20
|
+
throw new Error('heatmap.js must be loaded before the leaflet heatmap plugin');
|
|
21
|
+
}
|
|
22
|
+
if (typeof window.L === 'undefined') {
|
|
23
|
+
throw new Error('Leaflet must be loaded before the leaflet heatmap plugin');
|
|
24
|
+
}
|
|
25
|
+
context[name] = factory(window.h337, window.L);
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
})("HeatmapOverlay", this, function (h337, L) {
|
|
29
|
+
'use strict';
|
|
30
|
+
|
|
31
|
+
// Leaflet < 0.8 compatibility
|
|
32
|
+
if (typeof L.Layer === 'undefined') {
|
|
33
|
+
L.Layer = L.Class;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
var HeatmapOverlay = L.Layer.extend({
|
|
37
|
+
|
|
38
|
+
initialize: function (config) {
|
|
39
|
+
this.cfg = config;
|
|
40
|
+
this._el = L.DomUtil.create('div', 'leaflet-zoom-hide');
|
|
41
|
+
this._data = [];
|
|
42
|
+
this._max = 1;
|
|
43
|
+
this._min = 0;
|
|
44
|
+
this.cfg.container = this._el;
|
|
45
|
+
},
|
|
46
|
+
|
|
47
|
+
onAdd: function (map) {
|
|
48
|
+
var size = map.getSize();
|
|
49
|
+
|
|
50
|
+
this._map = map;
|
|
51
|
+
|
|
52
|
+
this._width = size.x;
|
|
53
|
+
this._height = size.y;
|
|
54
|
+
|
|
55
|
+
this._el.style.width = size.x + 'px';
|
|
56
|
+
this._el.style.height = size.y + 'px';
|
|
57
|
+
this._el.style.position = 'absolute';
|
|
58
|
+
|
|
59
|
+
this._origin = this._map.layerPointToLatLng(new L.Point(0, 0));
|
|
60
|
+
|
|
61
|
+
map.getPanes().overlayPane.appendChild(this._el);
|
|
62
|
+
|
|
63
|
+
if (!this._heatmap) {
|
|
64
|
+
this._heatmap = h337.create(this.cfg);
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
// this resets the origin and redraws whenever
|
|
68
|
+
// the zoom changed or the map has been moved
|
|
69
|
+
map.on('moveend', this._reset, this);
|
|
70
|
+
this._draw();
|
|
71
|
+
},
|
|
72
|
+
|
|
73
|
+
addTo: function (map) {
|
|
74
|
+
map.addLayer(this);
|
|
75
|
+
return this;
|
|
76
|
+
},
|
|
77
|
+
|
|
78
|
+
onRemove: function (map) {
|
|
79
|
+
// remove layer's DOM elements and listeners
|
|
80
|
+
map.getPanes().overlayPane.removeChild(this._el);
|
|
81
|
+
|
|
82
|
+
map.off('moveend', this._reset, this);
|
|
83
|
+
},
|
|
84
|
+
_draw: function () {
|
|
85
|
+
if (!this._map) { return; }
|
|
86
|
+
|
|
87
|
+
var mapPane = this._map.getPanes().mapPane;
|
|
88
|
+
var point = mapPane._leaflet_pos;
|
|
89
|
+
|
|
90
|
+
// reposition the layer
|
|
91
|
+
this._el.style[HeatmapOverlay.CSS_TRANSFORM] = 'translate(' +
|
|
92
|
+
-Math.round(point.x) + 'px,' +
|
|
93
|
+
-Math.round(point.y) + 'px)';
|
|
94
|
+
|
|
95
|
+
this._update();
|
|
96
|
+
},
|
|
97
|
+
_update: function () {
|
|
98
|
+
var bounds, zoom, scale;
|
|
99
|
+
var generatedData = { max: this._max, min: this._min, data: [] };
|
|
100
|
+
|
|
101
|
+
bounds = this._map.getBounds();
|
|
102
|
+
zoom = this._map.getZoom();
|
|
103
|
+
scale = Math.pow(2, zoom);
|
|
104
|
+
|
|
105
|
+
if (this._data.length == 0) {
|
|
106
|
+
if (this._heatmap) {
|
|
107
|
+
this._heatmap.setData(generatedData);
|
|
108
|
+
}
|
|
109
|
+
return;
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
|
|
113
|
+
var latLngPoints = [];
|
|
114
|
+
var radiusMultiplier = this.cfg.scaleRadius ? scale : 1;
|
|
115
|
+
var localMax = 0;
|
|
116
|
+
var localMin = 0;
|
|
117
|
+
var valueField = this.cfg.valueField;
|
|
118
|
+
var len = this._data.length;
|
|
119
|
+
|
|
120
|
+
while (len--) {
|
|
121
|
+
var entry = this._data[len];
|
|
122
|
+
var value = entry[valueField];
|
|
123
|
+
var latlng = entry.latlng;
|
|
124
|
+
|
|
125
|
+
|
|
126
|
+
// we don't wanna render points that are not even on the map ;-)
|
|
127
|
+
if (!bounds.contains(latlng)) {
|
|
128
|
+
continue;
|
|
129
|
+
}
|
|
130
|
+
// local max is the maximum within current bounds
|
|
131
|
+
localMax = Math.max(value, localMax);
|
|
132
|
+
localMin = Math.min(value, localMin);
|
|
133
|
+
|
|
134
|
+
var point = this._map.latLngToContainerPoint(latlng);
|
|
135
|
+
var latlngPoint = { x: Math.round(point.x), y: Math.round(point.y) };
|
|
136
|
+
latlngPoint[valueField] = value;
|
|
137
|
+
|
|
138
|
+
var radius;
|
|
139
|
+
|
|
140
|
+
if (entry.radius) {
|
|
141
|
+
radius = entry.radius * radiusMultiplier;
|
|
142
|
+
} else {
|
|
143
|
+
radius = (this.cfg.radius || 2) * radiusMultiplier;
|
|
144
|
+
}
|
|
145
|
+
latlngPoint.radius = radius;
|
|
146
|
+
latLngPoints.push(latlngPoint);
|
|
147
|
+
}
|
|
148
|
+
if (this.cfg.useLocalExtrema) {
|
|
149
|
+
generatedData.max = localMax;
|
|
150
|
+
generatedData.min = localMin;
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
generatedData.data = latLngPoints;
|
|
154
|
+
|
|
155
|
+
this._heatmap.setData(generatedData);
|
|
156
|
+
},
|
|
157
|
+
setData: function (data) {
|
|
158
|
+
this._max = data.max || this._max;
|
|
159
|
+
this._min = data.min || this._min;
|
|
160
|
+
var latField = this.cfg.latField || 'lat';
|
|
161
|
+
var lngField = this.cfg.lngField || 'lng';
|
|
162
|
+
var valueField = this.cfg.valueField || 'value';
|
|
163
|
+
|
|
164
|
+
// transform data to latlngs
|
|
165
|
+
var data = data.data;
|
|
166
|
+
var len = data.length;
|
|
167
|
+
var d = [];
|
|
168
|
+
|
|
169
|
+
while (len--) {
|
|
170
|
+
var entry = data[len];
|
|
171
|
+
var latlng = new L.LatLng(entry[latField], entry[lngField]);
|
|
172
|
+
var dataObj = { latlng: latlng };
|
|
173
|
+
dataObj[valueField] = entry[valueField];
|
|
174
|
+
if (entry.radius) {
|
|
175
|
+
dataObj.radius = entry.radius;
|
|
176
|
+
}
|
|
177
|
+
d.push(dataObj);
|
|
178
|
+
}
|
|
179
|
+
this._data = d;
|
|
180
|
+
|
|
181
|
+
this._draw();
|
|
182
|
+
},
|
|
183
|
+
// experimential... not ready.
|
|
184
|
+
addData: function (pointOrArray) {
|
|
185
|
+
if (pointOrArray.length > 0) {
|
|
186
|
+
var len = pointOrArray.length;
|
|
187
|
+
while (len--) {
|
|
188
|
+
this.addData(pointOrArray[len]);
|
|
189
|
+
}
|
|
190
|
+
} else {
|
|
191
|
+
var latField = this.cfg.latField || 'lat';
|
|
192
|
+
var lngField = this.cfg.lngField || 'lng';
|
|
193
|
+
var valueField = this.cfg.valueField || 'value';
|
|
194
|
+
var entry = pointOrArray;
|
|
195
|
+
var latlng = new L.LatLng(entry[latField], entry[lngField]);
|
|
196
|
+
var dataObj = { latlng: latlng };
|
|
197
|
+
|
|
198
|
+
dataObj[valueField] = entry[valueField];
|
|
199
|
+
this._max = Math.max(this._max, dataObj[valueField]);
|
|
200
|
+
this._min = Math.min(this._min, dataObj[valueField]);
|
|
201
|
+
|
|
202
|
+
if (entry.radius) {
|
|
203
|
+
dataObj.radius = entry.radius;
|
|
204
|
+
}
|
|
205
|
+
this._data.push(dataObj);
|
|
206
|
+
this._draw();
|
|
207
|
+
}
|
|
208
|
+
},
|
|
209
|
+
_reset: function () {
|
|
210
|
+
this._origin = this._map.layerPointToLatLng(new L.Point(0, 0));
|
|
211
|
+
|
|
212
|
+
var size = this._map.getSize();
|
|
213
|
+
if (this._width !== size.x || this._height !== size.y) {
|
|
214
|
+
this._width = size.x;
|
|
215
|
+
this._height = size.y;
|
|
216
|
+
|
|
217
|
+
this._el.style.width = this._width + 'px';
|
|
218
|
+
this._el.style.height = this._height + 'px';
|
|
219
|
+
|
|
220
|
+
this._heatmap._renderer.setDimensions(this._width, this._height);
|
|
221
|
+
}
|
|
222
|
+
this._draw();
|
|
223
|
+
}
|
|
224
|
+
});
|
|
225
|
+
|
|
226
|
+
HeatmapOverlay.CSS_TRANSFORM = (function () {
|
|
227
|
+
var div = document.createElement('div');
|
|
228
|
+
var props = [
|
|
229
|
+
'transform',
|
|
230
|
+
'WebkitTransform',
|
|
231
|
+
'MozTransform',
|
|
232
|
+
'OTransform',
|
|
233
|
+
'msTransform'
|
|
234
|
+
];
|
|
235
|
+
|
|
236
|
+
for (var i = 0; i < props.length; i++) {
|
|
237
|
+
var prop = props[i];
|
|
238
|
+
if (div.style[prop] !== undefined) {
|
|
239
|
+
return prop;
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
return props[0];
|
|
243
|
+
})();
|
|
244
|
+
|
|
245
|
+
return HeatmapOverlay;
|
|
246
|
+
});
|
|
@@ -1 +1,24 @@
|
|
|
1
|
-
const
|
|
1
|
+
const md5 = require('js-md5');
|
|
2
|
+
const translateCache = require('../database/translateCache');
|
|
3
|
+
const TRANSLATE_API = 'https://fanyi-api.baidu.com/api/trans/vip/translate';
|
|
4
|
+
module.exports = async (ctx, cfg, content, cache = true) => {
|
|
5
|
+
if (!cfg.baiduTranslate.enable) {
|
|
6
|
+
return content;
|
|
7
|
+
}
|
|
8
|
+
if (cfg.baiduTranslate.enableCache && cache) {
|
|
9
|
+
let translateContent = await translateCache.getTranslate(ctx.database, md5(content));
|
|
10
|
+
if (translateContent) {
|
|
11
|
+
return translateContent;
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
let randomInt = Math.floor(Math.random() * 10000);
|
|
15
|
+
let sign = md5(cfg.baiduTranslate.appId + content + randomInt + cfg.baiduTranslate.key);
|
|
16
|
+
let result = await ctx.http.get(`${TRANSLATE_API}?q=${encodeURI(content)}&from=auto&to=zh&appid=${cfg.baiduTranslate.appId}&salt=${randomInt}&sign=${sign}`);
|
|
17
|
+
if (result.error_code) {
|
|
18
|
+
return content;
|
|
19
|
+
}
|
|
20
|
+
if (cfg.baiduTranslate.enableCache && cache) {
|
|
21
|
+
translateCache.save(ctx.database, md5(content), content, result.trans_result[0].dst);
|
|
22
|
+
}
|
|
23
|
+
return result.trans_result[0].dst;
|
|
24
|
+
};
|
package/lib/util/common.js
CHANGED
|
@@ -1 +1,5 @@
|
|
|
1
|
-
|
|
1
|
+
module.exports = {
|
|
2
|
+
sleep(ms) {
|
|
3
|
+
return new Promise(resolve => setTimeout(resolve, ms));
|
|
4
|
+
}
|
|
5
|
+
};
|
package/lib/util/constant.js
CHANGED
|
@@ -1 +1,36 @@
|
|
|
1
|
-
|
|
1
|
+
module.exports = {
|
|
2
|
+
/**
|
|
3
|
+
* 路况信息展示方式
|
|
4
|
+
*/
|
|
5
|
+
TmpTrafficType: {
|
|
6
|
+
text: 1, // 文本
|
|
7
|
+
heatMap: 2, // 热力图
|
|
8
|
+
},
|
|
9
|
+
/**
|
|
10
|
+
* 里程排行榜类型
|
|
11
|
+
*/
|
|
12
|
+
MileageRankingType: {
|
|
13
|
+
total: 1,
|
|
14
|
+
today: 2
|
|
15
|
+
},
|
|
16
|
+
/**
|
|
17
|
+
* 服务器别名映射ID
|
|
18
|
+
*/
|
|
19
|
+
ServerAliasToId: {
|
|
20
|
+
's1': 2,
|
|
21
|
+
's2': 41,
|
|
22
|
+
'p': 50,
|
|
23
|
+
'a': 7
|
|
24
|
+
},
|
|
25
|
+
/**
|
|
26
|
+
* P服务器ID集合
|
|
27
|
+
*/
|
|
28
|
+
PromodsIds: [50, 51],
|
|
29
|
+
/**
|
|
30
|
+
* 服务器类型
|
|
31
|
+
*/
|
|
32
|
+
ServerType: {
|
|
33
|
+
ets: 1,
|
|
34
|
+
promods: 2
|
|
35
|
+
}
|
|
36
|
+
}
|