Toggle navigation
地图下钻
By
S***七
2017-10-26 03:38:55
脚本
16
21
作品使用的第三方脚本
http://webapi.amap.com/maps?v=1.3&key=9d4f5c2078ba12cb9d9d09c4e81c95d0&plugin=AMap.DistrictSearch
数据管理
上传数据
支持小于 5M 任意格式(csv, xlsx, json, xml, ...)的数据文件
上传后可以通过生成的文件链接异步获取托管的数据。
历史数据
0 条
无历史数据
代码修改记录
信息提示
保存作品
对当前截图不满意?你还可以
上传本地截图
重新截图
作品名称
作品描述
标签
geo
grid
legend
markLine
markPoint
bar
effectScatter
line
lines
map
timeline
title
toolbox
tooltip
visualMap
作品默认版本
最新
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
20:11:45
图表已生成
整理代码
刷新
代码
function loadJSON() { var i, o, n, m, l, k, j; a = myChart, a.showLoading(), i = $(".panel").find("option:selected").last(), i.attr("selected", !0), o = i.val().split("|"), n = o[0], m = o[1], l = i.text(), k = { subdistrict: 1, extensions: "all" }, j = new AMap.DistrictSearch(k), j.setSubdistrict(1), j.setLevel(n), j.search(l, function(A, z) { function y() { this.type = "FeatureCollection", this.features = []; } function x() { this.type = "Feature", this.id = "", this.properties = { name: "", cp: [], childNum: 1 }, this.geometry = { type: "Polygon", coordinates: [] }; } function w(H, G) { var B, q, p, F = [], E = [], D = [], C = H.boundaries.length; if (1 === C) { for (B = H.boundaries[0], q = 0; q < B.length; q++) { F[0] = B[q].lng, F[1] = B[q].lat, E.push(F), F = []; } G.push(E); } else { for (p = 0; C > p; p++) { for (B = H.boundaries[p], q = 0; q < B.length; q++) { F[0] = B[q].lng, F[1] = B[q].lat, E.push(F), F = []; } D.push(E), E = [], G.push(D), D = []; } } } function v(f) { f.UTF8Encoding = !0; var c = f.features; return c ? (c.forEach(function(p) { var g = p.geometry.encodeOffsets = [], q = p.geometry.coordinates; "Polygon" === p.geometry.type ? q.forEach(function(b, B) { q[B] = u(b, g[B] = []); }) : "MultiPolygon" === p.geometry.type && q.forEach(function(b, B) { g[B] = [], b.forEach(function(C, D) { q[B][D] = u(C, g[B][D] = []); }); }); }), f) : void 0; } function u(q, p) { var C, B, F = "", E = t(q[0][0]), D = t(q[0][1]); for (p[0] = E, p[1] = D, C = 0; C < q.length; C++) { B = q[C], F += s(B[0], E), F += s(B[1], D), E = t(B[0]), D = t(B[1]); } return F; } function t(b) { return Math.ceil(1024 * b); } function s(f, c) { return f = t(f), f -= c, 8232 == 64 + (f << 1 ^ f >> 15) && f--, f = f << 1 ^ f >> 15, String.fromCharCode(f + 64); } function r(K, J, I) { var B, g, f, H = new y(), G = H.features, F = K[0], E = F.districtList, D = F.citycode, C = 0; if (D.length) { for (B = 0, g = E.length; g > B; B++) { C++, j.search(E[B].name, function(p, q) { function c(N, M) { var T, S, R, Q, P, O; for (T = new x(), S = [], R = [], Q = 0, P = N.length; P > Q; Q++) { if (O = N[Q], O.citycode === M) { return T.id = O.adcode, T.properties.name = O.name, T.properties.childNum = O.boundaries.length, T.properties.childNum > 1 && (T.geometry.type = "MultiPolygon"), S[0] = O.center.lng, S[1] = O.center.lat, T.properties.cp = S, S = [], w(O, R), T.geometry.coordinates = R, R = [], T; } } } C--; var b = q.districtList, L = c(b, m); L && G.push(L), 0 === C && (J && (H = v(H)), I(H), j.setSubdistrict(1)); }); } } else { for (B = 0, g = E.length; g > B; B++) { f = E[B].name, C++, j.search(f, function(q, c) { function M(O) { var N, T, S, R, Q, P; for (N = new x(), T = [], S = [], R = 0, Q = O.length; Q > R; R++) { return P = O[R], N.id = P.adcode, N.properties.name = P.name, N.properties.childNum = P.boundaries.length, N.properties.childNum > 1 && (N.geometry.type = "MultiPolygon"), T[0] = P.center.lng, T[1] = P.center.lat, N.properties.cp = T, T = [], w(P, S), N.geometry.coordinates = S, S = [], N; } } C--; var L = c.districtList, p = M(L); G.push(p), 0 === C && (H = v(H), I(H), j.setSubdistrict(1)); }); } } } function h(H, G, F) { function E(I, p) { var O, N, M, L, K, J; for (O = new x(), N = [], M = [], L = 0, K = I.length; K > L; L++) { if (J = I[L], J.citycode == p) { return O.id = J.adcode, O.properties.name = J.name, O.properties.childNum = J.boundaries.length, O.properties.childNum > 1 && (O.geometry.type = "MultiPolygon"), N[0] = J.center.lng, N[1] = J.center.lat, O.properties.cp = N, N = [], w(J, M), O.geometry.coordinates = M, O; } } } function D(I) { var p = new x(), K = [], J = []; return p.id = I.adcode, p.properties.name = I.name, p.properties.childNum = I.boundaries.length, p.properties.childNum > 1 && (p.geometry.type = "MultiPolygon"), K[0] = I.center.lng, K[1] = I.center.lat, p.properties.cp = K, K = [], w(I, J), p.geometry.coordinates = J, p; } var C, B = new y(), q = B.features, g = H[0], f = (g.citycode, g.level); C = "district" === f ? E(H, m) : D(g), q.push(C), G && (B = v(B)), F(B), j.setSubdistrict(1); } function e(c) { echarts.registerMap("mapArea", c), $("#" + a.getDom().id).contextmenu(function() { return !1; }), a.clear(), a.setOption({ color: [ "#dd6b66", "#759aa0", "#e69d87", "#8dc1a9", "#ea7e53", "#eedd78", "#73a373", "#73b9bc", "#7289ab", "#91ca8c", "#f49f42" ], backgroundColor: "#333", textStyle: { color: "#eee", fontFamily: "Microsoft YaHei", fontSize: 12, fontStyle: "normal", fontWeight: "normal" }, title: { text: $(".panel select:eq(-2) option:selected").text(), subtext: "注:点击下钻,右击跳出(目前只支持到县市级)", textStyle: { color: "#fff" } }, geo: { map: "mapArea", roam: !0, selectedMode: "single", itemStyle: { normal: { borderColor: "rgba(100,149,237,1)", borderWidth: 1.5, areaColor: "#1b1b1b" } } } }), a.on("geoselectchanged", function(b) { /*$(".panel select:last-child option").each(function() { return $(this).text() == b.batch[0].name ? ($(this).attr("selected", !0), void loadJSON()) : void 0; });*/ }), a.getZr().on("mousedown", function(b) { switch (b.event.which) { case 3: $(".panel select").length > 2 && ($(".panel select:last-child").remove(), $(".panel select:last-child").remove(), loadJSON()); } }), a.hideLoading(); } switch (n) { case "district": case "biz_area": h(z.districtList, !0, e); break; default: r(z.districtList, !0, e); var d = $("
"); switch (d.change(function() { $(this).nextAll().remove(), $(this).val() || $(this).remove(), loadJSON(); }), d.appendTo($(".panel")), n) { case "country": d.append($('
-- 所有省(行政区,直辖市) --
')); break; case "province": d.append($('
-- 所有城市 --
')); break; case "city": d.append($('
-- 所有区县 --
')); } z.districtList[0].districtList.forEach(function(b) { d.append($('
' + b.name + "
")); }); } }); } $("body").append($('
请选择区域:
中国
')), loadJSON();