Summary
Methods:
fromArray |
从一个数组来构建地理范围。 |
fromString |
从字符串中解析出地理范围实例。 |
clone |
复制一个新Extent对象,这个副本相对于正本,独立存在 |
containsCoord |
检测是一个地理坐标是否被包含在当前地理范围之内。 |
containsExtent |
检测一个地理范围是否包含了另外一个地理范围,(含边界共用的情况)。 |
equals |
判断两个地理范围是否相等。在允许的容差范围以内,四至相同就可以认为相等,否则不相等。 |
extendExtent |
扩展地理范围,使之包含参数指定的地理范围。并返回扩展后的地理范围。 |
extendXY |
扩展地理范围,使其包含给定的坐标。坐标中的Z值对地理范围的扩展无效 |
getArea |
获取地理范围的面积。地理坐标系下计算结果仅表示一个近似值。 |
getBottom |
计算下边界纬线值 |
getBottomLeft |
获取左下角坐标 |
getBottomRight |
获取右下角坐标 |
getCenter |
获取地理范围的中心坐标 |
getHeight |
计算纬线方向的跨度 |
getIntersection |
计算两个地理范围相交的部分。 |
getLeft |
计算左边界经线值 |
getRight |
计算右边界经线值 |
getSize |
返回当前地理范围尺寸 |
getTop |
计算上边界纬线值 |
getTopLeft |
获取左上角坐标 |
getTopRight |
获取右上角坐标 |
getWidth |
计算经线方向的跨度 |
intersects |
判断两个地理范围是否相交。 |
isEmpty |
判断当前地理范围是否为空 |
offset |
根据给出的水平与垂直方向的平移量,对当前地理范围的四至整体平移。 |
scale |
以原点为中心,缩放当前地理范围。 |
setBottom |
设置下边界纬线值 |
setLeft |
设置左边界经线值 |
setRight |
设置右边界经线值 |
setTop |
设置上边界纬线值 |
toArray |
地理范围对象的数组表现形式。返回的数组[l,b,r,t]分别表示[左边界,下边界,右边界、上边界]等几个坐标值。 |
toString |
将当前地理范围转化成字符串形式。 |
Constructor
new Extent(left, bottom, right, top)
Parameters:
Name | Type | Description |
---|---|---|
left |
Number | 左边界坐标值 |
bottom |
Number | 下边界坐标值 |
right |
Number | 右边界坐标值 |
top |
Number | 上边界坐标值 |
Throws:
当左边界left大于右边界right或者下边界bottom大于上边界top时,抛出异常。
Example
let extent = new hmap.basetype.Extent(120.1,30.01,120.7,30.3);
Methods
-
static fromArray(arr) → {module:basetype~Extent}
-
从一个数组来构建地理范围。
Parameters:
Name Type Description arr
Array.<Number> 由左下角坐标与右上角坐标组成
Throws:
当参数arr不是4个元素的数组或者数组的元素不是数值类型时,抛出异常
Example
let newExtent = hmap.basetype.Extent.fromArray([120,30,120.2,30.3]);
-
static fromString(str) → {module:basetype~Extent}
-
从字符串中解析出地理范围实例。
Parameters:
Name Type Description str
String 该字符串是由逗号分割的4个可以转换为数值的数字组成,例: "83,42,10,45"。 不符合规范的字符串将发生解析异常。
Throws:
当转换后得到的数值,不等于4时,抛出异常
Example
let result = hmap.basetype.Extent.fromString("118,30,120,31"); //result=new hmap.basetype.Extent(118,30,120,31);
-
clone() → {module:basetype~Extent}
-
复制一个新Extent对象,这个副本相对于正本,独立存在
Example
let newExtent = extent.clone();
-
containsCoord(coordinate, inclusive) → {Boolean}
-
检测是一个地理坐标是否被包含在当前地理范围之内。
Parameters:
Name Type Default Description coordinate
module:basetype~Coordinate 地理坐标
inclusive
Boolean true 考虑地理坐标落在在地理范围的边界上的情况:为true时,表示即使地理坐标落在地理范围的边界上,也按坐标在地理范围以内计算。否则按不在地理范围以内计算。默认为true。
Returns:
Boolean -包含返回true;不包含返回false,如果参数不合法,直接返回false
Example
let extent = new hmap.basetype.Extent(120.1,30.01,120.7,30.3); let coord = new hmap.basetype.Coordinate(120.3,30.2); let result = extent.containsCoord(coord,true);//result=true
-
containsExtent(extent) → {Boolean}
-
检测一个地理范围是否包含了另外一个地理范围,(含边界共用的情况)。
Parameters:
Name Type Description extent
module:basetype~Extent 给出的另外一个地理范围
Returns:
Boolean -包含返回true;不包含返回false
Example
let extentOut = new hmap.basetype.Extent(120.1,30.01,120.7,30.3); let extentIn = new hmap.basetype.Extent(120.1,30.01,120.3,30.2); let result = extentOut.containsExtent(extentIn);//result=true
-
equals(extent, tolerance) → {Boolean}
-
判断两个地理范围是否相等。在允许的容差范围以内,四至相同就可以认为相等,否则不相等。
Parameters:
Name Type Default Description extent
module:basetype~Extent 需要对比的地理范围
tolerance
Number 0 容差。Extent四至的单位相同
Returns:
Boolean -地理范围相等返回true;地理范围不相等返回false
Example
let newExtent = new hmap.basetype.Extent(121.1,30.01,120.7,30.3); let result = extent.equals(newExtent, 0.1);
-
extendExtent(extent) → {module:basetype~Extent}
-
扩展地理范围,使之包含参数指定的地理范围。并返回扩展后的地理范围。
Parameters:
Name Type Description extent
module:basetype~Extent 需要扩展的地理范围
Example
let extent = new hmap.basetype.Extent(120.1,30.01,120.7,30.3); let extent2 = new hmap.basetype.Extent(121.1,31.07,122.7,32.3); let result = extent.extendExtent(extent2);//result=new hmap.basetype.Extent(120.1,30.01,122.7,32.3);
-
extendXY(coord) → {module:basetype~Extent}
-
扩展地理范围,使其包含给定的坐标。坐标中的Z值对地理范围的扩展无效
Parameters:
Name Type Description coord
module:basetype~Coordinate 给定的一个坐标
Example
let coord = new hmap.basetype.Coordinate(120.3,30.6); let extent = new hmap.basetype.Extent(110.1,20.01,130.3,40.2); let result = extent.extendXY(coord);// result = new hmap.basetype.Extent(110.1,20.01,130.3,40.2);
-
getArea() → {Number}
-
获取地理范围的面积。地理坐标系下计算结果仅表示一个近似值。
Returns:
Number -面积,单位取决于地图单位,如平方米。
Example
let area = extent.getArea();
-
getBottom() → {Number}
-
计算下边界纬线值
Returns:
Number -下边界纬线值
Example
let bottom = extent.getBottom();
-
getBottomLeft() → {module:basetype~Coordinate}
-
获取左下角坐标
Example
let coordinate = extent.getBottomLeft();
-
getBottomRight() → {module:basetype~Coordinate}
-
获取右下角坐标
Example
let coordinate = extent.getBottomRight();
-
getCenter() → {module:basetype~Coordinate}
-
获取地理范围的中心坐标
Example
let centerCoord = extent.getCenter();
-
getHeight() → {Number}
-
计算纬线方向的跨度
Returns:
Number -返回纬线方向的跨度
Example
let height = extent.getHeight();
-
getIntersection(extent) → {module:basetype~Extent}
-
计算两个地理范围相交的部分。
Parameters:
Name Type Description extent
module:basetype~Extent 地理范围
Example
let extent2 = new hmap.basetype.Extent(120.1,30.01,122.7,32.3); let interstExtent = extent.getIntersection(extent2);
-
getLeft() → {Number}
-
计算左边界经线值
Returns:
Number -左边界经线值
Example
let left = extent.getLeft();
-
getRight() → {Number}
-
计算右边界经线值
Returns:
Number -右边界经线值
Example
let right = extent.getRight();
-
getSize() → {module:basetype~Size}
-
返回当前地理范围尺寸
Example
let size = extent.getSize();
-
getTop() → {Number}
-
计算上边界纬线值
Returns:
Number -上边界纬线值
Example
let top = extent.getTop();
-
getTopLeft() → {module:basetype~Coordinate}
-
获取左上角坐标
Example
let coordinate = extent.getTopLeft();
-
getTopRight() → {module:basetype~Coordinate}
-
获取右上角坐标
Example
let coordinate = extent.getTopRight();
-
getWidth() → {Number}
-
计算经线方向的跨度
Returns:
Number -返回经线方向的跨度。
Example
let width = extent.getWidth();
-
intersects(extent, inclusive) → {Boolean}
-
判断两个地理范围是否相交。
Parameters:
Name Type Default Description extent
module:basetype~Extent 指定的地理范围
inclusive
Boolean true 边界有重合的情况。如果为true,那么当发生全部或部分边界重合时,按相交计算。否则不按相交计算。
Returns:
Boolean -相交返回true,不相交返回false。
Example
let extent1 = new hmap.basetype.Extent(120.1,30.01,120.7,30.3); let extent2 = new hmap.basetype.Extent(120.1,31.07,122.7,32.3); let result = extent1.intersects(extent2,true);//result=false
-
isEmpty() → {Boolean}
-
判断当前地理范围是否为空
Returns:
Boolean -为true时表示当前对象是一个空的地理范围,否则表示一个正常的地理范围。
Example
let result = extent.isEmpty();
-
offset(deltaX, deltaY) → {module:basetype~Extent}
-
根据给出的水平与垂直方向的平移量,对当前地理范围的四至整体平移。
Parameters:
Name Type Description deltaX
Number 水平方向的平移量
deltaY
Number 垂直方向的平移量
Throws:
当参数deltaX或者参数deltaY不是数值类型时,抛出异常
Example
let newExtent = extent.offset(2, 3);
-
scale(ratio) → {module:basetype~Extent}
-
以原点为中心,缩放当前地理范围。
Parameters:
Name Type Description ratio
Number 缩放倍率,大于等于0的数值,其它值结果都是错误的。
Throws:
当参数ratio不是数值类型时,抛出异常。
Example
let newExtent = extent.scale(2);
-
setBottom(bottom) → {Extent}
-
设置下边界纬线值
Parameters:
Name Type Description bottom
Number 需要设置的下边界纬线值
Throws:
当参数大于地理范围的上边界纬线值时,抛出异常
Returns:
Extent -返回新的地理范围
Example
extent.setBottom(-80);
-
setLeft(left) → {module:basetype~Extent}
-
设置左边界经线值
Parameters:
Name Type Description left
Number 经线值
Throws:
当参数大于地理范围的右边界经线值,抛出异常
Example
extent.setLeft(-170);
-
setRight(right) → {module:basetype~Extent}
-
设置右边界经线值
Parameters:
Name Type Description right
Number 需要设置的右边界经线值
Throws:
当参数小于地理范围的左边界经线值时,抛出异常
Example
extent.setRight(170);
-
setTop(top) → {module:basetype~Extent}
-
设置上边界纬线值
Parameters:
Name Type Description top
Number 上边界纬线值
Throws:
当参数小于地理范围的下边界纬线值时,抛出异常
Example
extent.setTop(80);
-
toArray() → {Array.<Number>}
-
地理范围对象的数组表现形式。返回的数组[l,b,r,t]分别表示[左边界,下边界,右边界、上边界]等几个坐标值。
Returns:
Array.<Number> -按照left、bottom、 right、 top 顺序组成的数组。
Example
let arr = extent.toArray();
-
toString() → {String}
-
将当前地理范围转化成字符串形式。
Returns:
String -返回“left,bottom,right,top”的字符串形式
Example
let extent = new hmap.basetype.Extent(120.1,30.01,120.7,30.3); let result = extent.toString();//result="120.1,30.01,120.7,30.3"