Mapv API ✍

简介

DC-Mapv 是 DC-SDK 与 百度 Mapv 融合的产品。主要用于在 3D 场景中展现大数据。

开始

  1. <script src="libs/dc-sdk/dc.core.min.js"></script>
  2. <script src="***/dc.mapv.min.js"></script>
  3. <script src="libs/dc-sdk/plugins/dc.plugins.js"></script>
  4. <link href="libs/dc-sdk/dc.core.min.css" />

:::danger JS 包的导入顺序不能随便, dc.core > dc.mapv > dc.plugins > DC.core :::

DC.MapvDataSet

example

  1. let geoCoordMap = {
  2. 上海: [121.4648, 31.2891],
  3. 东莞: [113.8953, 22.901],
  4. 东营: [118.7073, 37.5513],
  5. 中山: [113.4229, 22.478],
  6. 临汾: [111.4783, 36.1615]
  7. }
  8. let data = []
  9. for (let key in geoCoordMap) {
  10. let geoCoord = geoCoordMap[key]
  11. data.push({
  12. geometry: {
  13. type: 'Point',
  14. coordinates: [
  15. geoCoord[0] - 2 + Math.random() * 4,
  16. geoCoord[1] - 2 + Math.random() * 4
  17. ]
  18. },
  19. count: 30 * Math.random()
  20. })
  21. }
  22. let dataset = new DC.MapvDataSet(data)

creation

  • constructor(data)

    DC.MapvDataSet 构造函数

    • 参数
      • {Array<Object>} data:数据数组,详情参考:DataSet
    • 返回值:dataset
  1. // 数据说明
  2. {
  3. "geometry": {
  4. "type": "Point", // 类别,有:PointPolygonLineString
  5. "coordinates": [123, 23] // 坐标,线和面是二位数组
  6. },
  7. "count": 30, // 用于阈值计算
  8. "time": 100 * Math.random() // 步长 用于动画
  9. }

DC.MapvLayer

数据可视化图层,继承于Layer

example

  1. let options = {
  2. fillStyle: 'rgba(55, 50, 250, 0.8)',
  3. shadowColor: 'rgba(255, 250, 50, 1)',
  4. shadowBlur: 20,
  5. size: 40,
  6. globalAlpha: 0.5,
  7. label: {
  8. show: true,
  9. fillStyle: 'white'
  10. },
  11. animation: {
  12. type: 'time',
  13. stepsRange: {
  14. start: 0,
  15. end: 100
  16. },
  17. trails: 10,
  18. duration: 4
  19. },
  20. gradient: {
  21. 0.25: 'rgb(0,0,255)',
  22. 0.55: 'rgb(0,255,0)',
  23. 0.85: 'yellow',
  24. 1.0: 'rgb(255,0,0)'
  25. },
  26. draw: 'grid'
  27. }
  28. let layer = new DC.MapvLayer('layer', options)
  29. viewer.addLayer(layer)

creation

  • constructor(id,options)

    DC.MapvLayer 构造函数

    • 参数
      • {Stiring} id:图层唯一标识
      • {Object} options:属性
    • 返回值:mapvLayer
  1. // 属性参数(可选)
  2. {
  3. "fillStyle": "rgba(55, 50, 250, 0.8)", //颜色
  4. "shadowColor": "rgba(255, 250, 50, 1)", // 阴影颜色
  5. "shadowBlur": 20, // 阴影扩散
  6. "size": 40, // 点大小
  7. "globalAlpha": 0.5, //
  8. "globalCompositeOperation": "lighter",
  9. "label": {
  10. "show": true,
  11. "fillStyle": "white"
  12. }, // 文字
  13. "animation": {
  14. "type": "time",
  15. "stepsRange": {
  16. "start": 0,
  17. "end": 100
  18. },
  19. "trails": 10,
  20. "duration": 4
  21. }, //动画
  22. "lineWidth": 0.7, // 线宽
  23. "lineDash": [15], // 虚线
  24. "gradient": {
  25. 0.25: "rgb(0,0,255)",
  26. 0.55: "rgb(0,255,0)",
  27. 0.85: "yellow",
  28. 1.0: "rgb(255,0,0)"
  29. }, //渐变
  30. "draw": "grid" //展现方式 有:simple:简单、intensity:强度、honeycomb:蜂巢、grid:格子等
  31. }

示例

图片 图片 图片 图片
图片 图片 图片 图片
图片 图片