rails_charts 0.0.5 → 0.0.7
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.
- checksums.yaml +4 -4
- data/README.md +19 -3
- data/app/assets/javascripts/echarts/extension/bmap.js +36 -81
- data/app/assets/javascripts/echarts/extension/bmap.js.map +1 -1
- data/app/assets/javascripts/echarts/extension/dataTool.js +14 -48
- data/app/assets/javascripts/echarts/extension/dataTool.js.map +1 -1
- data/app/assets/javascripts/echarts/i18n/langAR-obj.js +178 -0
- data/app/assets/javascripts/echarts/i18n/langAR.js +174 -0
- data/app/assets/javascripts/echarts/i18n/langCS-obj.js +4 -1
- data/app/assets/javascripts/echarts/i18n/langCS.js +4 -1
- data/app/assets/javascripts/echarts/i18n/langDE-obj.js +5 -2
- data/app/assets/javascripts/echarts/i18n/langDE.js +5 -2
- data/app/assets/javascripts/echarts/i18n/langEN-obj.js +3 -1
- data/app/assets/javascripts/echarts/i18n/langEN.js +3 -1
- data/app/assets/javascripts/echarts/i18n/langES-obj.js +60 -0
- data/app/assets/javascripts/echarts/i18n/langES.js +60 -0
- data/app/assets/javascripts/echarts/i18n/langFA-obj.js +175 -0
- data/app/assets/javascripts/echarts/i18n/langFA.js +171 -0
- data/app/assets/javascripts/echarts/i18n/langFI-obj.js +60 -0
- data/app/assets/javascripts/echarts/i18n/langFI.js +60 -0
- data/app/assets/javascripts/echarts/i18n/langFR-obj.js +3 -1
- data/app/assets/javascripts/echarts/i18n/langFR.js +3 -1
- data/app/assets/javascripts/echarts/i18n/langHU-obj.js +175 -0
- data/app/assets/javascripts/echarts/i18n/langHU.js +171 -0
- data/app/assets/javascripts/echarts/i18n/langIT-obj.js +3 -1
- data/app/assets/javascripts/echarts/i18n/langIT.js +3 -1
- data/app/assets/javascripts/echarts/i18n/langJA-obj.js +3 -1
- data/app/assets/javascripts/echarts/i18n/langJA.js +3 -1
- data/app/assets/javascripts/echarts/i18n/langKO-obj.js +3 -1
- data/app/assets/javascripts/echarts/i18n/langKO.js +3 -1
- data/app/assets/javascripts/echarts/i18n/langNL-obj.js +175 -0
- data/app/assets/javascripts/echarts/i18n/langNL.js +171 -0
- data/app/assets/javascripts/echarts/i18n/langPL-obj.js +3 -1
- data/app/assets/javascripts/echarts/i18n/langPL.js +3 -1
- data/app/assets/javascripts/echarts/i18n/langPT-br-obj.js +14 -12
- data/app/assets/javascripts/echarts/i18n/langPT-br.js +14 -12
- data/app/assets/javascripts/echarts/i18n/langRO-obj.js +3 -1
- data/app/assets/javascripts/echarts/i18n/langRO.js +3 -1
- data/app/assets/javascripts/echarts/i18n/langRU-obj.js +3 -1
- data/app/assets/javascripts/echarts/i18n/langRU.js +3 -1
- data/app/assets/javascripts/echarts/i18n/langSI-obj.js +4 -1
- data/app/assets/javascripts/echarts/i18n/langSI.js +4 -1
- data/app/assets/javascripts/echarts/i18n/langSV-obj.js +174 -0
- data/app/assets/javascripts/echarts/i18n/langSV.js +170 -0
- data/app/assets/javascripts/echarts/i18n/langTH-obj.js +60 -0
- data/app/assets/javascripts/echarts/i18n/langTH.js +60 -0
- data/app/assets/javascripts/echarts/i18n/langTR-obj.js +175 -0
- data/app/assets/javascripts/echarts/i18n/langTR.js +171 -0
- data/app/assets/javascripts/echarts/i18n/{langUA-obj.js → langUK-obj.js} +3 -1
- data/app/assets/javascripts/echarts/i18n/{langUA.js → langUK.js} +4 -2
- data/app/assets/javascripts/echarts/i18n/langVI-obj.js +200 -0
- data/app/assets/javascripts/echarts/i18n/langVI.js +196 -0
- data/app/assets/javascripts/echarts/i18n/langZH-obj.js +4 -1
- data/app/assets/javascripts/echarts/i18n/langZH.js +4 -1
- data/app/assets/javascripts/echarts/i18n/package.json +3 -0
- data/app/assets/javascripts/echarts/theme/azul.js +1 -1
- data/app/assets/javascripts/echarts/theme/bee-inspired.js +1 -1
- data/app/assets/javascripts/echarts/theme/blue.js +1 -1
- data/app/assets/javascripts/echarts/theme/caravan.js +1 -1
- data/app/assets/javascripts/echarts/theme/carp.js +1 -1
- data/app/assets/javascripts/echarts/theme/cool.js +1 -1
- data/app/assets/javascripts/echarts/theme/dark-blue.js +1 -1
- data/app/assets/javascripts/echarts/theme/dark-bold.js +1 -1
- data/app/assets/javascripts/echarts/theme/dark-digerati.js +1 -1
- data/app/assets/javascripts/echarts/theme/dark-fresh-cut.js +1 -1
- data/app/assets/javascripts/echarts/theme/dark-mushroom.js +1 -1
- data/app/assets/javascripts/echarts/theme/dark.js +1 -1
- data/app/assets/javascripts/echarts/theme/eduardo.js +1 -1
- data/app/assets/javascripts/echarts/theme/forest.js +1 -1
- data/app/assets/javascripts/echarts/theme/fresh-cut.js +1 -1
- data/app/assets/javascripts/echarts/theme/fruit.js +1 -1
- data/app/assets/javascripts/echarts/theme/gray.js +1 -1
- data/app/assets/javascripts/echarts/theme/green.js +1 -1
- data/app/assets/javascripts/echarts/theme/helianthus.js +1 -1
- data/app/assets/javascripts/echarts/theme/infographic.js +6 -6
- data/app/assets/javascripts/echarts/theme/inspired.js +1 -1
- data/app/assets/javascripts/echarts/theme/jazz.js +1 -1
- data/app/assets/javascripts/echarts/theme/london.js +1 -1
- data/app/assets/javascripts/echarts/theme/macarons.js +6 -4
- data/app/assets/javascripts/echarts/theme/macarons2.js +59 -62
- data/app/assets/javascripts/echarts/theme/mint.js +1 -1
- data/app/assets/javascripts/echarts/theme/package.json +3 -0
- data/app/assets/javascripts/echarts/theme/red-velvet.js +1 -1
- data/app/assets/javascripts/echarts/theme/red.js +1 -1
- data/app/assets/javascripts/echarts/theme/roma.js +1 -1
- data/app/assets/javascripts/echarts/theme/royal.js +1 -1
- data/app/assets/javascripts/echarts/theme/sakura.js +1 -1
- data/app/assets/javascripts/echarts/theme/shine.js +2 -4
- data/app/assets/javascripts/echarts/theme/tech-blue.js +7 -3
- data/app/assets/javascripts/echarts/theme/tool/option/area.js +88 -0
- data/app/assets/javascripts/echarts/theme/tool/option/bar.js +107 -0
- data/app/assets/javascripts/echarts/theme/tool/option/graph.js +2824 -0
- data/app/assets/javascripts/echarts/theme/tool/option/map.js +141 -0
- data/app/assets/javascripts/echarts/theme/tool/option/pie.js +87 -0
- data/app/assets/javascripts/echarts/theme/tool/option/scatter.js +201 -0
- data/app/assets/javascripts/echarts/theme/tool/thumb.html +65 -0
- data/app/assets/javascripts/echarts/theme/tool/thumb.js +63 -0
- data/app/assets/javascripts/echarts/theme/vintage.js +1 -1
- data/app/assets/javascripts/echarts.min.js +2 -2
- data/lib/rails_charts/base_chart.rb +5 -4
- data/lib/rails_charts/javascript.rb +1 -1
- data/lib/rails_charts/stacked_bar_chart.rb +1 -1
- data/lib/rails_charts/version.rb +1 -1
- metadata +29 -22
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8f7b16bad9c58d6041b0633403ce02e39f8b39b13e5dbbfc39f4a6ad1a581c62
|
4
|
+
data.tar.gz: 137e4d95c3101e7c9756600b2a4a72754aa47a2092412f614dd36392a807bdd1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7f393538dd6594dc0ecc2766363f7bf6370ffe481595e850c0bec211db613b1770585ead73c57cb44d6e1e379ab639fc34e326eda5fde1f06b0a3f86c6e0c571
|
7
|
+
data.tar.gz: 3828ce3424b63c5feeb32b64d0d789bd0440968a672344b43549e7fd5cca9a7ceeed245b2ccc49315ca42cca9e72e98af4d0015dadc1ce2889421b2dae76ebcf
|
data/README.md
CHANGED
@@ -1,8 +1,8 @@
|
|
1
1
|
# Rails Charts
|
2
2
|
|
3
3
|
[](https://www.railsjazz.com)
|
4
|
-
[](https://opensource-heroes.com/r/railsjazz/rails_charts)
|
5
4
|
|
5
|
+
[](https://buymeacoffee.com/igorkasyanchuk)
|
6
6
|
|
7
7
|

|
8
8
|
|
@@ -465,8 +465,8 @@ Every chart has a built in default configuration for tooltips, or other options
|
|
465
465
|
|
466
466
|
```ruby
|
467
467
|
<%= stacked_bar_chart [
|
468
|
-
{ name: 'high priority', data: Account.
|
469
|
-
{ name: 'low priority', data: Account.
|
468
|
+
{ name: 'high priority', data: Account.group_by_month(:created_at, format: "%b %Y").count },
|
469
|
+
{ name: 'low priority', data: Account.group_by_month(:created_at, format: "%b %Y").count }
|
470
470
|
],
|
471
471
|
{
|
472
472
|
options: {
|
@@ -507,12 +507,26 @@ You are welcome to contributes. Some open tasks:
|
|
507
507
|
- add support for CSP similar to https://github.com/ankane/chartkick/blob/master/lib/chartkick/helper.rb#L55
|
508
508
|
- example of how to build multiple-chart charts
|
509
509
|
|
510
|
+
### How to upgrade eCharts
|
511
|
+
|
512
|
+
- download ZIP file
|
513
|
+
- unpack it
|
514
|
+
- replace files in `app/assets/javascripts/echarts.min.js` and other related files inside echarts folder (from root folder of unpacked ZIP file).
|
515
|
+
|
510
516
|
### Development and testing
|
511
517
|
|
512
518
|
`test/dummy/bin/rails s` - to start dummy app.
|
513
519
|
|
514
520
|
`rspec` - to run specs.
|
515
521
|
|
522
|
+
Prepare test data:
|
523
|
+
|
524
|
+
`rails c`
|
525
|
+
|
526
|
+
```ruby
|
527
|
+
Data.populate
|
528
|
+
```
|
529
|
+
|
516
530
|
## License
|
517
531
|
|
518
532
|
The gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).
|
@@ -521,3 +535,5 @@ Gem is using https://echarts.apache.org/ to build charts.
|
|
521
535
|
|
522
536
|
[<img src="https://github.com/igorkasyanchuk/rails_time_travel/blob/main/docs/more_gems.png?raw=true"
|
523
537
|
/>](https://www.railsjazz.com/?utm_source=github&utm_medium=bottom&utm_campaign=rails_charts)
|
538
|
+
|
539
|
+
[](https://buymeacoffee.com/igorkasyanchuk)
|
@@ -31,27 +31,23 @@
|
|
31
31
|
this._api = api;
|
32
32
|
this._projection = new BMap.MercatorProjection();
|
33
33
|
}
|
34
|
-
|
34
|
+
BMapCoordSys.prototype.type = 'bmap';
|
35
35
|
BMapCoordSys.prototype.dimensions = ['lng', 'lat'];
|
36
|
-
|
37
36
|
BMapCoordSys.prototype.setZoom = function (zoom) {
|
38
37
|
this._zoom = zoom;
|
39
38
|
};
|
40
|
-
|
41
39
|
BMapCoordSys.prototype.setCenter = function (center) {
|
42
40
|
this._center = this._projection.lngLatToPoint(new BMap.Point(center[0], center[1]));
|
43
41
|
};
|
44
|
-
|
45
42
|
BMapCoordSys.prototype.setMapOffset = function (mapOffset) {
|
46
43
|
this._mapOffset = mapOffset;
|
47
44
|
};
|
48
|
-
|
49
45
|
BMapCoordSys.prototype.getBMap = function () {
|
50
46
|
return this._bmap;
|
51
47
|
};
|
52
|
-
|
53
48
|
BMapCoordSys.prototype.dataToPoint = function (data) {
|
54
|
-
var point = new BMap.Point(data[0], data[1]);
|
49
|
+
var point = new BMap.Point(data[0], data[1]);
|
50
|
+
// TODO mercator projection is toooooooo slow
|
55
51
|
// let mercatorPoint = this._projection.lngLatToPoint(point);
|
56
52
|
// let width = this._api.getZr().getWidth();
|
57
53
|
// let height = this._api.getZr().getHeight();
|
@@ -60,13 +56,10 @@
|
|
60
56
|
// Math.round((mercatorPoint.x - this._center.x) / divider + width / 2),
|
61
57
|
// Math.round((this._center.y - mercatorPoint.y) / divider + height / 2)
|
62
58
|
// ];
|
63
|
-
|
64
59
|
var px = this._bmap.pointToOverlayPixel(point);
|
65
|
-
|
66
60
|
var mapOffset = this._mapOffset;
|
67
61
|
return [px.x - mapOffset[0], px.y - mapOffset[1]];
|
68
62
|
};
|
69
|
-
|
70
63
|
BMapCoordSys.prototype.pointToData = function (pt) {
|
71
64
|
var mapOffset = this._mapOffset;
|
72
65
|
pt = this._bmap.overlayPixelToPoint({
|
@@ -75,16 +68,13 @@
|
|
75
68
|
});
|
76
69
|
return [pt.lng, pt.lat];
|
77
70
|
};
|
78
|
-
|
79
71
|
BMapCoordSys.prototype.getViewRect = function () {
|
80
72
|
var api = this._api;
|
81
73
|
return new echarts.graphic.BoundingRect(0, 0, api.getWidth(), api.getHeight());
|
82
74
|
};
|
83
|
-
|
84
75
|
BMapCoordSys.prototype.getRoamTransform = function () {
|
85
76
|
return echarts.matrix.create();
|
86
77
|
};
|
87
|
-
|
88
78
|
BMapCoordSys.prototype.prepareCustoms = function () {
|
89
79
|
var rect = this.getViewRect();
|
90
80
|
return {
|
@@ -102,7 +92,13 @@
|
|
102
92
|
}
|
103
93
|
};
|
104
94
|
};
|
105
|
-
|
95
|
+
BMapCoordSys.prototype.convertToPixel = function (ecModel, finder, value) {
|
96
|
+
// here we ignore finder as only one bmap component is allowed
|
97
|
+
return this.dataToPoint(value);
|
98
|
+
};
|
99
|
+
BMapCoordSys.prototype.convertFromPixel = function (ecModel, finder, value) {
|
100
|
+
return this.pointToData(value);
|
101
|
+
};
|
106
102
|
function dataToCoordSize(dataSize, dataItem) {
|
107
103
|
dataItem = dataItem || [0, 0];
|
108
104
|
return echarts.util.map([0, 1], function (dimIdx) {
|
@@ -116,16 +112,13 @@
|
|
116
112
|
return Math.abs(this.dataToPoint(p1)[dimIdx] - this.dataToPoint(p2)[dimIdx]);
|
117
113
|
}, this);
|
118
114
|
}
|
119
|
-
|
120
|
-
|
121
|
-
|
115
|
+
var Overlay;
|
116
|
+
// For deciding which dimensions to use when creating list data
|
122
117
|
BMapCoordSys.dimensions = BMapCoordSys.prototype.dimensions;
|
123
|
-
|
124
118
|
function createOverlayCtor() {
|
125
119
|
function Overlay(root) {
|
126
120
|
this._root = root;
|
127
121
|
}
|
128
|
-
|
129
122
|
Overlay.prototype = new BMap.Overlay();
|
130
123
|
/**
|
131
124
|
* 初始化
|
@@ -133,7 +126,6 @@
|
|
133
126
|
* @param {BMap.Map} map
|
134
127
|
* @override
|
135
128
|
*/
|
136
|
-
|
137
129
|
Overlay.prototype.initialize = function (map) {
|
138
130
|
map.getPanes().labelPane.appendChild(this._root);
|
139
131
|
return this._root;
|
@@ -141,37 +133,27 @@
|
|
141
133
|
/**
|
142
134
|
* @override
|
143
135
|
*/
|
144
|
-
|
145
|
-
|
146
136
|
Overlay.prototype.draw = function () {};
|
147
|
-
|
148
137
|
return Overlay;
|
149
138
|
}
|
150
|
-
|
151
139
|
BMapCoordSys.create = function (ecModel, api) {
|
152
140
|
var bmapCoordSys;
|
153
|
-
var root = api.getDom();
|
154
|
-
|
141
|
+
var root = api.getDom();
|
142
|
+
// TODO Dispose
|
155
143
|
ecModel.eachComponent('bmap', function (bmapModel) {
|
156
144
|
var painter = api.getZr().painter;
|
157
145
|
var viewportRoot = painter.getViewportRoot();
|
158
|
-
|
159
146
|
if (typeof BMap === 'undefined') {
|
160
147
|
throw new Error('BMap api is not loaded');
|
161
148
|
}
|
162
|
-
|
163
149
|
Overlay = Overlay || createOverlayCtor();
|
164
|
-
|
165
150
|
if (bmapCoordSys) {
|
166
151
|
throw new Error('Only one bmap component can exist');
|
167
152
|
}
|
168
|
-
|
169
153
|
var bmap;
|
170
|
-
|
171
154
|
if (!bmapModel.__bmap) {
|
172
155
|
// Not support IE8
|
173
156
|
var bmapRoot = root.querySelector('.ec-extension-bmap');
|
174
|
-
|
175
157
|
if (bmapRoot) {
|
176
158
|
// Reset viewport left and top, which will be changed
|
177
159
|
// in moving handler in BMapView
|
@@ -179,25 +161,22 @@
|
|
179
161
|
viewportRoot.style.top = '0px';
|
180
162
|
root.removeChild(bmapRoot);
|
181
163
|
}
|
182
|
-
|
183
164
|
bmapRoot = document.createElement('div');
|
184
|
-
bmapRoot.className = 'ec-extension-bmap';
|
185
|
-
|
165
|
+
bmapRoot.className = 'ec-extension-bmap';
|
166
|
+
// fix #13424
|
186
167
|
bmapRoot.style.cssText = 'position:absolute;width:100%;height:100%';
|
187
|
-
root.appendChild(bmapRoot);
|
188
|
-
|
168
|
+
root.appendChild(bmapRoot);
|
169
|
+
// initializes bmap
|
189
170
|
var mapOptions = bmapModel.get('mapOptions');
|
190
|
-
|
191
171
|
if (mapOptions) {
|
192
|
-
mapOptions = echarts.util.clone(mapOptions);
|
193
|
-
|
172
|
+
mapOptions = echarts.util.clone(mapOptions);
|
173
|
+
// Not support `mapType`, use `bmap.setMapType(MapType)` instead.
|
194
174
|
delete mapOptions.mapType;
|
195
175
|
}
|
196
|
-
|
197
176
|
bmap = bmapModel.__bmap = new BMap.Map(bmapRoot, mapOptions);
|
198
177
|
var overlay = new Overlay(viewportRoot);
|
199
|
-
bmap.addOverlay(overlay);
|
200
|
-
|
178
|
+
bmap.addOverlay(overlay);
|
179
|
+
// Override
|
201
180
|
painter.getViewportRootOffset = function () {
|
202
181
|
return {
|
203
182
|
offsetLeft: 0,
|
@@ -205,24 +184,20 @@
|
|
205
184
|
};
|
206
185
|
};
|
207
186
|
}
|
208
|
-
|
209
|
-
|
187
|
+
bmap = bmapModel.__bmap;
|
188
|
+
// Set bmap options
|
210
189
|
// centerAndZoom before layout and render
|
211
|
-
|
212
190
|
var center = bmapModel.get('center');
|
213
191
|
var zoom = bmapModel.get('zoom');
|
214
|
-
|
215
192
|
if (center && zoom) {
|
216
193
|
var bmapCenter = bmap.getCenter();
|
217
194
|
var bmapZoom = bmap.getZoom();
|
218
195
|
var centerOrZoomChanged = bmapModel.centerOrZoomChanged([bmapCenter.lng, bmapCenter.lat], bmapZoom);
|
219
|
-
|
220
196
|
if (centerOrZoomChanged) {
|
221
197
|
var pt = new BMap.Point(center[0], center[1]);
|
222
198
|
bmap.centerAndZoom(pt, zoom);
|
223
199
|
}
|
224
200
|
}
|
225
|
-
|
226
201
|
bmapCoordSys = new BMapCoordSys(bmap, api);
|
227
202
|
bmapCoordSys.setMapOffset(bmapModel.__mapOffset || [0, 0]);
|
228
203
|
bmapCoordSys.setZoom(zoom);
|
@@ -234,12 +209,13 @@
|
|
234
209
|
seriesModel.coordinateSystem = bmapCoordSys;
|
235
210
|
}
|
236
211
|
});
|
212
|
+
// return created coordinate systems
|
213
|
+
return bmapCoordSys && [bmapCoordSys];
|
237
214
|
};
|
238
215
|
|
239
216
|
function v2Equal(a, b) {
|
240
217
|
return a && b && a[0] === b[0] && a[1] === b[1];
|
241
218
|
}
|
242
|
-
|
243
219
|
echarts.extendComponentModel({
|
244
220
|
type: 'bmap',
|
245
221
|
getBMap: function () {
|
@@ -257,9 +233,9 @@
|
|
257
233
|
defaultOption: {
|
258
234
|
center: [104.114129, 37.550339],
|
259
235
|
zoom: 5,
|
260
|
-
// 2.0
|
236
|
+
// 2.0 https://lbsyun.baidu.com/custom/index.htm
|
261
237
|
mapStyle: {},
|
262
|
-
// 3.0
|
238
|
+
// 3.0 https://lbsyun.baidu.com/index.php?title=open/custom
|
263
239
|
mapStyleV2: {},
|
264
240
|
// See https://lbsyun.baidu.com/cms/jsapi/reference/jsapi_reference.html#a0b1
|
265
241
|
mapOptions: {},
|
@@ -273,10 +249,8 @@
|
|
273
249
|
return false;
|
274
250
|
}
|
275
251
|
}
|
276
|
-
|
277
252
|
return true;
|
278
253
|
}
|
279
|
-
|
280
254
|
echarts.extendComponentView({
|
281
255
|
type: 'bmap',
|
282
256
|
render: function (bMapModel, ecModel, api) {
|
@@ -284,27 +258,22 @@
|
|
284
258
|
var bmap = bMapModel.getBMap();
|
285
259
|
var viewportRoot = api.getZr().painter.getViewportRoot();
|
286
260
|
var coordSys = bMapModel.coordinateSystem;
|
287
|
-
|
288
261
|
var moveHandler = function (type, target) {
|
289
262
|
if (rendering) {
|
290
263
|
return;
|
291
264
|
}
|
292
|
-
|
293
265
|
var offsetEl = viewportRoot.parentNode.parentNode.parentNode;
|
294
|
-
var mapOffset = [-parseInt(offsetEl.style.left, 10) || 0, -parseInt(offsetEl.style.top, 10) || 0];
|
295
|
-
|
266
|
+
var mapOffset = [-parseInt(offsetEl.style.left, 10) || 0, -parseInt(offsetEl.style.top, 10) || 0];
|
267
|
+
// only update style when map offset changed
|
296
268
|
var viewportRootStyle = viewportRoot.style;
|
297
269
|
var offsetLeft = mapOffset[0] + 'px';
|
298
270
|
var offsetTop = mapOffset[1] + 'px';
|
299
|
-
|
300
271
|
if (viewportRootStyle.left !== offsetLeft) {
|
301
272
|
viewportRootStyle.left = offsetLeft;
|
302
273
|
}
|
303
|
-
|
304
274
|
if (viewportRootStyle.top !== offsetTop) {
|
305
275
|
viewportRootStyle.top = offsetTop;
|
306
276
|
}
|
307
|
-
|
308
277
|
coordSys.setMapOffset(mapOffset);
|
309
278
|
bMapModel.__mapOffset = mapOffset;
|
310
279
|
api.dispatchAction({
|
@@ -314,12 +283,10 @@
|
|
314
283
|
}
|
315
284
|
});
|
316
285
|
};
|
317
|
-
|
318
286
|
function zoomEndHandler() {
|
319
287
|
if (rendering) {
|
320
288
|
return;
|
321
289
|
}
|
322
|
-
|
323
290
|
api.dispatchAction({
|
324
291
|
type: 'bmapRoam',
|
325
292
|
animation: {
|
@@ -327,7 +294,6 @@
|
|
327
294
|
}
|
328
295
|
});
|
329
296
|
}
|
330
|
-
|
331
297
|
bmap.removeEventListener('moving', this._oldMoveHandler);
|
332
298
|
bmap.removeEventListener('moveend', this._oldMoveHandler);
|
333
299
|
bmap.removeEventListener('zoomend', this._oldZoomEndHandler);
|
@@ -337,13 +303,11 @@
|
|
337
303
|
this._oldMoveHandler = moveHandler;
|
338
304
|
this._oldZoomEndHandler = zoomEndHandler;
|
339
305
|
var roam = bMapModel.get('roam');
|
340
|
-
|
341
306
|
if (roam && roam !== 'scale') {
|
342
307
|
bmap.enableDragging();
|
343
308
|
} else {
|
344
309
|
bmap.disableDragging();
|
345
310
|
}
|
346
|
-
|
347
311
|
if (roam && roam !== 'move') {
|
348
312
|
bmap.enableScrollWheelZoom();
|
349
313
|
bmap.enableDoubleClickZoom();
|
@@ -354,44 +318,35 @@
|
|
354
318
|
bmap.disablePinchToZoom();
|
355
319
|
}
|
356
320
|
/* map 2.0 */
|
357
|
-
|
358
|
-
|
359
321
|
var originalStyle = bMapModel.__mapStyle;
|
360
|
-
var newMapStyle = bMapModel.get('mapStyle') || {};
|
361
|
-
|
322
|
+
var newMapStyle = bMapModel.get('mapStyle') || {};
|
323
|
+
// FIXME, Not use JSON methods
|
362
324
|
var mapStyleStr = JSON.stringify(newMapStyle);
|
363
|
-
|
364
325
|
if (JSON.stringify(originalStyle) !== mapStyleStr) {
|
365
326
|
// FIXME May have blank tile when dragging if setMapStyle
|
366
327
|
if (!isEmptyObject(newMapStyle)) {
|
367
328
|
bmap.setMapStyle(echarts.util.clone(newMapStyle));
|
368
329
|
}
|
369
|
-
|
370
330
|
bMapModel.__mapStyle = JSON.parse(mapStyleStr);
|
371
331
|
}
|
372
332
|
/* map 3.0 */
|
373
|
-
|
374
|
-
|
375
333
|
var originalStyle2 = bMapModel.__mapStyle2;
|
376
|
-
var newMapStyle2 = bMapModel.get('mapStyleV2') || {};
|
377
|
-
|
334
|
+
var newMapStyle2 = bMapModel.get('mapStyleV2') || {};
|
335
|
+
// FIXME, Not use JSON methods
|
378
336
|
var mapStyleStr2 = JSON.stringify(newMapStyle2);
|
379
|
-
|
380
337
|
if (JSON.stringify(originalStyle2) !== mapStyleStr2) {
|
381
338
|
// FIXME May have blank tile when dragging if setMapStyle
|
382
339
|
if (!isEmptyObject(newMapStyle2)) {
|
383
340
|
bmap.setMapStyleV2(echarts.util.clone(newMapStyle2));
|
384
341
|
}
|
385
|
-
|
386
342
|
bMapModel.__mapStyle2 = JSON.parse(mapStyleStr2);
|
387
343
|
}
|
388
|
-
|
389
344
|
rendering = false;
|
390
345
|
}
|
391
346
|
});
|
392
347
|
|
393
|
-
echarts.registerCoordinateSystem('bmap', BMapCoordSys);
|
394
|
-
|
348
|
+
echarts.registerCoordinateSystem('bmap', BMapCoordSys);
|
349
|
+
// Action
|
395
350
|
echarts.registerAction({
|
396
351
|
type: 'bmapRoam',
|
397
352
|
event: 'bmapRoam',
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"bmap.js","sources":["../../extension/bmap/BMapCoordSys.js","../../extension/bmap/BMapModel.js","../../extension/bmap/BMapView.js","../../extension/bmap/bmap.js"],"sourcesContent":["\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\n// @ts-nocheck\n\n/* global BMap */\nimport { util as zrUtil, graphic, matrix } from 'echarts';\n\nfunction BMapCoordSys(bmap, api) {\n this._bmap = bmap;\n this.dimensions = ['lng', 'lat'];\n this._mapOffset = [0, 0];\n this._api = api;\n this._projection = new BMap.MercatorProjection();\n}\n\nBMapCoordSys.prototype.dimensions = ['lng', 'lat'];\n\nBMapCoordSys.prototype.setZoom = function (zoom) {\n this._zoom = zoom;\n};\n\nBMapCoordSys.prototype.setCenter = function (center) {\n this._center = this._projection.lngLatToPoint(new BMap.Point(center[0], center[1]));\n};\n\nBMapCoordSys.prototype.setMapOffset = function (mapOffset) {\n this._mapOffset = mapOffset;\n};\n\nBMapCoordSys.prototype.getBMap = function () {\n return this._bmap;\n};\n\nBMapCoordSys.prototype.dataToPoint = function (data) {\n var point = new BMap.Point(data[0], data[1]); // TODO mercator projection is toooooooo slow\n // let mercatorPoint = this._projection.lngLatToPoint(point);\n // let width = this._api.getZr().getWidth();\n // let height = this._api.getZr().getHeight();\n // let divider = Math.pow(2, 18 - 10);\n // return [\n // Math.round((mercatorPoint.x - this._center.x) / divider + width / 2),\n // Math.round((this._center.y - mercatorPoint.y) / divider + height / 2)\n // ];\n\n var px = this._bmap.pointToOverlayPixel(point);\n\n var mapOffset = this._mapOffset;\n return [px.x - mapOffset[0], px.y - mapOffset[1]];\n};\n\nBMapCoordSys.prototype.pointToData = function (pt) {\n var mapOffset = this._mapOffset;\n pt = this._bmap.overlayPixelToPoint({\n x: pt[0] + mapOffset[0],\n y: pt[1] + mapOffset[1]\n });\n return [pt.lng, pt.lat];\n};\n\nBMapCoordSys.prototype.getViewRect = function () {\n var api = this._api;\n return new graphic.BoundingRect(0, 0, api.getWidth(), api.getHeight());\n};\n\nBMapCoordSys.prototype.getRoamTransform = function () {\n return matrix.create();\n};\n\nBMapCoordSys.prototype.prepareCustoms = function () {\n var rect = this.getViewRect();\n return {\n coordSys: {\n // The name exposed to user is always 'cartesian2d' but not 'grid'.\n type: 'bmap',\n x: rect.x,\n y: rect.y,\n width: rect.width,\n height: rect.height\n },\n api: {\n coord: zrUtil.bind(this.dataToPoint, this),\n size: zrUtil.bind(dataToCoordSize, this)\n }\n };\n};\n\nfunction dataToCoordSize(dataSize, dataItem) {\n dataItem = dataItem || [0, 0];\n return zrUtil.map([0, 1], function (dimIdx) {\n var val = dataItem[dimIdx];\n var halfSize = dataSize[dimIdx] / 2;\n var p1 = [];\n var p2 = [];\n p1[dimIdx] = val - halfSize;\n p2[dimIdx] = val + halfSize;\n p1[1 - dimIdx] = p2[1 - dimIdx] = dataItem[1 - dimIdx];\n return Math.abs(this.dataToPoint(p1)[dimIdx] - this.dataToPoint(p2)[dimIdx]);\n }, this);\n}\n\nvar Overlay; // For deciding which dimensions to use when creating list data\n\nBMapCoordSys.dimensions = BMapCoordSys.prototype.dimensions;\n\nfunction createOverlayCtor() {\n function Overlay(root) {\n this._root = root;\n }\n\n Overlay.prototype = new BMap.Overlay();\n /**\r\n * 初始化\r\n *\r\n * @param {BMap.Map} map\r\n * @override\r\n */\n\n Overlay.prototype.initialize = function (map) {\n map.getPanes().labelPane.appendChild(this._root);\n return this._root;\n };\n /**\r\n * @override\r\n */\n\n\n Overlay.prototype.draw = function () {};\n\n return Overlay;\n}\n\nBMapCoordSys.create = function (ecModel, api) {\n var bmapCoordSys;\n var root = api.getDom(); // TODO Dispose\n\n ecModel.eachComponent('bmap', function (bmapModel) {\n var painter = api.getZr().painter;\n var viewportRoot = painter.getViewportRoot();\n\n if (typeof BMap === 'undefined') {\n throw new Error('BMap api is not loaded');\n }\n\n Overlay = Overlay || createOverlayCtor();\n\n if (bmapCoordSys) {\n throw new Error('Only one bmap component can exist');\n }\n\n var bmap;\n\n if (!bmapModel.__bmap) {\n // Not support IE8\n var bmapRoot = root.querySelector('.ec-extension-bmap');\n\n if (bmapRoot) {\n // Reset viewport left and top, which will be changed\n // in moving handler in BMapView\n viewportRoot.style.left = '0px';\n viewportRoot.style.top = '0px';\n root.removeChild(bmapRoot);\n }\n\n bmapRoot = document.createElement('div');\n bmapRoot.className = 'ec-extension-bmap'; // fix #13424\n\n bmapRoot.style.cssText = 'position:absolute;width:100%;height:100%';\n root.appendChild(bmapRoot); // initializes bmap\n\n var mapOptions = bmapModel.get('mapOptions');\n\n if (mapOptions) {\n mapOptions = zrUtil.clone(mapOptions); // Not support `mapType`, use `bmap.setMapType(MapType)` instead.\n\n delete mapOptions.mapType;\n }\n\n bmap = bmapModel.__bmap = new BMap.Map(bmapRoot, mapOptions);\n var overlay = new Overlay(viewportRoot);\n bmap.addOverlay(overlay); // Override\n\n painter.getViewportRootOffset = function () {\n return {\n offsetLeft: 0,\n offsetTop: 0\n };\n };\n }\n\n bmap = bmapModel.__bmap; // Set bmap options\n // centerAndZoom before layout and render\n\n var center = bmapModel.get('center');\n var zoom = bmapModel.get('zoom');\n\n if (center && zoom) {\n var bmapCenter = bmap.getCenter();\n var bmapZoom = bmap.getZoom();\n var centerOrZoomChanged = bmapModel.centerOrZoomChanged([bmapCenter.lng, bmapCenter.lat], bmapZoom);\n\n if (centerOrZoomChanged) {\n var pt = new BMap.Point(center[0], center[1]);\n bmap.centerAndZoom(pt, zoom);\n }\n }\n\n bmapCoordSys = new BMapCoordSys(bmap, api);\n bmapCoordSys.setMapOffset(bmapModel.__mapOffset || [0, 0]);\n bmapCoordSys.setZoom(zoom);\n bmapCoordSys.setCenter(center);\n bmapModel.coordinateSystem = bmapCoordSys;\n });\n ecModel.eachSeries(function (seriesModel) {\n if (seriesModel.get('coordinateSystem') === 'bmap') {\n seriesModel.coordinateSystem = bmapCoordSys;\n }\n });\n};\n\nexport default BMapCoordSys;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\n// @ts-nocheck\nimport * as echarts from 'echarts';\n\nfunction v2Equal(a, b) {\n return a && b && a[0] === b[0] && a[1] === b[1];\n}\n\nexport default echarts.extendComponentModel({\n type: 'bmap',\n getBMap: function () {\n // __bmap is injected when creating BMapCoordSys\n return this.__bmap;\n },\n setCenterAndZoom: function (center, zoom) {\n this.option.center = center;\n this.option.zoom = zoom;\n },\n centerOrZoomChanged: function (center, zoom) {\n var option = this.option;\n return !(v2Equal(center, option.center) && zoom === option.zoom);\n },\n defaultOption: {\n center: [104.114129, 37.550339],\n zoom: 5,\n // 2.0 http://lbsyun.baidu.com/custom/index.htm\n mapStyle: {},\n // 3.0 http://lbsyun.baidu.com/index.php?title=open/custom\n mapStyleV2: {},\n // See https://lbsyun.baidu.com/cms/jsapi/reference/jsapi_reference.html#a0b1\n mapOptions: {},\n roam: false\n }\n});","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\n// @ts-nocheck\nimport * as echarts from 'echarts';\n\nfunction isEmptyObject(obj) {\n for (var key in obj) {\n if (obj.hasOwnProperty(key)) {\n return false;\n }\n }\n\n return true;\n}\n\nexport default echarts.extendComponentView({\n type: 'bmap',\n render: function (bMapModel, ecModel, api) {\n var rendering = true;\n var bmap = bMapModel.getBMap();\n var viewportRoot = api.getZr().painter.getViewportRoot();\n var coordSys = bMapModel.coordinateSystem;\n\n var moveHandler = function (type, target) {\n if (rendering) {\n return;\n }\n\n var offsetEl = viewportRoot.parentNode.parentNode.parentNode;\n var mapOffset = [-parseInt(offsetEl.style.left, 10) || 0, -parseInt(offsetEl.style.top, 10) || 0]; // only update style when map offset changed\n\n var viewportRootStyle = viewportRoot.style;\n var offsetLeft = mapOffset[0] + 'px';\n var offsetTop = mapOffset[1] + 'px';\n\n if (viewportRootStyle.left !== offsetLeft) {\n viewportRootStyle.left = offsetLeft;\n }\n\n if (viewportRootStyle.top !== offsetTop) {\n viewportRootStyle.top = offsetTop;\n }\n\n coordSys.setMapOffset(mapOffset);\n bMapModel.__mapOffset = mapOffset;\n api.dispatchAction({\n type: 'bmapRoam',\n animation: {\n duration: 0\n }\n });\n };\n\n function zoomEndHandler() {\n if (rendering) {\n return;\n }\n\n api.dispatchAction({\n type: 'bmapRoam',\n animation: {\n duration: 0\n }\n });\n }\n\n bmap.removeEventListener('moving', this._oldMoveHandler);\n bmap.removeEventListener('moveend', this._oldMoveHandler);\n bmap.removeEventListener('zoomend', this._oldZoomEndHandler);\n bmap.addEventListener('moving', moveHandler);\n bmap.addEventListener('moveend', moveHandler);\n bmap.addEventListener('zoomend', zoomEndHandler);\n this._oldMoveHandler = moveHandler;\n this._oldZoomEndHandler = zoomEndHandler;\n var roam = bMapModel.get('roam');\n\n if (roam && roam !== 'scale') {\n bmap.enableDragging();\n } else {\n bmap.disableDragging();\n }\n\n if (roam && roam !== 'move') {\n bmap.enableScrollWheelZoom();\n bmap.enableDoubleClickZoom();\n bmap.enablePinchToZoom();\n } else {\n bmap.disableScrollWheelZoom();\n bmap.disableDoubleClickZoom();\n bmap.disablePinchToZoom();\n }\n /* map 2.0 */\n\n\n var originalStyle = bMapModel.__mapStyle;\n var newMapStyle = bMapModel.get('mapStyle') || {}; // FIXME, Not use JSON methods\n\n var mapStyleStr = JSON.stringify(newMapStyle);\n\n if (JSON.stringify(originalStyle) !== mapStyleStr) {\n // FIXME May have blank tile when dragging if setMapStyle\n if (!isEmptyObject(newMapStyle)) {\n bmap.setMapStyle(echarts.util.clone(newMapStyle));\n }\n\n bMapModel.__mapStyle = JSON.parse(mapStyleStr);\n }\n /* map 3.0 */\n\n\n var originalStyle2 = bMapModel.__mapStyle2;\n var newMapStyle2 = bMapModel.get('mapStyleV2') || {}; // FIXME, Not use JSON methods\n\n var mapStyleStr2 = JSON.stringify(newMapStyle2);\n\n if (JSON.stringify(originalStyle2) !== mapStyleStr2) {\n // FIXME May have blank tile when dragging if setMapStyle\n if (!isEmptyObject(newMapStyle2)) {\n bmap.setMapStyleV2(echarts.util.clone(newMapStyle2));\n }\n\n bMapModel.__mapStyle2 = JSON.parse(mapStyleStr2);\n }\n\n rendering = false;\n }\n});","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\n// @ts-nocheck\n\n/**\r\n * BMap component extension\r\n */\nimport * as echarts from 'echarts';\nimport BMapCoordSys from './BMapCoordSys.js';\nimport './BMapModel.js';\nimport './BMapView.js';\necharts.registerCoordinateSystem('bmap', BMapCoordSys); // Action\n\necharts.registerAction({\n type: 'bmapRoam',\n event: 'bmapRoam',\n update: 'updateLayout'\n}, function (payload, ecModel) {\n ecModel.eachComponent('bmap', function (bMapModel) {\n var bmap = bMapModel.getBMap();\n var center = bmap.getCenter();\n bMapModel.setCenterAndZoom([center.lng, center.lat], bmap.getZoom());\n });\n});\nexport var version = '1.0.0';"],"names":["graphic","matrix","zrUtil","echarts.extendComponentModel","echarts.extendComponentView","echarts.util","echarts.registerCoordinateSystem","echarts.registerAction"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"bmap.js","sources":["../../extension/bmap/BMapCoordSys.js","../../extension/bmap/BMapModel.js","../../extension/bmap/BMapView.js","../../extension/bmap/bmap.js"],"sourcesContent":["\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\n// @ts-nocheck\n/* global BMap */\nimport { util as zrUtil, graphic, matrix } from 'echarts';\nfunction BMapCoordSys(bmap, api) {\n this._bmap = bmap;\n this.dimensions = ['lng', 'lat'];\n this._mapOffset = [0, 0];\n this._api = api;\n this._projection = new BMap.MercatorProjection();\n}\nBMapCoordSys.prototype.type = 'bmap';\nBMapCoordSys.prototype.dimensions = ['lng', 'lat'];\nBMapCoordSys.prototype.setZoom = function (zoom) {\n this._zoom = zoom;\n};\nBMapCoordSys.prototype.setCenter = function (center) {\n this._center = this._projection.lngLatToPoint(new BMap.Point(center[0], center[1]));\n};\nBMapCoordSys.prototype.setMapOffset = function (mapOffset) {\n this._mapOffset = mapOffset;\n};\nBMapCoordSys.prototype.getBMap = function () {\n return this._bmap;\n};\nBMapCoordSys.prototype.dataToPoint = function (data) {\n var point = new BMap.Point(data[0], data[1]);\n // TODO mercator projection is toooooooo slow\n // let mercatorPoint = this._projection.lngLatToPoint(point);\n // let width = this._api.getZr().getWidth();\n // let height = this._api.getZr().getHeight();\n // let divider = Math.pow(2, 18 - 10);\n // return [\n // Math.round((mercatorPoint.x - this._center.x) / divider + width / 2),\n // Math.round((this._center.y - mercatorPoint.y) / divider + height / 2)\n // ];\n var px = this._bmap.pointToOverlayPixel(point);\n var mapOffset = this._mapOffset;\n return [px.x - mapOffset[0], px.y - mapOffset[1]];\n};\nBMapCoordSys.prototype.pointToData = function (pt) {\n var mapOffset = this._mapOffset;\n pt = this._bmap.overlayPixelToPoint({\n x: pt[0] + mapOffset[0],\n y: pt[1] + mapOffset[1]\n });\n return [pt.lng, pt.lat];\n};\nBMapCoordSys.prototype.getViewRect = function () {\n var api = this._api;\n return new graphic.BoundingRect(0, 0, api.getWidth(), api.getHeight());\n};\nBMapCoordSys.prototype.getRoamTransform = function () {\n return matrix.create();\n};\nBMapCoordSys.prototype.prepareCustoms = function () {\n var rect = this.getViewRect();\n return {\n coordSys: {\n // The name exposed to user is always 'cartesian2d' but not 'grid'.\n type: 'bmap',\n x: rect.x,\n y: rect.y,\n width: rect.width,\n height: rect.height\n },\n api: {\n coord: zrUtil.bind(this.dataToPoint, this),\n size: zrUtil.bind(dataToCoordSize, this)\n }\n };\n};\nBMapCoordSys.prototype.convertToPixel = function (ecModel, finder, value) {\n // here we ignore finder as only one bmap component is allowed\n return this.dataToPoint(value);\n};\nBMapCoordSys.prototype.convertFromPixel = function (ecModel, finder, value) {\n return this.pointToData(value);\n};\nfunction dataToCoordSize(dataSize, dataItem) {\n dataItem = dataItem || [0, 0];\n return zrUtil.map([0, 1], function (dimIdx) {\n var val = dataItem[dimIdx];\n var halfSize = dataSize[dimIdx] / 2;\n var p1 = [];\n var p2 = [];\n p1[dimIdx] = val - halfSize;\n p2[dimIdx] = val + halfSize;\n p1[1 - dimIdx] = p2[1 - dimIdx] = dataItem[1 - dimIdx];\n return Math.abs(this.dataToPoint(p1)[dimIdx] - this.dataToPoint(p2)[dimIdx]);\n }, this);\n}\nvar Overlay;\n// For deciding which dimensions to use when creating list data\nBMapCoordSys.dimensions = BMapCoordSys.prototype.dimensions;\nfunction createOverlayCtor() {\n function Overlay(root) {\n this._root = root;\n }\n Overlay.prototype = new BMap.Overlay();\n /**\r\n * 初始化\r\n *\r\n * @param {BMap.Map} map\r\n * @override\r\n */\n Overlay.prototype.initialize = function (map) {\n map.getPanes().labelPane.appendChild(this._root);\n return this._root;\n };\n /**\r\n * @override\r\n */\n Overlay.prototype.draw = function () {};\n return Overlay;\n}\nBMapCoordSys.create = function (ecModel, api) {\n var bmapCoordSys;\n var root = api.getDom();\n // TODO Dispose\n ecModel.eachComponent('bmap', function (bmapModel) {\n var painter = api.getZr().painter;\n var viewportRoot = painter.getViewportRoot();\n if (typeof BMap === 'undefined') {\n throw new Error('BMap api is not loaded');\n }\n Overlay = Overlay || createOverlayCtor();\n if (bmapCoordSys) {\n throw new Error('Only one bmap component can exist');\n }\n var bmap;\n if (!bmapModel.__bmap) {\n // Not support IE8\n var bmapRoot = root.querySelector('.ec-extension-bmap');\n if (bmapRoot) {\n // Reset viewport left and top, which will be changed\n // in moving handler in BMapView\n viewportRoot.style.left = '0px';\n viewportRoot.style.top = '0px';\n root.removeChild(bmapRoot);\n }\n bmapRoot = document.createElement('div');\n bmapRoot.className = 'ec-extension-bmap';\n // fix #13424\n bmapRoot.style.cssText = 'position:absolute;width:100%;height:100%';\n root.appendChild(bmapRoot);\n // initializes bmap\n var mapOptions = bmapModel.get('mapOptions');\n if (mapOptions) {\n mapOptions = zrUtil.clone(mapOptions);\n // Not support `mapType`, use `bmap.setMapType(MapType)` instead.\n delete mapOptions.mapType;\n }\n bmap = bmapModel.__bmap = new BMap.Map(bmapRoot, mapOptions);\n var overlay = new Overlay(viewportRoot);\n bmap.addOverlay(overlay);\n // Override\n painter.getViewportRootOffset = function () {\n return {\n offsetLeft: 0,\n offsetTop: 0\n };\n };\n }\n bmap = bmapModel.__bmap;\n // Set bmap options\n // centerAndZoom before layout and render\n var center = bmapModel.get('center');\n var zoom = bmapModel.get('zoom');\n if (center && zoom) {\n var bmapCenter = bmap.getCenter();\n var bmapZoom = bmap.getZoom();\n var centerOrZoomChanged = bmapModel.centerOrZoomChanged([bmapCenter.lng, bmapCenter.lat], bmapZoom);\n if (centerOrZoomChanged) {\n var pt = new BMap.Point(center[0], center[1]);\n bmap.centerAndZoom(pt, zoom);\n }\n }\n bmapCoordSys = new BMapCoordSys(bmap, api);\n bmapCoordSys.setMapOffset(bmapModel.__mapOffset || [0, 0]);\n bmapCoordSys.setZoom(zoom);\n bmapCoordSys.setCenter(center);\n bmapModel.coordinateSystem = bmapCoordSys;\n });\n ecModel.eachSeries(function (seriesModel) {\n if (seriesModel.get('coordinateSystem') === 'bmap') {\n seriesModel.coordinateSystem = bmapCoordSys;\n }\n });\n // return created coordinate systems\n return bmapCoordSys && [bmapCoordSys];\n};\nexport default BMapCoordSys;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\n// @ts-nocheck\nimport * as echarts from 'echarts';\nfunction v2Equal(a, b) {\n return a && b && a[0] === b[0] && a[1] === b[1];\n}\nexport default echarts.extendComponentModel({\n type: 'bmap',\n getBMap: function () {\n // __bmap is injected when creating BMapCoordSys\n return this.__bmap;\n },\n setCenterAndZoom: function (center, zoom) {\n this.option.center = center;\n this.option.zoom = zoom;\n },\n centerOrZoomChanged: function (center, zoom) {\n var option = this.option;\n return !(v2Equal(center, option.center) && zoom === option.zoom);\n },\n defaultOption: {\n center: [104.114129, 37.550339],\n zoom: 5,\n // 2.0 https://lbsyun.baidu.com/custom/index.htm\n mapStyle: {},\n // 3.0 https://lbsyun.baidu.com/index.php?title=open/custom\n mapStyleV2: {},\n // See https://lbsyun.baidu.com/cms/jsapi/reference/jsapi_reference.html#a0b1\n mapOptions: {},\n roam: false\n }\n});","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\n// @ts-nocheck\nimport * as echarts from 'echarts';\nfunction isEmptyObject(obj) {\n for (var key in obj) {\n if (obj.hasOwnProperty(key)) {\n return false;\n }\n }\n return true;\n}\nexport default echarts.extendComponentView({\n type: 'bmap',\n render: function (bMapModel, ecModel, api) {\n var rendering = true;\n var bmap = bMapModel.getBMap();\n var viewportRoot = api.getZr().painter.getViewportRoot();\n var coordSys = bMapModel.coordinateSystem;\n var moveHandler = function (type, target) {\n if (rendering) {\n return;\n }\n var offsetEl = viewportRoot.parentNode.parentNode.parentNode;\n var mapOffset = [-parseInt(offsetEl.style.left, 10) || 0, -parseInt(offsetEl.style.top, 10) || 0];\n // only update style when map offset changed\n var viewportRootStyle = viewportRoot.style;\n var offsetLeft = mapOffset[0] + 'px';\n var offsetTop = mapOffset[1] + 'px';\n if (viewportRootStyle.left !== offsetLeft) {\n viewportRootStyle.left = offsetLeft;\n }\n if (viewportRootStyle.top !== offsetTop) {\n viewportRootStyle.top = offsetTop;\n }\n coordSys.setMapOffset(mapOffset);\n bMapModel.__mapOffset = mapOffset;\n api.dispatchAction({\n type: 'bmapRoam',\n animation: {\n duration: 0\n }\n });\n };\n function zoomEndHandler() {\n if (rendering) {\n return;\n }\n api.dispatchAction({\n type: 'bmapRoam',\n animation: {\n duration: 0\n }\n });\n }\n bmap.removeEventListener('moving', this._oldMoveHandler);\n bmap.removeEventListener('moveend', this._oldMoveHandler);\n bmap.removeEventListener('zoomend', this._oldZoomEndHandler);\n bmap.addEventListener('moving', moveHandler);\n bmap.addEventListener('moveend', moveHandler);\n bmap.addEventListener('zoomend', zoomEndHandler);\n this._oldMoveHandler = moveHandler;\n this._oldZoomEndHandler = zoomEndHandler;\n var roam = bMapModel.get('roam');\n if (roam && roam !== 'scale') {\n bmap.enableDragging();\n } else {\n bmap.disableDragging();\n }\n if (roam && roam !== 'move') {\n bmap.enableScrollWheelZoom();\n bmap.enableDoubleClickZoom();\n bmap.enablePinchToZoom();\n } else {\n bmap.disableScrollWheelZoom();\n bmap.disableDoubleClickZoom();\n bmap.disablePinchToZoom();\n }\n /* map 2.0 */\n var originalStyle = bMapModel.__mapStyle;\n var newMapStyle = bMapModel.get('mapStyle') || {};\n // FIXME, Not use JSON methods\n var mapStyleStr = JSON.stringify(newMapStyle);\n if (JSON.stringify(originalStyle) !== mapStyleStr) {\n // FIXME May have blank tile when dragging if setMapStyle\n if (!isEmptyObject(newMapStyle)) {\n bmap.setMapStyle(echarts.util.clone(newMapStyle));\n }\n bMapModel.__mapStyle = JSON.parse(mapStyleStr);\n }\n /* map 3.0 */\n var originalStyle2 = bMapModel.__mapStyle2;\n var newMapStyle2 = bMapModel.get('mapStyleV2') || {};\n // FIXME, Not use JSON methods\n var mapStyleStr2 = JSON.stringify(newMapStyle2);\n if (JSON.stringify(originalStyle2) !== mapStyleStr2) {\n // FIXME May have blank tile when dragging if setMapStyle\n if (!isEmptyObject(newMapStyle2)) {\n bmap.setMapStyleV2(echarts.util.clone(newMapStyle2));\n }\n bMapModel.__mapStyle2 = JSON.parse(mapStyleStr2);\n }\n rendering = false;\n }\n});","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\n// @ts-nocheck\n/**\r\n * BMap component extension\r\n */\nimport * as echarts from 'echarts';\nimport BMapCoordSys from './BMapCoordSys.js';\nimport './BMapModel.js';\nimport './BMapView.js';\necharts.registerCoordinateSystem('bmap', BMapCoordSys);\n// Action\necharts.registerAction({\n type: 'bmapRoam',\n event: 'bmapRoam',\n update: 'updateLayout'\n}, function (payload, ecModel) {\n ecModel.eachComponent('bmap', function (bMapModel) {\n var bmap = bMapModel.getBMap();\n var center = bmap.getCenter();\n bMapModel.setCenterAndZoom([center.lng, center.lat], bmap.getZoom());\n });\n});\nexport var version = '1.0.0';"],"names":["graphic","matrix","zrUtil","echarts.extendComponentModel","echarts.extendComponentView","echarts.util","echarts.registerCoordinateSystem","echarts.registerAction"],"mappings":"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"}
|