ECharts+高德卫星地图-飞线图效果

ECharts+高德地图实现卫星地图-飞线图

加载资源:

  1. https://webapi.amap.com/maps?v=1.4.15&key=申请Key(高德开放平台申请key
  2. echarts.min.js
  3. echarts-amap.min.js或者
!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e(require("echarts")):"function"==typeof define&&define.amd?define(["echarts"],e):"object"==typeof exports?exports.amap=e(require("echarts")):(t.echarts=t.echarts||{},t.echarts.amap=e(t.echarts))}(this,function(t){return function(t){function e(n){if(o[n])return o[n].exports;var a=o[n]={i:n,l:!1,exports:{}};return t[n].call(a.exports,a,a.exports,e),a.l=!0,a.exports}var o={};return e.m=t,e.c=o,e.i=function(t){return t},e.d=function(t,o,n){e.o(t,o)||Object.defineProperty(t,o,{configurable:!1,enumerable:!0,get:n})},e.n=function(t){var o=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(o,"a",o),o},e.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},e.p="",e(e.s=4)}([function(e,o){e.exports=t},function(t,e,o){function n(t,e){this._amap=t,this.dimensions=["lng","lat"],this._mapOffset=[0,0],this._api=e}var a=o(0);n.prototype.dimensions=["lng","lat"],n.prototype.setZoom=function(t){this._zoom=t},n.prototype.setCenter=function(t){this._center=this._amap.lnglatToPixel(t)},n.prototype.setMapOffset=function(t){this._mapOffset=t},n.prototype.getAMap=function(){return this._amap},n.prototype.dataToPoint=function(t){var e=new AMap.LngLat(t[0],t[1]),o=this._amap.lngLatToContainer(e),n=this._mapOffset;return[o.x-n[0],o.y-n[1]]},n.prototype.pointToData=function(t){var e=this._mapOffset,t=this._amap.containerToLngLat({x:t[0]+e[0],y:t[1]+e[1]});return[t.lng,t.lat]},n.prototype.getViewRect=function(){var t=this._api;return new a.graphic.BoundingRect(0,0,t.getWidth(),t.getHeight())},n.prototype.getRoamTransform=function(){return a.matrix.create()};n.dimensions=n.prototype.dimensions,n.create=function(t,e){var o,r=e.getDom();t.eachComponent("amap",function(t){var i=e.getZr().painter.getViewportRoot();if("undefined"==typeof AMap)throw new Error("AMap api is not loaded");if(o)throw new Error("Only one amap component can exist");if(!t.__amap){var p=r.querySelector(".ec-extension-amap");p&&(i.style.left="0px",i.style.top="0px",r.removeChild(p)),p=document.createElement("div"),p.style.cssText="width:100%;height:100%",p.classList.add("ec-extension-amap"),r.appendChild(p);var s=t.get()||{};s=t.__options=a.util.clone(s);var c=t.__amap=new AMap.Map(p,s),f=t.__layer=new AMap.CustomLayer(i);f.setMap(c)}var c=t.getAMap(),f=t.getLayer();f.hide();var m=c.getZoom(),u=c.getCenter();o=new n(c,e),o.setMapOffset(t.__mapOffset||[0,0]),o.setZoom(m),o.setCenter([u.lng,u.lat]),t.coordinateSystem=o,f.show()}),t.eachSeries(function(t){"amap"===t.get("coordinateSystem")&&(t.coordinateSystem=o)})},t.exports=n},function(t,e,o){function n(t,e){return t&&e&&t[0]===e[0]&&t[1]===e[1]}t.exports=o(0).extendComponentModel({type:"amap",getAMap:function(){return this.__amap},getLayer:function(){return this.__layer},getMapOptions:function(){return this.__options},setCenterAndZoom:function(t,e){this.option.center=t,this.option.zoom=e},centerOrZoomChanged:function(t,e){var o=this.option;return!(n(t,o.center)&&e===o.zoom)},defaultOption:{center:[116.397475,39.908695],zoom:4}})},function(t,e,o){function n(t,e,o){var n,a,r,i;return i=function(){n=!1,a&&(r.apply(o,a),a=!1)},r=function(){n?a=arguments:(t.apply(o,arguments),setTimeout(i,e),n=!0)}}var a=o(0);t.exports=o(0).extendComponentView({type:"amap",render:function(t,e,o){function r(){p||o.dispatchAction({type:"amapRoam"})}function i(t){a.getInstanceByDom(o.getDom()).resize(),m.call(this,t)}var p=!0,s=t.getAMap(),c=o.getZr().painter.getViewportRoot(),f=t.coordinateSystem,m=function(e){if(!p){var n=c.parentNode.parentNode.parentNode,a=[-parseInt(n.style.left,10)||0,-parseInt(n.style.top,10)||0];c.style.left=a[0]+"px",c.style.top=a[1]+"px",f.setMapOffset(a),t.__mapOffset=a,o.dispatchAction({type:"amapRoam"})}},u=n(i,300,s);s.off("movestart",this._oldMoveHandler),s.off("zoomend",this._oldZoomEndHandler),s.off("moveend",this._oldZoomEndHandler),s.off("complete",this._oldZoomEndHandler),t.get("resizeEnable")&&s.off("resize",this._oldResizeHandler),s.on("movestart",m),s.on("zoomend",r),s.on("moveend",r),s.on("complete",r),t.get("resizeEnable")&&s.on("resize",u),this._oldMoveHandler=m,this._oldZoomEndHandler=r,this._oldResizeHandler=u,p=!1}})},function(t,e,o){o(0).registerCoordinateSystem("amap",o(1)),o(2),o(3),o(0).registerAction({type:"amapRoam",event:"amapRoam",update:"updateLayout"},function(t,e){e.eachComponent("amap",function(t){var e=t.getAMap(),o=e.getCenter();t.setCenterAndZoom([o.lng,o.lat],e.getZoom())})}),t.exports={version:"1.0.0-rc.6"}}])});

CSS

#map{width:900px;height:600px}

html

 <div id="map"></div>

javascript

let myChart = echarts.init(document.getElementById('map'));
var option = {
       animation: false,
       amap : {
           // center : [ 121.503584, 31.295426 ],
           zoom : 1.2,
           roam: true,
           resizeEnable: true,
       },
       geo: {
           map: 'amap',
           type: 'map',
           zoom: 1.2,
           roam:true,
       },
        series: [{
            name: '点',
            type: 'effectScatter',
            coordinateSystem: 'amap',
            zlevel: 2,
            rippleEffect: {
                brushType: 'stroke',
            },
            label: {
                emphasis: {
                    show: true,
                    position: 'right',
                    formatter: '{b}',
                },
            },
            symbolSize: 2,
            showEffectOn: 'render',
            itemStyle: {
                normal: {
                    color: '#46bee9',
                },
            },
            data:[],
        },{
            name: '线',
            type: 'lines',
            coordinateSystem: 'amap',
            zlevel: 2,
            zoom: 1,
            large: true,
            effect: {
                show: true,
                constantSpeed: 30,
                symbol: 'pin',
                symbolSize: 3,
                trailLength: 0,
            },
            lineStyle: {
                normal: {
                    color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{
                            offset: 0,
                            color: '#58B3CC',
                        },{
                            offset: 1,
                            color: '#F58158',
                        }], false
                    ),
                    width: 1,
                    opacity: 0.2,
                    curveness: 0.1,
                },
            },
            data: [],
        },
    ]
}
myChart .setOption(option);

var map = myChart.getModel().getComponent('amap').getAMap();
var layer = myChart.getModel().getComponent('amap').getLayer();

// 设置显示卫星图
var Satellite = new AMap.TileLayer.Satellite({
    zIndex: 10
});
map.add(Satellite);

高德卫星飞线图

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: echarts3d地图线效果指的是通过使用echarts3d插件来实现地图上的线动画效果echarts3d是一款基于JavaScript的可视化图表库,能够帮助用户轻松创建各种动态、交互性的图表。 要实现地图线效果,首先需要引入echarts3d插件,并加载相关的地图数据。然后,在echarts3d提供的配置中,设置多个起点和终点坐标,根据坐标信息绘制出对应的连线。 接下来,可以通过设置图表的样式和动画效果来实现线的效果。可以设置连线的颜色、粗细,以及起点和终点的标记形状和颜色等。为了实现动画效果,可以设置连线的透明度、延迟和持续时间等属性,使连线在地图上呈现出移动的效果。 此外,可以通过设置图表的交互功能,使用户可以通过鼠标移动和缩放来浏览地图,并与线进行交互。通过添加鼠标事件和回调函数,可以实现鼠标悬停时的高亮效果,点击时的弹出信息窗口等交互操作。 总之,echarts3d地图线效果通过使用echarts3d插件,绘制地图和连线,并通过配置样式和动画效果,以及添加交互功能来实现。这种线效果可以使地图更加生动和有趣,帮助用户更好地理解和分析地理数据。 ### 回答2: Echarts3D地图线效果Echarts库中的一种可视化效果,可以展示地理关系的动态连接。该效果利用地理坐标,将各个地点通过曲线线的方式连接起来,形成动态的数据流动效果。 要实现Echarts3D地图线效果,首先需要准备好数据,包括地点的经纬度和数据的数值。然后在Echarts图表中添加地理坐标系,配置好相关参数,并引入Echarts3D插件。 通过设置地图的初始视角、地点的标记和数值,以及曲线的配置,可以使得地图上的数据点按照指定的路径线连接。你可以设置曲线的颜色、粗细、动画效果等参数,以使得线效果更加醒目动态。 此外,你还可以通过配置相关参数,使得线的路径和数值能够适应不同的数据需求,例如配置线条的颜色渐变、设置曲线的弯曲度、更改线的速度等等。这些配置参数都可以根据你的实际需求进行调整。 总之,Echarts3D地图线效果提供了一种直观而动态的数据展示方式,帮助我们更好地理解地理关系和数据之间的联系。通过合理配置参数和数据,我们可以创造出各种各样的地图线效果,将数据可视化呈现,提升数据分析和展示的效果。 ### 回答3: ECharts 是一款基于JavaScript的可视化库,提供了丰富的图表类型以及交互功能。其中 ECharts 3D 地图线效果是该库的一个独特的功能,可以用于展示地理数据之间的关联关系。 ECharts 3D 地图线效果主要包括两个部分:折线地图和线动画。首先,我们可以使用 ECharts 的地图类型(如 scatter3D 或 lines3D)来绘制一个折线地图,将地理数据可视化展现出来。通过设置相应的经纬度坐标以及其他数据属性,可以在地图上绘制出各个地点的标记点。 接下来,通过配置线动画的特效参数,可以实现地理数据之间的线效果。通过定义起点和终点的经纬度坐标,以及线的属性(如颜色、宽度、透明度等),ECharts 可以自动生成一条线路径,并在地图上进行动画展示。 在线动画中,可以通过设置行时间、延迟等参数来控制效果的展示和流畅度。此外,可以通过配置文本标签等样式属性,将线上的数据信息以文字形式展示出来,增强了地理数据之间的可视化效果和交互性。 综上所述,ECharts 3D 地图线效果通过折线地图和线动画的结合,能够直观地展示地理数据之间的关联关系。用户可以通过设置经纬度、属性参数以及动画特效等自定义地理数据的可视化呈现方式,从而实现丰富多样的数据展示效果

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值