PHP Classes

File: vendors/echarts/src/chart/map/backwardCompat.js

Recommend this page to a friend!
  Classes of Jorge Castro   Gentelella BladeOne   vendors/echarts/src/chart/map/backwardCompat.js   Download  
File: vendors/echarts/src/chart/map/backwardCompat.js
Role: Auxiliary data
Content type: text/plain
Description: Auxiliary data
Class: Gentelella BladeOne
Render templates using Bootstrap for presentation
Author: By
Last change:
Date: 3 years ago
Size: 3,597 bytes
 

Contents

Class file image Download
define(function (require) { var zrUtil = require('zrender/core/util'); var geoProps = [ 'x', 'y', 'x2', 'y2', 'width', 'height', 'map', 'roam', 'center', 'zoom', 'scaleLimit', 'label', 'itemStyle' ]; var geoCoordsMap = {}; function createGeoFromMap(mapSeriesOpt) { var geoOpt = {}; zrUtil.each(geoProps, function (propName) { if (mapSeriesOpt[propName] != null) { geoOpt[propName] = mapSeriesOpt[propName]; } }); return geoOpt; } return function (option) { // Save geoCoord var mapSeries = []; zrUtil.each(option.series, function (seriesOpt) { if (seriesOpt.type === 'map') { mapSeries.push(seriesOpt); } zrUtil.extend(geoCoordsMap, seriesOpt.geoCoord); }); var newCreatedGeoOptMap = {}; zrUtil.each(mapSeries, function (seriesOpt) { seriesOpt.map = seriesOpt.map || seriesOpt.mapType; // Put x, y, width, height, x2, y2 in the top level zrUtil.defaults(seriesOpt, seriesOpt.mapLocation); if (seriesOpt.markPoint) { var markPoint = seriesOpt.markPoint; // Convert name or geoCoord in markPoint to lng and lat // For example // { name: 'xxx', value: 10} Or // { geoCoord: [lng, lat], value: 10} to // { name: 'xxx', value: [lng, lat, 10]} markPoint.data = zrUtil.map(markPoint.data, function (dataOpt) { if (!zrUtil.isArray(dataOpt.value)) { var geoCoord; if (dataOpt.geoCoord) { geoCoord = dataOpt.geoCoord; } else if (dataOpt.name) { geoCoord = geoCoordsMap[dataOpt.name]; } var newValue = geoCoord ? [geoCoord[0], geoCoord[1]] : [NaN, NaN]; if (dataOpt.value != null) { newValue.push(dataOpt.value); } dataOpt.value = newValue; } return dataOpt; }); // Convert map series which only has markPoint without data to scatter series // FIXME if (!(seriesOpt.data && seriesOpt.data.length)) { if (!option.geo) { option.geo = []; } else if (!zrUtil.isArray(option.geo)) { option.geo = [option.geo]; } // Use same geo if multiple map series has same map type var geoOpt = newCreatedGeoOptMap[seriesOpt.map]; if (!geoOpt) { geoOpt = newCreatedGeoOptMap[seriesOpt.map] = createGeoFromMap(seriesOpt); option.geo.push(geoOpt); } var scatterSeries = seriesOpt.markPoint; scatterSeries.type = option.effect && option.effect.show ? 'effectScatter' : 'scatter'; scatterSeries.coordinateSystem = 'geo'; scatterSeries.geoIndex = zrUtil.indexOf(option.geo, geoOpt); scatterSeries.name = seriesOpt.name; option.series.splice(zrUtil.indexOf(option.series, seriesOpt), 1, scatterSeries); } } }); }; });