Skip to content

Commit 6c66c59

Browse files
committed
add code
1 parent 79b86a9 commit 6c66c59

8 files changed

+94799
-0
lines changed

Diff for: Echarts3Layer.js

+1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Diff for: Echarts3Layer3x.js

+96
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,96 @@
1+
define(["dojo/_base/declare", "dojo/_base/lang", "esri/geometry/Point", "esri/geometry/ScreenPoint"], function (declare, t, Point, ScreenPoint) {
2+
return declare("Echarts3Layer3x", null, {
3+
name: "Echarts3Layer3x",
4+
_map: null,
5+
_ec: null,
6+
_geoCoord: [],
7+
_option: null,
8+
_mapOffset: [0, 0],
9+
constructor: function (map, echartsObj) {
10+
this._map = map;
11+
var element = this._echartsContainer = document.createElement("div");
12+
element.style.position = "absolute",
13+
element.style.height = map.height + "px",
14+
element.style.width = map.width + "px",
15+
element.style.top = 0,
16+
element.style.left = 0,
17+
map.__container.appendChild(element),
18+
this._init(map, echartsObj)
19+
},
20+
_init: function (map, echartsObj) {
21+
console.log('<a href="https://github.com/wandergis/arcgis-echarts3">develop by wandergis</a>');
22+
var _self = this;
23+
_self._map = map,
24+
_self._ec = echartsObj,
25+
_self.getEchartsContainer = function () {
26+
return _self._echartsContainer
27+
},
28+
_self.getMap = function () {
29+
return _self._map
30+
},
31+
_self.initECharts = function () {
32+
_self._ec = echartsObj.init.apply(_self, arguments);
33+
_self._ec.Geo.prototype.dataToPoint = function (e) {
34+
var pointTemp = new Point(e[0], e[1]),
35+
pointScreenObj = _self._map.toScreen(pointTemp);
36+
return [pointScreenObj.x, pointScreenObj.y]
37+
};
38+
_self._bindEvent();
39+
return _self._ec
40+
},
41+
//_self.initECharts = function () {
42+
// return _self._ec = echartsObj.init.apply(_self, arguments),
43+
// _self._ec.Geo.prototype.dataToPoint = function (e) {
44+
// var pointTemp = new Point(e[0], e[1]),
45+
// pointScreenObj = _self._map.toScreen(pointTemp);
46+
// return [pointScreenObj.x, pointScreenObj.y]
47+
// },
48+
// _self._bindEvent(),
49+
// _self._ec
50+
//},
51+
_self.getECharts = function () {
52+
return _self._ec
53+
},
54+
_self.setOption = function (e, t) {
55+
_self._option = e,
56+
_self._ec.setOption(e, t)
57+
},
58+
_self._bindEvent = function () {
59+
_self._map.on("zoom-end", function (e) {
60+
_self._ec.resize(),
61+
_self._echartsContainer.style.visibility = "visible"
62+
}),
63+
_self._map.on("zoom-start", function (e) {
64+
_self._echartsContainer.style.visibility = "hidden"
65+
}),
66+
_self._map.on("pan", function (e) {
67+
_self._echartsContainer.style.visibility = "hidden"
68+
}),
69+
_self._map.on("pan-end", function (e) {
70+
_self._ec.resize(), _self._echartsContainer.style.visibility = "visible"
71+
}),
72+
_self._map.on("resize", function () {
73+
var e = _self._echartsContainer.parentNode.parentNode.parentNode;
74+
_self._mapOffset = [-parseInt(e.style.left) || 0, -parseInt(e.style.top) || 0],
75+
_self._echartsContainer.style.left = _self._mapOffset[0] + "px",
76+
_self._echartsContainer.style.top = _self._mapOffset[1] + "px",
77+
setTimeout(function () {
78+
_self._map.resize(), _self._map.reposition(), _self._ec.resize()
79+
}, 200),
80+
_self._echartsContainer.style.visibility = "visible"
81+
}),
82+
_self._ec.getZr().on("dragstart", function (e) {
83+
}),
84+
_self._ec.getZr().on("dragend", function (e) {
85+
}),
86+
_self._ec.getZr().on("mousewheel", function (e) {
87+
_self._lastMousePos = _self._map.toMap(new ScreenPoint(e.event.x, e.event.y));
88+
var t = e.wheelDelta,
89+
mapTemp = _self._map,
90+
a = mapTemp.getZoom();
91+
t = t > 0 ? Math.ceil(t) : Math.floor(t), t = Math.max(Math.min(t, 4), -4), t = Math.max(mapTemp.getMinZoom(), Math.min(mapTemp.getMaxZoom(), a + t)) - a, _self._delta = 0, _self._startTime = null, t && mapTemp.setZoom(a + t)
92+
})
93+
}
94+
}
95+
})
96+
});

Diff for: Echarts3Layer4x.js

+105
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,105 @@
1+
define(["dojo/_base/declare", "dojo/_base/lang",
2+
"esri/geometry/support/webMercatorUtils",
3+
"esri/geometry/SpatialReference",
4+
"esri/geometry/Point",
5+
"esri/geometry/ScreenPoint"], function (declare, t, webMercatorUtils, SpatialReference,Point, ScreenPoint) {
6+
return declare("Echarts3Layer4x", null, {
7+
name: "Echarts3Layer4x",
8+
_view: null,
9+
_map: null,
10+
_ec: null,
11+
_geoCoord: [],
12+
_option: null,
13+
_mapOffset: [0, 0],
14+
constructor: function (view, echartsObj) {
15+
this._map = view.map;
16+
this._view = view;
17+
var element = this._echartsContainer = document.createElement("div");
18+
element.style.position = "absolute";
19+
element.style.height = view.height + "px";
20+
element.style.width = view.width + "px";
21+
element.style.top = 0;
22+
element.style.left = 0;
23+
element.style.pointerEvents = 'none';
24+
25+
view.container.appendChild(element);
26+
this._init(view, echartsObj);
27+
},
28+
_init: function (view, echartsObj) {
29+
console.log('<a href="https://github.com/wandergis/arcgis-echarts3">develop by wandergis</a>');
30+
var _self = this;
31+
_self._map = view.map,
32+
_self._view = view,
33+
_self._ec = echartsObj,
34+
_self.getEchartsContainer = function () {
35+
return _self._echartsContainer
36+
},
37+
_self.getMap = function () {
38+
return _self._map
39+
},
40+
_self.initECharts = function () {
41+
_self._ec = echartsObj.init.apply(_self, arguments);
42+
_self._ec.Geo.prototype.dataToPoint = function (e) {
43+
var pointTemp = new Point(e[0], e[1]);
44+
// var pointMercator = webMercatorUtils.lngLatToXY(pointTemp.longitude, pointTemp.latitude, true);//4.5还可以
45+
var pointMercator = webMercatorUtils.lngLatToXY(pointTemp.longitude, pointTemp.latitude);//4.7版本
46+
var pointFinal = new Point(pointMercator[0],pointMercator[1],new SpatialReference(102100));
47+
var pointScreenObj = _self._view.toScreen(pointFinal);
48+
return [pointScreenObj.x, pointScreenObj.y]
49+
};
50+
_self._bindEvent();
51+
return _self._ec
52+
},
53+
//_self.initECharts = function () {
54+
// return _self._ec = echartsObj.init.apply(_self, arguments),
55+
// _self._ec.Geo.prototype.dataToPoint = function (e) {
56+
// var pointTemp = new Point(e[0], e[1]),
57+
// pointScreenObj = _self._map.toScreen(pointTemp);
58+
// return [pointScreenObj.x, pointScreenObj.y]
59+
// },
60+
// _self._bindEvent(),
61+
// _self._ec
62+
//},
63+
_self.getECharts = function () {
64+
return _self._ec
65+
},
66+
_self.setOption = function (e, t) {
67+
_self._option = e,
68+
_self._ec.setOption(e, t)
69+
},
70+
_self._bindEvent = function () {
71+
//浏览器窗口大小变化
72+
_self._view.on("resize", function () {
73+
var e = _self._echartsContainer.parentNode.parentNode.parentNode;
74+
_self._mapOffset = [-parseInt(e.style.left) || 0, -parseInt(e.style.top) || 0],
75+
_self._echartsContainer.style.left = _self._mapOffset[0] + "px",
76+
_self._echartsContainer.style.top = _self._mapOffset[1] + "px",
77+
setTimeout(function () {
78+
_self._ec.resize()
79+
}, 200),
80+
_self._echartsContainer.style.visibility = "visible"
81+
}),
82+
//鼠标抬起
83+
_self._view.on("pointer-up", function (e) {
84+
_self._ec.resize()
85+
});
86+
//监听zoom事件
87+
_self._view.watch("zoom", function (value) {
88+
if (isInteger(value)) {
89+
_self._ec.resize()
90+
}
91+
//console.log("zoom级别:" + value);
92+
});
93+
}
94+
}
95+
})
96+
});
97+
/**
98+
* @func 字符串是否是整数
99+
* @param str 要判断的字符串
100+
* @return true或者false
101+
* */
102+
function isInteger( str ){
103+
var regu = /^[-]{0,1}[0-9]{1,}$/;
104+
return regu.test(str);
105+
}

Diff for: echarts-gl.js

+1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)