未验证 提交 5c245487 编写于 作者: S sushuang 提交者: GitHub

backward compat when dim is a number-like string.

backward compat when dim is a number-like string.
上级 e0aaa8d1
......@@ -313,15 +313,31 @@ listProto.type = 'list';
listProto.hasItemOption = true;
/**
* The means of the input parameter `dim`:
*
* + If dim is a number (e.g., `1`), it means the index of the dimension.
* For example, `getDimension(0)` will return 'x' or 'lng' or 'radius'.
* + If dim is a number-like string (e.g., `"1"`):
* + If there is the same concrete dim name defined in `this.dimensions`, it means that concrete name.
* + If not, it will be converted to a number, which means the index of the dimension.
* (why? because of the backward compatbility. We have been tolerating number-like string in
* dimension setting, although now it seems that it is not a good idea.)
* For example, `visualMap[i].dimension: "1"` is the same meaning as `visualMap[i].dimension: 1`,
* if no dimension name is defined as `"1"`.
* + If dim is a not-number-like string, it means the concrete dim name.
* For example, it can be be default name `"x"`, `"y"`, `"z"`, `"lng"`, `"lat"`, `"angle"`, `"radius"`,
* or customized in `dimensions` property of option like `"age"`.
*
* Get dimension name
* @param {string|number} dim
* Dimension can be concrete names like x, y, z, lng, lat, angle, radius
* Or a ordinal number. For example getDimensionInfo(0) will return 'x' or 'lng' or 'radius'
* @param {string|number} dim See above.
* @return {string} Concrete dim name.
*/
listProto.getDimension = function (dim) {
if (!isNaN(dim) && typeof dim === 'number' ) {
dim = this.dimensions[dim] || dim;
if (typeof dim === 'number'
// If being a number-like string but not being defined a dimension name.
|| (!isNaN(dim) && !this._dimensionInfos.hasOwnProperty(dim))
) {
dim = this.dimensions[dim];
}
return dim;
};
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册