function buildPayloadsBySeries(value, axisInfo) {
	        var axis = axisInfo.axis;
	        var dim = axis.dim;
	        var snapToValue = value;
	        var payloadBatch = [];
	        var minDist = Number.MAX_VALUE;
	        var minDiff = -1;

	        each(axisInfo.seriesModels, function (series, idx) {
	            var dataDim = series.coordDimToDataDim(dim);
	            var seriesNestestValue;
	            var dataIndices;

	            if (series.getAxisTooltipData) {
	                var result = series.getAxisTooltipData(dataDim, value, axis);
	                dataIndices = result.dataIndices;
	                seriesNestestValue = result.nestestValue;
	            }
	            else {
	                dataIndices = series.getData().indicesOfNearest(
	                    dataDim[0],
	                    value,
	                    // Add a threshold to avoid find the wrong dataIndex
	                    // when data length is not same.
	                    false, axis.type === 'category' ? 0.5 : null
	                );
	                if (!dataIndices.length) {
	                    return;
	                }
	                seriesNestestValue = series.getData().get(dataDim[0], dataIndices[0]);
	            }

	            if (seriesNestestValue == null || !isFinite(seriesNestestValue)) {
	                return;
	            }

	            var diff = value - seriesNestestValue;
	            var dist = Math.abs(diff);
	            // Consider category case
	            if (dist <= minDist) {
	                if (dist < minDist || (diff >= 0 && minDiff < 0)) {
	                    minDist = dist;
	                    minDiff = diff;
	                    snapToValue = seriesNestestValue;
	                    payloadBatch.length = 0;
	                }
	                each(dataIndices, function (dataIndex) {
	                    payloadBatch.push({
	                        seriesIndex: series.seriesIndex,
	                        dataIndexInside: dataIndex,
	                        dataIndex: series.getData().getRawIndex(dataIndex)
	                    });
	                });
	            }
	        });

	        return {
	            payloadBatch: payloadBatch,
	            snapToValue: snapToValue
	        };
	    }
@param {Object} finder contains {seriesIndex, dataIndex, dataIndexInside}
@param {module:echarts/model/Global} ecModel
@return {Object} {point: [x, y], el: ...} point Will not be null.