zoukankan      html  css  js  c++  java
  • openlayers4 入门开发系列结合 echarts4 实现交通线流动图

    前言

    openlayers4 官网的 api 文档介绍地址 openlayers4 api,里面详细的介绍 openlayers4 各个类的介绍,还有就是在线例子:openlayers4 官网在线例子,这个也是学习 openlayers4 的好素材。

    openlayers4 入门开发系列的地图服务基于 Geoserver 发布的,关于 Geoserver 方面操作的博客,可以参考以下几篇文章:

    内容概览

    1.基于 openlayers4 结合 echarts4 交通线流动图
    2.源代码 demo 下载

    效果图如下:

    • 地图加载代码如下:
    /**
    * 地图创建初始化
    */
    var map = new ol.Map({
    target: 'map',
    layers: [
    new ol.layer.Tile({
    source: new ol.source.XYZ({
    url: 'http://cache1.arcgisonline.cn/arcgis/rest/services/ChinaOnline' +
    'StreetPurplishBlue/MapServer/tile/{z}/{y}/{x}'
    })
    })
    ],
    view: new ol.View({
    center: [116.55406673632812, 39.94828066015626],
    projection: 'EPSG:4326',
    zoom: 10
    })
    });
    • echarts数据源设置:
    var hStep = 300 / (rawData.length - 1);
    var busLines = [].concat.apply([], rawData.map(function (busLine, idx) {
    var prevPt;
    var points = [];
    for (var i = 0; i < busLine.length; i += 2) {
    var pt = [busLine[i], busLine[i + 1]];
    if (i > 0) {
    pt = [
    prevPt[0] + pt[0],
    prevPt[1] + pt[1]
    ];
    }
    prevPt = pt;
     
    points.push([pt[0] / 1e4, pt[1] / 1e4]);
    }
    return {
    'coords': points,
    'lineStyle': {
    'normal': {
    'color': echarts.color.modifyHSL('#5A94DF', Math.round(hStep * idx))
    }
    }
    };
    }));
     
    var option = {
    'series': [
    {
    'type': 'lines',
    'polyline': true,
    'data': busLines,
    'lineStyle': {
    'normal': {
    'width': 0
    }
    },
    'effect': {
    'constantSpeed': 20,
    'show': true,
    'trailLength': 0.5,
    'symbolSize': 1.5
    },
    'zlevel': 1
    }
    ]
    };
    • hideOnMoving=false 设置地图移动过程中不隐藏 echarts 效果,hideOnZooming=false 设置地图缩放过程中不隐藏 echarts 效果,stopEvent =false 设置不阻止echarts 事件,EChartsLayer 图层初始化代码如下:
    var echartslayer = new ol3Echarts(option, {
    stopEvent: false,
    hideOnMoving: false,
    hideOnZooming: false,
    forcedPrecomposeRerender: true,
    });
    echartslayer.appendTo(map)
    html 页面引用:

    完整demo源码见小专栏文章尾部GIS之家leaflet小专栏

    文章尾部提供源代码下载,对本专栏感兴趣的话,可以关注一波

  • 相关阅读:
    php类型运算符
    今天我开始写自己的东西
    挑选简历
    SQL Server和Oracle数据库索引介绍
    排序算法分析与设计实验
    软件框架 转
    【转】Ajax的原理和应用
    Web Service
    [转]异地分布式敏捷软件开发(Distributed Agile Software Development)
    [转]如何有效的使用C#读取文件
  • 原文地址:https://www.cnblogs.com/alannever/p/13539074.html
Copyright © 2011-2022 走看看