rails_charts 0.0.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/MIT-LICENSE +20 -0
- data/README.md +487 -0
- data/Rakefile +3 -0
- data/lib/rails_charts/area_chart.rb +31 -0
- data/lib/rails_charts/bar_chart.rb +25 -0
- data/lib/rails_charts/base_chart.rb +123 -0
- data/lib/rails_charts/calendar_chart.rb +36 -0
- data/lib/rails_charts/candlestick_chart.rb +25 -0
- data/lib/rails_charts/custom_chart.rb +14 -0
- data/lib/rails_charts/donut_chart.rb +36 -0
- data/lib/rails_charts/engine.rb +33 -0
- data/lib/rails_charts/funnel_chart.rb +30 -0
- data/lib/rails_charts/gauge_chart.rb +30 -0
- data/lib/rails_charts/helpers.rb +83 -0
- data/lib/rails_charts/javascript.rb +17 -0
- data/lib/rails_charts/line_chart.rb +78 -0
- data/lib/rails_charts/parallel_chart.rb +30 -0
- data/lib/rails_charts/pie_chart.rb +55 -0
- data/lib/rails_charts/radar_chart.rb +38 -0
- data/lib/rails_charts/ruby_ext.rb +28 -0
- data/lib/rails_charts/sankey_chart.rb +31 -0
- data/lib/rails_charts/scatter_chart.rb +34 -0
- data/lib/rails_charts/stacked_bar_chart.rb +13 -0
- data/lib/rails_charts/version.rb +3 -0
- data/lib/rails_charts.rb +43 -0
- data/vendor/assets/rails_charts/echarts.min.js +45 -0
- data/vendor/assets/rails_charts/extension/bmap.js +413 -0
- data/vendor/assets/rails_charts/extension/bmap.js.map +1 -0
- data/vendor/assets/rails_charts/extension/bmap.min.js +22 -0
- data/vendor/assets/rails_charts/extension/dataTool.js +436 -0
- data/vendor/assets/rails_charts/extension/dataTool.js.map +1 -0
- data/vendor/assets/rails_charts/extension/dataTool.min.js +22 -0
- data/vendor/assets/rails_charts/i18n/langCS-obj.js +172 -0
- data/vendor/assets/rails_charts/i18n/langCS.js +168 -0
- data/vendor/assets/rails_charts/i18n/langDE-obj.js +172 -0
- data/vendor/assets/rails_charts/i18n/langDE.js +168 -0
- data/vendor/assets/rails_charts/i18n/langEN-obj.js +173 -0
- data/vendor/assets/rails_charts/i18n/langEN.js +169 -0
- data/vendor/assets/rails_charts/i18n/langES-obj.js +111 -0
- data/vendor/assets/rails_charts/i18n/langES.js +107 -0
- data/vendor/assets/rails_charts/i18n/langFI-obj.js +111 -0
- data/vendor/assets/rails_charts/i18n/langFI.js +107 -0
- data/vendor/assets/rails_charts/i18n/langFR-obj.js +173 -0
- data/vendor/assets/rails_charts/i18n/langFR.js +169 -0
- data/vendor/assets/rails_charts/i18n/langIT-obj.js +173 -0
- data/vendor/assets/rails_charts/i18n/langIT.js +169 -0
- data/vendor/assets/rails_charts/i18n/langJA-obj.js +173 -0
- data/vendor/assets/rails_charts/i18n/langJA.js +169 -0
- data/vendor/assets/rails_charts/i18n/langKO-obj.js +173 -0
- data/vendor/assets/rails_charts/i18n/langKO.js +169 -0
- data/vendor/assets/rails_charts/i18n/langPL-obj.js +173 -0
- data/vendor/assets/rails_charts/i18n/langPL.js +169 -0
- data/vendor/assets/rails_charts/i18n/langPT-br-obj.js +174 -0
- data/vendor/assets/rails_charts/i18n/langPT-br.js +170 -0
- data/vendor/assets/rails_charts/i18n/langRO-obj.js +173 -0
- data/vendor/assets/rails_charts/i18n/langRO.js +169 -0
- data/vendor/assets/rails_charts/i18n/langRU-obj.js +174 -0
- data/vendor/assets/rails_charts/i18n/langRU.js +170 -0
- data/vendor/assets/rails_charts/i18n/langSI-obj.js +172 -0
- data/vendor/assets/rails_charts/i18n/langSI.js +168 -0
- data/vendor/assets/rails_charts/i18n/langTH-obj.js +111 -0
- data/vendor/assets/rails_charts/i18n/langTH.js +107 -0
- data/vendor/assets/rails_charts/i18n/langZH-obj.js +168 -0
- data/vendor/assets/rails_charts/i18n/langZH.js +164 -0
- data/vendor/assets/rails_charts/theme/azul.js +163 -0
- data/vendor/assets/rails_charts/theme/bee-inspired.js +178 -0
- data/vendor/assets/rails_charts/theme/blue.js +178 -0
- data/vendor/assets/rails_charts/theme/caravan.js +178 -0
- data/vendor/assets/rails_charts/theme/carp.js +163 -0
- data/vendor/assets/rails_charts/theme/cool.js +180 -0
- data/vendor/assets/rails_charts/theme/dark-blue.js +164 -0
- data/vendor/assets/rails_charts/theme/dark-bold.js +164 -0
- data/vendor/assets/rails_charts/theme/dark-digerati.js +164 -0
- data/vendor/assets/rails_charts/theme/dark-fresh-cut.js +164 -0
- data/vendor/assets/rails_charts/theme/dark-mushroom.js +164 -0
- data/vendor/assets/rails_charts/theme/dark.js +224 -0
- data/vendor/assets/rails_charts/theme/eduardo.js +178 -0
- data/vendor/assets/rails_charts/theme/forest.js +163 -0
- data/vendor/assets/rails_charts/theme/fresh-cut.js +163 -0
- data/vendor/assets/rails_charts/theme/fruit.js +178 -0
- data/vendor/assets/rails_charts/theme/gray.js +220 -0
- data/vendor/assets/rails_charts/theme/green.js +222 -0
- data/vendor/assets/rails_charts/theme/helianthus.js +263 -0
- data/vendor/assets/rails_charts/theme/infographic.js +236 -0
- data/vendor/assets/rails_charts/theme/inspired.js +163 -0
- data/vendor/assets/rails_charts/theme/jazz.js +163 -0
- data/vendor/assets/rails_charts/theme/london.js +163 -0
- data/vendor/assets/rails_charts/theme/macarons.js +240 -0
- data/vendor/assets/rails_charts/theme/macarons2.js +249 -0
- data/vendor/assets/rails_charts/theme/mint.js +155 -0
- data/vendor/assets/rails_charts/theme/red-velvet.js +163 -0
- data/vendor/assets/rails_charts/theme/red.js +225 -0
- data/vendor/assets/rails_charts/theme/roma.js +119 -0
- data/vendor/assets/rails_charts/theme/royal.js +163 -0
- data/vendor/assets/rails_charts/theme/sakura.js +140 -0
- data/vendor/assets/rails_charts/theme/shine.js +177 -0
- data/vendor/assets/rails_charts/theme/tech-blue.js +180 -0
- data/vendor/assets/rails_charts/theme/vintage.js +63 -0
- metadata +268 -0
@@ -0,0 +1,413 @@
|
|
1
|
+
|
2
|
+
/*
|
3
|
+
* Licensed to the Apache Software Foundation (ASF) under one
|
4
|
+
* or more contributor license agreements. See the NOTICE file
|
5
|
+
* distributed with this work for additional information
|
6
|
+
* regarding copyright ownership. The ASF licenses this file
|
7
|
+
* to you under the Apache License, Version 2.0 (the
|
8
|
+
* "License"); you may not use this file except in compliance
|
9
|
+
* with the License. You may obtain a copy of the License at
|
10
|
+
*
|
11
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
12
|
+
*
|
13
|
+
* Unless required by applicable law or agreed to in writing,
|
14
|
+
* software distributed under the License is distributed on an
|
15
|
+
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
16
|
+
* KIND, either express or implied. See the License for the
|
17
|
+
* specific language governing permissions and limitations
|
18
|
+
* under the License.
|
19
|
+
*/
|
20
|
+
|
21
|
+
(function (global, factory) {
|
22
|
+
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('echarts')) :
|
23
|
+
typeof define === 'function' && define.amd ? define(['exports', 'echarts'], factory) :
|
24
|
+
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.bmap = {}, global.echarts));
|
25
|
+
}(this, (function (exports, echarts) { 'use strict';
|
26
|
+
|
27
|
+
function BMapCoordSys(bmap, api) {
|
28
|
+
this._bmap = bmap;
|
29
|
+
this.dimensions = ['lng', 'lat'];
|
30
|
+
this._mapOffset = [0, 0];
|
31
|
+
this._api = api;
|
32
|
+
this._projection = new BMap.MercatorProjection();
|
33
|
+
}
|
34
|
+
|
35
|
+
BMapCoordSys.prototype.dimensions = ['lng', 'lat'];
|
36
|
+
|
37
|
+
BMapCoordSys.prototype.setZoom = function (zoom) {
|
38
|
+
this._zoom = zoom;
|
39
|
+
};
|
40
|
+
|
41
|
+
BMapCoordSys.prototype.setCenter = function (center) {
|
42
|
+
this._center = this._projection.lngLatToPoint(new BMap.Point(center[0], center[1]));
|
43
|
+
};
|
44
|
+
|
45
|
+
BMapCoordSys.prototype.setMapOffset = function (mapOffset) {
|
46
|
+
this._mapOffset = mapOffset;
|
47
|
+
};
|
48
|
+
|
49
|
+
BMapCoordSys.prototype.getBMap = function () {
|
50
|
+
return this._bmap;
|
51
|
+
};
|
52
|
+
|
53
|
+
BMapCoordSys.prototype.dataToPoint = function (data) {
|
54
|
+
var point = new BMap.Point(data[0], data[1]); // TODO mercator projection is toooooooo slow
|
55
|
+
// let mercatorPoint = this._projection.lngLatToPoint(point);
|
56
|
+
// let width = this._api.getZr().getWidth();
|
57
|
+
// let height = this._api.getZr().getHeight();
|
58
|
+
// let divider = Math.pow(2, 18 - 10);
|
59
|
+
// return [
|
60
|
+
// Math.round((mercatorPoint.x - this._center.x) / divider + width / 2),
|
61
|
+
// Math.round((this._center.y - mercatorPoint.y) / divider + height / 2)
|
62
|
+
// ];
|
63
|
+
|
64
|
+
var px = this._bmap.pointToOverlayPixel(point);
|
65
|
+
|
66
|
+
var mapOffset = this._mapOffset;
|
67
|
+
return [px.x - mapOffset[0], px.y - mapOffset[1]];
|
68
|
+
};
|
69
|
+
|
70
|
+
BMapCoordSys.prototype.pointToData = function (pt) {
|
71
|
+
var mapOffset = this._mapOffset;
|
72
|
+
pt = this._bmap.overlayPixelToPoint({
|
73
|
+
x: pt[0] + mapOffset[0],
|
74
|
+
y: pt[1] + mapOffset[1]
|
75
|
+
});
|
76
|
+
return [pt.lng, pt.lat];
|
77
|
+
};
|
78
|
+
|
79
|
+
BMapCoordSys.prototype.getViewRect = function () {
|
80
|
+
var api = this._api;
|
81
|
+
return new echarts.graphic.BoundingRect(0, 0, api.getWidth(), api.getHeight());
|
82
|
+
};
|
83
|
+
|
84
|
+
BMapCoordSys.prototype.getRoamTransform = function () {
|
85
|
+
return echarts.matrix.create();
|
86
|
+
};
|
87
|
+
|
88
|
+
BMapCoordSys.prototype.prepareCustoms = function () {
|
89
|
+
var rect = this.getViewRect();
|
90
|
+
return {
|
91
|
+
coordSys: {
|
92
|
+
// The name exposed to user is always 'cartesian2d' but not 'grid'.
|
93
|
+
type: 'bmap',
|
94
|
+
x: rect.x,
|
95
|
+
y: rect.y,
|
96
|
+
width: rect.width,
|
97
|
+
height: rect.height
|
98
|
+
},
|
99
|
+
api: {
|
100
|
+
coord: echarts.util.bind(this.dataToPoint, this),
|
101
|
+
size: echarts.util.bind(dataToCoordSize, this)
|
102
|
+
}
|
103
|
+
};
|
104
|
+
};
|
105
|
+
|
106
|
+
function dataToCoordSize(dataSize, dataItem) {
|
107
|
+
dataItem = dataItem || [0, 0];
|
108
|
+
return echarts.util.map([0, 1], function (dimIdx) {
|
109
|
+
var val = dataItem[dimIdx];
|
110
|
+
var halfSize = dataSize[dimIdx] / 2;
|
111
|
+
var p1 = [];
|
112
|
+
var p2 = [];
|
113
|
+
p1[dimIdx] = val - halfSize;
|
114
|
+
p2[dimIdx] = val + halfSize;
|
115
|
+
p1[1 - dimIdx] = p2[1 - dimIdx] = dataItem[1 - dimIdx];
|
116
|
+
return Math.abs(this.dataToPoint(p1)[dimIdx] - this.dataToPoint(p2)[dimIdx]);
|
117
|
+
}, this);
|
118
|
+
}
|
119
|
+
|
120
|
+
var Overlay; // For deciding which dimensions to use when creating list data
|
121
|
+
|
122
|
+
BMapCoordSys.dimensions = BMapCoordSys.prototype.dimensions;
|
123
|
+
|
124
|
+
function createOverlayCtor() {
|
125
|
+
function Overlay(root) {
|
126
|
+
this._root = root;
|
127
|
+
}
|
128
|
+
|
129
|
+
Overlay.prototype = new BMap.Overlay();
|
130
|
+
/**
|
131
|
+
* 初始化
|
132
|
+
*
|
133
|
+
* @param {BMap.Map} map
|
134
|
+
* @override
|
135
|
+
*/
|
136
|
+
|
137
|
+
Overlay.prototype.initialize = function (map) {
|
138
|
+
map.getPanes().labelPane.appendChild(this._root);
|
139
|
+
return this._root;
|
140
|
+
};
|
141
|
+
/**
|
142
|
+
* @override
|
143
|
+
*/
|
144
|
+
|
145
|
+
|
146
|
+
Overlay.prototype.draw = function () {};
|
147
|
+
|
148
|
+
return Overlay;
|
149
|
+
}
|
150
|
+
|
151
|
+
BMapCoordSys.create = function (ecModel, api) {
|
152
|
+
var bmapCoordSys;
|
153
|
+
var root = api.getDom(); // TODO Dispose
|
154
|
+
|
155
|
+
ecModel.eachComponent('bmap', function (bmapModel) {
|
156
|
+
var painter = api.getZr().painter;
|
157
|
+
var viewportRoot = painter.getViewportRoot();
|
158
|
+
|
159
|
+
if (typeof BMap === 'undefined') {
|
160
|
+
throw new Error('BMap api is not loaded');
|
161
|
+
}
|
162
|
+
|
163
|
+
Overlay = Overlay || createOverlayCtor();
|
164
|
+
|
165
|
+
if (bmapCoordSys) {
|
166
|
+
throw new Error('Only one bmap component can exist');
|
167
|
+
}
|
168
|
+
|
169
|
+
var bmap;
|
170
|
+
|
171
|
+
if (!bmapModel.__bmap) {
|
172
|
+
// Not support IE8
|
173
|
+
var bmapRoot = root.querySelector('.ec-extension-bmap');
|
174
|
+
|
175
|
+
if (bmapRoot) {
|
176
|
+
// Reset viewport left and top, which will be changed
|
177
|
+
// in moving handler in BMapView
|
178
|
+
viewportRoot.style.left = '0px';
|
179
|
+
viewportRoot.style.top = '0px';
|
180
|
+
root.removeChild(bmapRoot);
|
181
|
+
}
|
182
|
+
|
183
|
+
bmapRoot = document.createElement('div');
|
184
|
+
bmapRoot.className = 'ec-extension-bmap'; // fix #13424
|
185
|
+
|
186
|
+
bmapRoot.style.cssText = 'position:absolute;width:100%;height:100%';
|
187
|
+
root.appendChild(bmapRoot); // initializes bmap
|
188
|
+
|
189
|
+
var mapOptions = bmapModel.get('mapOptions');
|
190
|
+
|
191
|
+
if (mapOptions) {
|
192
|
+
mapOptions = echarts.util.clone(mapOptions); // Not support `mapType`, use `bmap.setMapType(MapType)` instead.
|
193
|
+
|
194
|
+
delete mapOptions.mapType;
|
195
|
+
}
|
196
|
+
|
197
|
+
bmap = bmapModel.__bmap = new BMap.Map(bmapRoot, mapOptions);
|
198
|
+
var overlay = new Overlay(viewportRoot);
|
199
|
+
bmap.addOverlay(overlay); // Override
|
200
|
+
|
201
|
+
painter.getViewportRootOffset = function () {
|
202
|
+
return {
|
203
|
+
offsetLeft: 0,
|
204
|
+
offsetTop: 0
|
205
|
+
};
|
206
|
+
};
|
207
|
+
}
|
208
|
+
|
209
|
+
bmap = bmapModel.__bmap; // Set bmap options
|
210
|
+
// centerAndZoom before layout and render
|
211
|
+
|
212
|
+
var center = bmapModel.get('center');
|
213
|
+
var zoom = bmapModel.get('zoom');
|
214
|
+
|
215
|
+
if (center && zoom) {
|
216
|
+
var bmapCenter = bmap.getCenter();
|
217
|
+
var bmapZoom = bmap.getZoom();
|
218
|
+
var centerOrZoomChanged = bmapModel.centerOrZoomChanged([bmapCenter.lng, bmapCenter.lat], bmapZoom);
|
219
|
+
|
220
|
+
if (centerOrZoomChanged) {
|
221
|
+
var pt = new BMap.Point(center[0], center[1]);
|
222
|
+
bmap.centerAndZoom(pt, zoom);
|
223
|
+
}
|
224
|
+
}
|
225
|
+
|
226
|
+
bmapCoordSys = new BMapCoordSys(bmap, api);
|
227
|
+
bmapCoordSys.setMapOffset(bmapModel.__mapOffset || [0, 0]);
|
228
|
+
bmapCoordSys.setZoom(zoom);
|
229
|
+
bmapCoordSys.setCenter(center);
|
230
|
+
bmapModel.coordinateSystem = bmapCoordSys;
|
231
|
+
});
|
232
|
+
ecModel.eachSeries(function (seriesModel) {
|
233
|
+
if (seriesModel.get('coordinateSystem') === 'bmap') {
|
234
|
+
seriesModel.coordinateSystem = bmapCoordSys;
|
235
|
+
}
|
236
|
+
});
|
237
|
+
};
|
238
|
+
|
239
|
+
function v2Equal(a, b) {
|
240
|
+
return a && b && a[0] === b[0] && a[1] === b[1];
|
241
|
+
}
|
242
|
+
|
243
|
+
echarts.extendComponentModel({
|
244
|
+
type: 'bmap',
|
245
|
+
getBMap: function () {
|
246
|
+
// __bmap is injected when creating BMapCoordSys
|
247
|
+
return this.__bmap;
|
248
|
+
},
|
249
|
+
setCenterAndZoom: function (center, zoom) {
|
250
|
+
this.option.center = center;
|
251
|
+
this.option.zoom = zoom;
|
252
|
+
},
|
253
|
+
centerOrZoomChanged: function (center, zoom) {
|
254
|
+
var option = this.option;
|
255
|
+
return !(v2Equal(center, option.center) && zoom === option.zoom);
|
256
|
+
},
|
257
|
+
defaultOption: {
|
258
|
+
center: [104.114129, 37.550339],
|
259
|
+
zoom: 5,
|
260
|
+
// 2.0 http://lbsyun.baidu.com/custom/index.htm
|
261
|
+
mapStyle: {},
|
262
|
+
// 3.0 http://lbsyun.baidu.com/index.php?title=open/custom
|
263
|
+
mapStyleV2: {},
|
264
|
+
// See https://lbsyun.baidu.com/cms/jsapi/reference/jsapi_reference.html#a0b1
|
265
|
+
mapOptions: {},
|
266
|
+
roam: false
|
267
|
+
}
|
268
|
+
});
|
269
|
+
|
270
|
+
function isEmptyObject(obj) {
|
271
|
+
for (var key in obj) {
|
272
|
+
if (obj.hasOwnProperty(key)) {
|
273
|
+
return false;
|
274
|
+
}
|
275
|
+
}
|
276
|
+
|
277
|
+
return true;
|
278
|
+
}
|
279
|
+
|
280
|
+
echarts.extendComponentView({
|
281
|
+
type: 'bmap',
|
282
|
+
render: function (bMapModel, ecModel, api) {
|
283
|
+
var rendering = true;
|
284
|
+
var bmap = bMapModel.getBMap();
|
285
|
+
var viewportRoot = api.getZr().painter.getViewportRoot();
|
286
|
+
var coordSys = bMapModel.coordinateSystem;
|
287
|
+
|
288
|
+
var moveHandler = function (type, target) {
|
289
|
+
if (rendering) {
|
290
|
+
return;
|
291
|
+
}
|
292
|
+
|
293
|
+
var offsetEl = viewportRoot.parentNode.parentNode.parentNode;
|
294
|
+
var mapOffset = [-parseInt(offsetEl.style.left, 10) || 0, -parseInt(offsetEl.style.top, 10) || 0]; // only update style when map offset changed
|
295
|
+
|
296
|
+
var viewportRootStyle = viewportRoot.style;
|
297
|
+
var offsetLeft = mapOffset[0] + 'px';
|
298
|
+
var offsetTop = mapOffset[1] + 'px';
|
299
|
+
|
300
|
+
if (viewportRootStyle.left !== offsetLeft) {
|
301
|
+
viewportRootStyle.left = offsetLeft;
|
302
|
+
}
|
303
|
+
|
304
|
+
if (viewportRootStyle.top !== offsetTop) {
|
305
|
+
viewportRootStyle.top = offsetTop;
|
306
|
+
}
|
307
|
+
|
308
|
+
coordSys.setMapOffset(mapOffset);
|
309
|
+
bMapModel.__mapOffset = mapOffset;
|
310
|
+
api.dispatchAction({
|
311
|
+
type: 'bmapRoam',
|
312
|
+
animation: {
|
313
|
+
duration: 0
|
314
|
+
}
|
315
|
+
});
|
316
|
+
};
|
317
|
+
|
318
|
+
function zoomEndHandler() {
|
319
|
+
if (rendering) {
|
320
|
+
return;
|
321
|
+
}
|
322
|
+
|
323
|
+
api.dispatchAction({
|
324
|
+
type: 'bmapRoam',
|
325
|
+
animation: {
|
326
|
+
duration: 0
|
327
|
+
}
|
328
|
+
});
|
329
|
+
}
|
330
|
+
|
331
|
+
bmap.removeEventListener('moving', this._oldMoveHandler);
|
332
|
+
bmap.removeEventListener('moveend', this._oldMoveHandler);
|
333
|
+
bmap.removeEventListener('zoomend', this._oldZoomEndHandler);
|
334
|
+
bmap.addEventListener('moving', moveHandler);
|
335
|
+
bmap.addEventListener('moveend', moveHandler);
|
336
|
+
bmap.addEventListener('zoomend', zoomEndHandler);
|
337
|
+
this._oldMoveHandler = moveHandler;
|
338
|
+
this._oldZoomEndHandler = zoomEndHandler;
|
339
|
+
var roam = bMapModel.get('roam');
|
340
|
+
|
341
|
+
if (roam && roam !== 'scale') {
|
342
|
+
bmap.enableDragging();
|
343
|
+
} else {
|
344
|
+
bmap.disableDragging();
|
345
|
+
}
|
346
|
+
|
347
|
+
if (roam && roam !== 'move') {
|
348
|
+
bmap.enableScrollWheelZoom();
|
349
|
+
bmap.enableDoubleClickZoom();
|
350
|
+
bmap.enablePinchToZoom();
|
351
|
+
} else {
|
352
|
+
bmap.disableScrollWheelZoom();
|
353
|
+
bmap.disableDoubleClickZoom();
|
354
|
+
bmap.disablePinchToZoom();
|
355
|
+
}
|
356
|
+
/* map 2.0 */
|
357
|
+
|
358
|
+
|
359
|
+
var originalStyle = bMapModel.__mapStyle;
|
360
|
+
var newMapStyle = bMapModel.get('mapStyle') || {}; // FIXME, Not use JSON methods
|
361
|
+
|
362
|
+
var mapStyleStr = JSON.stringify(newMapStyle);
|
363
|
+
|
364
|
+
if (JSON.stringify(originalStyle) !== mapStyleStr) {
|
365
|
+
// FIXME May have blank tile when dragging if setMapStyle
|
366
|
+
if (!isEmptyObject(newMapStyle)) {
|
367
|
+
bmap.setMapStyle(echarts.util.clone(newMapStyle));
|
368
|
+
}
|
369
|
+
|
370
|
+
bMapModel.__mapStyle = JSON.parse(mapStyleStr);
|
371
|
+
}
|
372
|
+
/* map 3.0 */
|
373
|
+
|
374
|
+
|
375
|
+
var originalStyle2 = bMapModel.__mapStyle2;
|
376
|
+
var newMapStyle2 = bMapModel.get('mapStyleV2') || {}; // FIXME, Not use JSON methods
|
377
|
+
|
378
|
+
var mapStyleStr2 = JSON.stringify(newMapStyle2);
|
379
|
+
|
380
|
+
if (JSON.stringify(originalStyle2) !== mapStyleStr2) {
|
381
|
+
// FIXME May have blank tile when dragging if setMapStyle
|
382
|
+
if (!isEmptyObject(newMapStyle2)) {
|
383
|
+
bmap.setMapStyleV2(echarts.util.clone(newMapStyle2));
|
384
|
+
}
|
385
|
+
|
386
|
+
bMapModel.__mapStyle2 = JSON.parse(mapStyleStr2);
|
387
|
+
}
|
388
|
+
|
389
|
+
rendering = false;
|
390
|
+
}
|
391
|
+
});
|
392
|
+
|
393
|
+
echarts.registerCoordinateSystem('bmap', BMapCoordSys); // Action
|
394
|
+
|
395
|
+
echarts.registerAction({
|
396
|
+
type: 'bmapRoam',
|
397
|
+
event: 'bmapRoam',
|
398
|
+
update: 'updateLayout'
|
399
|
+
}, function (payload, ecModel) {
|
400
|
+
ecModel.eachComponent('bmap', function (bMapModel) {
|
401
|
+
var bmap = bMapModel.getBMap();
|
402
|
+
var center = bmap.getCenter();
|
403
|
+
bMapModel.setCenterAndZoom([center.lng, center.lat], bmap.getZoom());
|
404
|
+
});
|
405
|
+
});
|
406
|
+
var version = '1.0.0';
|
407
|
+
|
408
|
+
exports.version = version;
|
409
|
+
|
410
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
411
|
+
|
412
|
+
})));
|
413
|
+
//# sourceMappingURL=bmap.js.map
|
@@ -0,0 +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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"}
|
@@ -0,0 +1,22 @@
|
|
1
|
+
|
2
|
+
/*
|
3
|
+
* Licensed to the Apache Software Foundation (ASF) under one
|
4
|
+
* or more contributor license agreements. See the NOTICE file
|
5
|
+
* distributed with this work for additional information
|
6
|
+
* regarding copyright ownership. The ASF licenses this file
|
7
|
+
* to you under the Apache License, Version 2.0 (the
|
8
|
+
* "License"); you may not use this file except in compliance
|
9
|
+
* with the License. You may obtain a copy of the License at
|
10
|
+
*
|
11
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
12
|
+
*
|
13
|
+
* Unless required by applicable law or agreed to in writing,
|
14
|
+
* software distributed under the License is distributed on an
|
15
|
+
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
16
|
+
* KIND, either express or implied. See the License for the
|
17
|
+
* specific language governing permissions and limitations
|
18
|
+
* under the License.
|
19
|
+
*/
|
20
|
+
|
21
|
+
|
22
|
+
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("echarts")):"function"==typeof define&&define.amd?define(["exports","echarts"],t):t((e=e||self).bmap={},e.echarts)}(this,function(e,d){"use strict";function l(e,t){this._bmap=e,this.dimensions=["lng","lat"],this._mapOffset=[0,0],this._api=t,this._projection=new BMap.MercatorProjection}function t(a,r){return r=r||[0,0],d.util.map([0,1],function(e){var t=r[e],o=a[e]/2,n=[],i=[];return n[e]=t-o,i[e]=t+o,n[1-e]=i[1-e]=r[1-e],Math.abs(this.dataToPoint(n)[e]-this.dataToPoint(i)[e])},this)}var c;function f(e){for(var t in e)if(e.hasOwnProperty(t))return;return 1}l.prototype.dimensions=["lng","lat"],l.prototype.setZoom=function(e){this._zoom=e},l.prototype.setCenter=function(e){this._center=this._projection.lngLatToPoint(new BMap.Point(e[0],e[1]))},l.prototype.setMapOffset=function(e){this._mapOffset=e},l.prototype.getBMap=function(){return this._bmap},l.prototype.dataToPoint=function(e){var t=new BMap.Point(e[0],e[1]),e=this._bmap.pointToOverlayPixel(t),t=this._mapOffset;return[e.x-t[0],e.y-t[1]]},l.prototype.pointToData=function(e){var t=this._mapOffset;return[(e=this._bmap.overlayPixelToPoint({x:e[0]+t[0],y:e[1]+t[1]})).lng,e.lat]},l.prototype.getViewRect=function(){var e=this._api;return new d.graphic.BoundingRect(0,0,e.getWidth(),e.getHeight())},l.prototype.getRoamTransform=function(){return d.matrix.create()},l.prototype.prepareCustoms=function(){var e=this.getViewRect();return{coordSys:{type:"bmap",x:e.x,y:e.y,width:e.width,height:e.height},api:{coord:d.util.bind(this.dataToPoint,this),size:d.util.bind(t,this)}}},l.dimensions=l.prototype.dimensions,l.create=function(e,p){var s,m=p.getDom();e.eachComponent("bmap",function(e){var t,o=p.getZr().painter,n=o.getViewportRoot();if("undefined"==typeof BMap)throw new Error("BMap api is not loaded");function i(e){this._root=e}if(c=c||((i.prototype=new BMap.Overlay).initialize=function(e){return e.getPanes().labelPane.appendChild(this._root),this._root},i.prototype.draw=function(){},i),s)throw new Error("Only one bmap component can exist");e.__bmap||((a=m.querySelector(".ec-extension-bmap"))&&(n.style.left="0px",n.style.top="0px",m.removeChild(a)),(a=document.createElement("div")).className="ec-extension-bmap",a.style.cssText="position:absolute;width:100%;height:100%",m.appendChild(a),(r=e.get("mapOptions"))&&delete(r=d.util.clone(r)).mapType,t=e.__bmap=new BMap.Map(a,r),a=new c(n),t.addOverlay(a),o.getViewportRootOffset=function(){return{offsetLeft:0,offsetTop:0}}),t=e.__bmap;var a,r=e.get("center"),n=e.get("zoom");r&&n&&(a=t.getCenter(),o=t.getZoom(),e.centerOrZoomChanged([a.lng,a.lat],o)&&(o=new BMap.Point(r[0],r[1]),t.centerAndZoom(o,n))),(s=new l(t,p)).setMapOffset(e.__mapOffset||[0,0]),s.setZoom(n),s.setCenter(r),e.coordinateSystem=s}),e.eachSeries(function(e){"bmap"===e.get("coordinateSystem")&&(e.coordinateSystem=s)})},d.extendComponentModel({type:"bmap",getBMap:function(){return this.__bmap},setCenterAndZoom:function(e,t){this.option.center=e,this.option.zoom=t},centerOrZoomChanged:function(e,t){var o,n=this.option;return o=e,e=n.center,!(o&&e&&o[0]===e[0]&&o[1]===e[1]&&t===n.zoom)},defaultOption:{center:[104.114129,37.550339],zoom:5,mapStyle:{},mapStyleV2:{},mapOptions:{},roam:!1}}),d.extendComponentView({type:"bmap",render:function(r,e,p){var s=!0,t=r.getBMap(),m=p.getZr().painter.getViewportRoot(),l=r.coordinateSystem,o=function(e,t){var o,n,i,a;s||(a=m.parentNode.parentNode.parentNode,o=[-parseInt(a.style.left,10)||0,-parseInt(a.style.top,10)||0],n=m.style,i=o[0]+"px",a=o[1]+"px",n.left!==i&&(n.left=i),n.top!==a&&(n.top=a),l.setMapOffset(o),r.__mapOffset=o,p.dispatchAction({type:"bmapRoam",animation:{duration:0}}))};function n(){s||p.dispatchAction({type:"bmapRoam",animation:{duration:0}})}t.removeEventListener("moving",this._oldMoveHandler),t.removeEventListener("moveend",this._oldMoveHandler),t.removeEventListener("zoomend",this._oldZoomEndHandler),t.addEventListener("moving",o),t.addEventListener("moveend",o),t.addEventListener("zoomend",n),this._oldMoveHandler=o,this._oldZoomEndHandler=n;var i=r.get("roam");i&&"scale"!==i?t.enableDragging():t.disableDragging(),i&&"move"!==i?(t.enableScrollWheelZoom(),t.enableDoubleClickZoom(),t.enablePinchToZoom()):(t.disableScrollWheelZoom(),t.disableDoubleClickZoom(),t.disablePinchToZoom());var a=r.__mapStyle,o=r.get("mapStyle")||{},i=JSON.stringify(o);JSON.stringify(a)!==i&&(f(o)||t.setMapStyle(d.util.clone(o)),r.__mapStyle=JSON.parse(i));a=r.__mapStyle2,o=r.get("mapStyleV2")||{},i=JSON.stringify(o);JSON.stringify(a)!==i&&(f(o)||t.setMapStyleV2(d.util.clone(o)),r.__mapStyle2=JSON.parse(i)),s=!1}}),d.registerCoordinateSystem("bmap",l),d.registerAction({type:"bmapRoam",event:"bmapRoam",update:"updateLayout"},function(e,t){t.eachComponent("bmap",function(e){var t=e.getBMap(),o=t.getCenter();e.setCenterAndZoom([o.lng,o.lat],t.getZoom())})});e.version="1.0.0",Object.defineProperty(e,"__esModule",{value:!0})});
|