Toggle navigation
陆家嘴 区域道路和房屋可视化
By
m***i
2018-08-13 07:26:51
脚本
16
21
作品使用的第三方脚本
https://deyihu.github.io/src/lib/echarts-gl.1.1.3.js?tdsourcetag=s_pctim_aiomsg,https://cdn.jsdelivr.net/npm/maptalks@0.40.1/dist/maptalks.min.js,https://cdn.bootcss.com/Turf.js/5.1.6/turf.min.js
数据管理
上传数据
支持小于 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
图表已生成
整理代码
刷新
代码
var uploadedDataURL_Road = "/asset/get/s/data-1534143589600-SJRPnoAHQ.json"; var uploadedDataURL = "/asset/get/s/data-1534124434928-H1s9ZDCHm.png"; var urls = [ '/asset/get/s/data-1534122453627-Sk0AFUAS7.json', '/asset/get/s/data-1534122457941-SyzJ5LRrm.json', '/asset/get/s/data-1534122460460-Sy4ycIRrm.json', '/asset/get/s/data-1534122464227-SyO19LASQ.json', '/asset/get/s/data-1534122469424-H1T1cIAHm.json', '/asset/get/s/data-1534122472873-r1bxqLCrm.json', '/asset/get/s/data-1534122475403-rkXe9I0B7.json', '/asset/get/s/data-1534122480993-Byte9UABm.json', '/asset/get/s/data-1534122485491-Sk6ecICBQ.json', '/asset/get/s/data-1534122489312-SJWbqIRSX.json', '/asset/get/s/data-1534122493485-SkSZ5L0SQ.json', '/asset/get/s/data-1534122497610-rJq-qU0H7.json', '/asset/get/s/data-1534122500830-H16ZcLRSQ.json', '/asset/get/s/data-1534122505132-Hk-M980HX.json', '/asset/get/s/data-1534122575649-Bku8qI0rm.json', '/asset/get/s/data-1534122579059-SJiIqUCrQ.json', '/asset/get/s/data-1534122582576-SyyvqURSm.json', '/asset/get/s/data-1534123103827-Hyuvn8ABX.json', '/asset/get/s/data-1534123105869-rJqP2IASX.json', '/asset/get/s/data-1534123108102-rynD3IAH7.json', '/asset/get/s/data-1534123110483-Hk0DnIRSm.json', '/asset/get/s/data-1534123112641-Sy-OnUAS7.json', '/asset/get/s/data-1534123114663-H1XdnIASQ.json', '/asset/get/s/data-1534123117335-S1Su3U0rm.json', '/asset/get/s/data-1534123119678-ryuu2U0BX.json', '/asset/get/s/data-1534123122201-r19_2LRrX.json', '/asset/get/s/data-1534123124560-rkpOnL0HX.json', '/asset/get/s/data-1534123127438-rJ1Yh8ASQ.json', '/asset/get/s/data-1534123130178-HkMY2URH7.json', '/asset/get/s/data-1534123132763-SkBtnUCr7.json', '/asset/get/s/data-1534123135252-BJvKnLCB7.json', '/asset/get/s/data-1534123147274-r1m52ICSm.json', '/asset/get/s/data-1534123149452-SJB938Crm.json', '/asset/get/s/data-1534123151998-rkO9h8RSm.json', '/asset/get/s/data-1534123154271-rJ99h8CS7.json', '/asset/get/s/data-1534123156635-ByT53ICBm.json', '/asset/get/s/data-1534123158829-rk1in80Sm.json', '/asset/get/s/data-1534123165450-rJHj2LRH7.json', '/asset/get/s/data-1534123169857-ry9s3I0BQ.json', '/asset/get/s/data-1534123172167-BJ3i38CHQ.json', '/asset/get/s/data-1534123178732-SymnnIRHQ.json', '/asset/get/s/data-1534123181402-r1HnhLRS7.json', '/asset/get/s/data-1534123184197-ByO2nLRr7.json', '/asset/get/s/data-1534123187746-Hyh3nUAr7.json', '/asset/get/s/data-1534123191298-Bykp3URSQ.json', '/asset/get/s/data-1534123210480-ryzC3U0H7.json', '/asset/get/s/data-1534123213741-S180h8AHm.json', '/asset/get/s/data-1534123216424-BydCn80HX.json', '/asset/get/s/data-1534123218675-HJsChURBX.json', '/asset/get/s/data-1534123229545-SyU1T8ABX.json', '/asset/get/s/data-1534123232244-BkdJaUCrX.json', '/asset/get/s/data-1534123234858-H1sJ6I0Hm.json', '/asset/get/s/data-1534123237173-rk6kaLCB7.json', '/asset/get/s/data-1534123239663-HkxlpLABm.json', '/asset/get/s/data-1534123242280-HkGgaU0Hm.json', '/asset/get/s/data-1534123244901-HJSepUCHm.json', '/asset/get/s/data-1534123248392-rkOg68CrX.json', '/asset/get/s/data-1534123250899-SJjgpL0H7.json', '/asset/get/s/data-1534123254292-rkAlaUArm.json', '/asset/get/s/data-1534123258486-ryz-6LRBX.json', '/asset/get/s/data-1534123282702-B1iG6I0Bm.json', '/asset/get/s/data-1534123284897-H1aGpICSX.json', '/asset/get/s/data-1534123287886-HkgmTL0BX.json', '/asset/get/s/data-1534123290691-rJQXaUAHm.json', '/asset/get/s/data-1534123293635-ryLXa8ArQ.json', '/asset/get/s/data-1534123296625-rkFQpIRHQ.json', '/asset/get/s/data-1534123300422-S137pLCSm.json', '/asset/get/s/data-1534123304645-Sy-ETI0Sm.json', '/asset/get/s/data-1534123308760-BySVa8CSm.json', '/asset/get/s/data-1534123319900-BJeBpL0SX.json', '/asset/get/s/data-1534123323017-H1mSTLRSQ.json', '/asset/get/s/data-1534123325915-rk8STLAHQ.json', '/asset/get/s/data-1534123337250-Hk-LaLCSQ.json', '/asset/get/s/data-1534123351737-BkgvpLCSX.json', '/asset/get/s/data-1534123353938-HyMw68CS7.json', '/asset/get/s/data-1534123356243-ry4PTLRrX.json', '/asset/get/s/data-1534123358565-HJvvpIASX.json', '/asset/get/s/data-1534123360969-BJKPTL0Hm.json', '/asset/get/s/data-1534123363418-BJoD6LCHm.json', '/asset/get/s/data-1534123365741-HJRP6U0Sm.json', '/asset/get/s/data-1534123368303-r1l_aLABm.json', '/asset/get/s/data-1534123371112-H1m_TL0rQ.json', '/asset/get/s/data-1534123373639-rk8dpICHQ.json', '/asset/get/s/data-1534123375996-HJdOpLCSm.json', '/asset/get/s/data-1534123378375-HJ5_aL0BQ.json', '/asset/get/s/data-1534123381458-rkTdaUABQ.json', '/asset/get/s/data-1534123383791-H1gY6LASm.json', '/asset/get/s/data-1534123386608-r1Qta8AHX.json', '/asset/get/s/data-1534123389592-BkLFT80Sm.json', '/asset/get/s/data-1534123392752-ByYFaLASQ.json', '/asset/get/s/data-1534123404802-H1H9p8ASQ.json', '/asset/get/s/data-1534123406805-HJwqTU0Bm.json', '/asset/get/s/data-1534123409216-rkYcTURB7.json', '/asset/get/s/data-1534123411440-rkoqT8AHX.json', '/asset/get/s/data-1534123413486-HJ69pU0SX.json', '/asset/get/s/data-1534123415782-rygoTI0Hm.json', '/asset/get/s/data-1534123418179-SJMipICBm.json', '/asset/get/s/data-1534123420543-rJrj6LRBQ.json', '/asset/get/s/data-1534123422759-rkDiaUASQ.json', '/asset/get/s/data-1534123425409-H1FsTLRB7.json', '/asset/get/s/data-1534123427825-rk2o680rQ.json', '/asset/get/s/data-1534123430410-ryCsTUCr7.json', '/asset/get/s/data-1534123432881-S1Z2pUCBQ.json', '/asset/get/s/data-1534123435520-BkNnp80SQ.json', '/asset/get/s/data-1534123439893-By_3TIABm.json', '/asset/get/s/data-1534123443374-HJi3aURBm.json', '/asset/get/s/data-1534123446355-HyAh6L0rm.json', '/asset/get/s/data-1534123449835-ByM6TICHm.json', '/asset/get/s/data-1534123452692-HJrT6LASm.json', '/asset/get/s/data-1534123455539-Sy_6680SX.json', '/asset/get/s/data-1534123466997-S1mApURBm.json', '/asset/get/s/data-1534123469207-rJHRaIAHm.json', '/asset/get/s/data-1534123471315-SyDATUArQ.json', '/asset/get/s/data-1534123474095-B15Cp8RrX.json', '/asset/get/s/data-1534123476663-Hyp0TIRrX.json', '/asset/get/s/data-1534123479220-BJJ10LABQ.json', '/asset/get/s/data-1534123481859-SyzkALAHX.json', '/asset/get/s/data-1534123484201-B1Ek0UABm.json', '/asset/get/s/data-1534123486539-rJwy08RHX.json', '/asset/get/s/data-1534123488873-SyKJAURrX.json', '/asset/get/s/data-1534123491450-Hks10IRHm.json', '/asset/get/s/data-1534123494077-S10108RSQ.json', '/asset/get/s/data-1534123496303-Hkgxg08CHX.json', '/asset/get/s/data-1534123498919-By7eRLAH7.json', '/asset/get/s/data-1534123504469-Sk_xC80S7.json', '/asset/get/s/data-1534123508397-B1ne0IRB7.json', '/asset/get/s/data-1534123511120-SyJbC8CrX.json', '/asset/get/s/data-1534123514840-Sk7ZCICBm.json', '/asset/get/s/data-1534123517358-SyBZ0IRS7.json' ]; var len = urls.length; var index = 0; var idMap = {}; function getRoads(callback) { $.getJSON(uploadedDataURL_Road, function(roadJson) { console.log(roadJson) var linesData = formatRoadData(roadJson); callback(linesData); }); } function formatRoadData(shanghairoads) { var roads = shanghairoads; var roadList = []; roads.forEach(element => { var roadArray = element.split(';'); var lnglats = []; roadArray.forEach(ll => { let lnglat = ll.split(','); lnglat = [parseFloat(lnglat[0]), parseFloat(lnglat[1])]; let pt = turf.point(lnglat); let converted = turf.toWgs84(pt); lnglats.push(converted.geometry.coordinates); }); roadList.push({ coords: lnglats }); }); return roadList; } function getJson(idx) { var url = urls[idx]; $.getJSON(url, function(buildingsGeoJSON) { var builds = []; if (buildingsGeoJSON.features) { buildingsGeoJSON = buildingsGeoJSON.features; builds = buildingsGeoJSON.map(function(feature) { // feature.properties.name=feature.id; // console.log(feature.properties) return feature; }) } else { builds = buildingsGeoJSON.map(function(feature) { return { "type": "Feature", "properties": { "name": Math.random().toString(), "height": feature.height }, "geometry": { "type": "Polygon", "coordinates": [feature.polygon] } } }) } var buildsNew = []; builds.forEach(element => { let id = element.id; if (!idMap[id]) { buildsNew.push(element); idMap[id] = id; } }); var regionsData = buildsNew.map(function(feature) { let f = { name: feature.properties.name || feature.properties.id, value: Math.random() * 1, height: feature.properties.height * 2 || feature.properties.levels * 8, coords: feature.geometry.coordinates, }; if (f.height < 30 || isNaN(f.height)) f.height = 30; return f; }); index++; if (index < len) { myChart.appendData({ seriesIndex: 0, data: regionsData }); getJson(index); } else { //initCharts(index); } }) } function initCharts(linesData) { myChart.setOption({ title: { text: '陆家嘴', textStyle: { color: '#fff', fontSize: 45, align: 'center' } }, maptalks3D: { zoom: 6, center: [121.49342415576655, 31.24042154361959], pitch: 55, bearing: 0, urlTemplate: 'http://{s}.basemaps.cartocdn.com/dark_all/{z}/{x}/{y}.png', postEffect: { enable: true, FXAA: { enable: true } }, light: { main: { intensity: 1, shadow: false, shadowQuality: 'high' }, ambient: { intensity: 0. }, ambientCubemap: { texture: '/asset/get/s/data-1491838644249-ry33I7YTe.hdr', exposure: 1, diffuseIntensity: 0.5, specularIntensity: 2 } } }, series: [{ type: 'polygons3D', coordinateSystem: 'maptalks3D', // multiPolygon: true, // map: 'buildings', data: [], //buildsData, shading: 'realistic', instancing: true, silent: true, realisticMaterial: { metalness: 1, roughness: 0.4, textureTiling: 35, detailTexture: uploadedDataURL } }, { type: 'lines3D', coordinateSystem: 'maptalks3D', effect: { show: true, constantSpeed: 0.001, trailWidth: 5, trailLength: 0.5, trailOpacity: 1, spotIntensity: 10 }, blendMode: 'lighter', lineStyle: { color: '#0991A9', opacity: 0.1 }, polyline: true, data: linesData } ] }); var map = myChart.getModel().getComponent('maptalks3D').getMaptalks(); map.on('click', function(e) { console.log(map.getView()); }) map.animateTo({ zoom: 16, center: [121.49342415576655, 31.24042154361959], pitch: 55, bearing: 0 }, { duration: 5000 }) } myChart.showLoading(); getRoads(function(linesData) { myChart.hideLoading(); initCharts(linesData); getJson(0) }); window.addEventListener('resize', function() { myChart.resize(); });