new SuperMap.Bounds(left, bottom, right, top, array)
Name | Type | Description |
---|---|---|
left |
number |
可选
左边界,注意考虑宽度,理论上小于 right 值。 |
bottom |
number |
可选
下边界。考虑高度,理论上小于 top 值。 |
right |
number |
可选
右边界。 |
top |
number |
可选
上边界。 |
array |
Array.<number> |
可选
[left, bottom, right, top],如果同时传多个参数,则使用左下右上组成的数组。 |
Example
var bounds = new SuperMap.Bounds();
bounds.extend(new SuperMap.LonLat(4,5));
bounds.extend(new SuperMap.LonLat(5,6));
bounds.toBBOX(); // returns 4,5,5,6
Members
-
bottomnumber
-
最小的垂直坐标系。
-
centerLonLatSuperMap.LonLat
-
bounds 的地图空间的中心点。用 getCenterLonLat() 获得。
-
leftnumber
-
最小的水平坐标系。
-
namestring
-
验证信息前缀,name=value 部分的 name 部分。
- Default Value: 'token'
rightnumber
最大的水平坐标系。
topnumber
最大的垂直坐标系。
valuestring
访问受安全限制的服务时用于通过安全认证的验证信息。
Methods
-
SuperMap.Bounds.fromArray(bbox, reverseAxisOrder){SuperMap.Bounds}
common/commontypes/Bounds.js, line 688 -
通过边界框数组创建 Bounds。
Name Type Default Description bbox
Array.<float> 边界值数组。(e.g. [5,42,10,45])。
reverseAxisOrder
boolean false 可选 是否是反转轴顺序。如果设为true,则倒转顺序(bottom,left,top,right),否则按正常轴顺序(left,bottom,right,top)。
Returns:
Type Description SuperMap.Bounds 返回根据传入的数组创建的新的边界对象。 Example
var bounds = SuperMap.Bounds.fromArray([-180,-90,100,80]);
-
SuperMap.Bounds.fromSize(size){SuperMap.Bounds}
common/commontypes/Bounds.js, line 703 -
通过传入的边界大小来创建新的边界。
Name Type Description size
SuperMap.Size 传入的边界大小。
Returns:
Type Description SuperMap.Bounds 返回根据传入的边界大小的创建新的边界。 Example
var bounds = SuperMap.Bounds.fromSize(new SuperMap.Size(20,10));
-
SuperMap.Bounds.fromString(str, reverseAxisOrder){SuperMap.Bounds}
common/commontypes/Bounds.js, line 673 -
通过字符串参数创建新的 bounds 的构造函数。
Name Type Default Description str
string 边界字符串,用逗号隔开(e.g. "5,42,10,45")。
reverseAxisOrder
boolean false 可选 是否反转轴顺序。 如果设为true,则倒转顺序(bottom,left,top,right),否则按正常轴顺序(left,bottom,right,top)。
Returns:
Type Description SuperMap.Bounds 返回给定的字符串创建的新的边界对象。 Example
var bounds = SuperMap.Bounds.fromString("-180,-90,100,80");
-
SuperMap.Bounds.oppositeQuadrant(quadrant){string}
common/commontypes/Bounds.js, line 718 -
反转象限。"t"和"b" 交换,"r"和"l"交换, 如:"tl"变为"br"。
Name Type Description quadrant
string 代表象限的字符串,如:"tl"。
Returns:
Type Description string 反转后的象限。 -
add(x, y){SuperMap.Bounds}
common/commontypes/Bounds.js, line 289 -
在当前的 Bounds 上按照传入的坐标点进行平移,返回新的范围。
Name Type Description x
float 传入坐标点的 x 坐标。
y
float 传入坐标点的 y 坐标。
Returns:
Type Description SuperMap.Bounds 返回一个新的 bounds,此 bounds 的坐标是由传入的 x,y 参数与当前 bounds 坐标计算所得。 Example
var bounds1 = new SuperMap.Bounds(-50,-50,40,40); //bounds2 是新的 bounds var bounds2 = bounds.add(20,10);
-
clone(){SuperMap.Bounds}
common/commontypes/Bounds.js, line 67 -
复制当前 bounds 对象。
Returns:
Type Description SuperMap.Bounds 返回一个克隆的 bounds。 Example
var bounds1 = new SuperMap.Bounds(-180,-90,180,90); var bounds2 = bounds1.clone();
-
contains(x, y, inclusive){boolean}
common/commontypes/Bounds.js, line 417 -
判断传入的 x,y 坐标值是否在范围内。
Name Type Default Description x
float 传入的 x 坐标值。
y
float 传入的 y 坐标值。
inclusive
boolean true 可选 是否包含边界。
Returns:
Type Description boolean 传入的 x,y 坐标是否在当前范围内。 Example
var bounds = new SuperMap.Bounds(-50,-50,40,40); //isContains = true var isContains = bounds.contains(40,40,true);
-
containsBounds(bounds, partial, inclusive){boolean}
common/commontypes/Bounds.js, line 533 -
判断目标边界是否被当前边界包含在内。
Name Type Default Description bounds
SuperMap.Bounds 目标边界。
partial
boolean false 可选 目标边界的任意部分都包含在当前边界中则被认为是包含关系。 如果设为 false,整个目标边界全部被包含在当前边界范围内。
inclusive
boolean true 可选 边缘共享被视为包含。
Returns:
Type Description boolean 传入的边界被当前边界包含。 Example
var bounds = new SuperMap.Bounds(-180,-90,100,80); var isContains = bounds.containsBounds( new SuperMap.Bounds(-170,-90,100,80),true,true );
-
containsLonLat(ll, options){boolean}
common/commontypes/Bounds.js, line 354 -
判断传入的坐标是否在范围内。
Name Type Description ll
SuperMap.LonLat | Object <SuperMap.LonLat> 对象或者是一个包含 'lon' 与 'lat' 属性的对象。
options
Object 可选参数。
Name Type Default Description inclusive
boolean true 可选 是否包含边界。
worldBounds
SuperMap.Bounds 可选 如果提供 worldBounds 参数, 如果 ll 参数提供的坐标超出了世界边界(worldBounds), 但是通过日界线的转化可以被包含, 它将被认为是包含在该范围内的。
Returns:
Type Description boolean 传入坐标是否包含在范围内。 Example
var bounds1 = new SuperMap.Bounds(-50,-50,40,40); //isContains1 = true //这里的第二个参数可以直接为 boolean 类型,也就是inclusive var isContains1 = bounds.containsLonLat(new SuperMap.LonLat(40,40),true); //(40,40)在范围内,同样(40+360,40)也在范围内 var bounds2 = new SuperMap.Bounds(-50,-50,40,40); //isContains2 = true; var isContains2 = bounds2.containsLonLat( new SuperMap.LonLat(400,40), { inclusive:true, //全球的范围 worldBounds: new SuperMap.Bounds(-180,-90,180,90) } );
-
containsPixel(px, inclusive){boolean}
common/commontypes/Bounds.js, line 402 -
判断传入的像素是否在范围内。直接匹配大小,不涉及像素和地理转换。
Name Type Default Description px
SuperMap.Pixel 提供的像素参数。
inclusive
boolean true 可选 是否包含边界。
Returns:
Type Description boolean 传入的 pixel 在当前边界范围之内。 Example
var bounds = new SuperMap.Bounds(-50,-50,40,40); //isContains = true var isContains = bounds.containsPixel(new SuperMap.Pixel(40,40),true);
-
destroy()
common/commontypes/Bounds.js, line 656 -
销毁此对象。 销毁后此对象的所有属性为 null,而不是初始值。
Example
var bounds = new SuperMap.Bounds(-180,-90,100,80); bounds.destroy();
-
determineQuadrant(lonlat){string}
common/commontypes/Bounds.js, line 563 -
判断传入坐标是否在 bounds 范围内的象限。以 bounds 中心点为坐标原点。
Name Type Description lonlat
SuperMap.LonLat 传入的坐标对象。
Returns:
Type Description string 传入坐标所在的象限("br" "tr" "tl" "bl" 分别对应"右下","右上","左上" "左下")。 Example
var bounds = new SuperMap.Bounds(-180,-90,100,80); //str = "tr"; var str = bounds.determineQuadrant( new SuperMap.LonLat(20,20) );
-
equals(bounds){boolean}
common/commontypes/Bounds.js, line 80 -
判断两个 bounds 对象是否相等。
Name Type Description bounds
SuperMap.Bounds 需要进行计较的 bounds。
Returns:
Type Description boolean 如果 bounds 对象的边和传入的 bounds 一致则返回 true,不一致或传入的 bounds 参数为 NULL 则返回 false。 Example
var bounds1 = new SuperMap.Bounds(-180,-90,180,90); var bounds2 = new SuperMap.Bounds(-180,-90,180,90); var isEquals = bounds1.equals(bounds2);
-
extend(object)
common/commontypes/Bounds.js, line 308 -
在当前 bounds 上扩展 bounds,支持 point,lanlat 和 bounds。扩展后的 bounds 的范围是两者的结合。
Name Type Description object
SuperMap.Geometry.Point | SuperMap.LonLat | SuperMap.Bounds 可以是 point、lonlat 和 bounds。
Example
var bounds1 = new SuperMap.Bounds(-50,-50,40,40); //bounds 改变 bounds.extend(new SuperMap.LonLat(50,60));
-
getCenterLonLat(){SuperMap.LonLat}
common/commontypes/Bounds.js, line 237 -
获取地理格式的范围中心点。
Returns:
Type Description SuperMap.LonLat 返回当前地理范围的中心点。 Example
var bounds = new SuperMap.Bounds(-180,-90,100,80); var lonlat = bounds.getCenterLonLat();
-
getCenterPixel(){SuperMap.Pixel}
common/commontypes/Bounds.js, line 224 -
获取像素格式的范围中心点。
Returns:
Type Description SuperMap.Pixel 返回像素格式的当前范围的中心点。 Example
var bounds = new SuperMap.Bounds(-180,-90,100,80); var pixel = bounds.getCenterPixel();
-
getHeight(){float}
common/commontypes/Bounds.js, line 199 -
获取 bounds 的高度。
Returns:
Type Description float 返回边界高度(top 减去 bottom)。 Example
var bounds = new SuperMap.Bounds(-180,-90,100,80); //height = 170; var height = bounds.getHeight();
-
getSize(){SuperMap.Size}
common/commontypes/Bounds.js, line 212 -
获取边框大小。
Returns:
Type Description SuperMap.Size 返回边框大小。 Example
var bounds = new SuperMap.Bounds(-180,-90,100,80); var size = bounds.getSize();
-
getValue(){string}
common/commontypes/Credential.js, line 52 -
获取 value。
Returns:
Type Description string 返回 value 字符串,在 iServer 服务下该 value 值即为 token 值。 Example
var credential = new SuperMap.Credential("2OMwGmcNlrP2ixqv1Mk4BuQMybOGfLOrljruX6VcYMDQKc58Sl9nMHsqQaqeBx44jRvKSjkmpZKK1L596y7skQ..","token"); //这里 str = "2OMwGmcNlrP2ixqv1Mk4BuQMybOGfLOrljruX6VcYMDQKc58Sl9nMHsqQaqeBx44jRvKSjkmpZKK1L596y7skQ.."; var str = credential.getValue();
-
getWidth(){float}
common/commontypes/Bounds.js, line 186 -
获取 bounds 的宽度。
Returns:
Type Description float 获取当前 bounds 的宽度(right 减去 left)。 Example
var bounds = new SuperMap.Bounds(-180,-90,100,80); //width = 280; var width = bounds.getWidth();
-
intersectsBounds(bounds, options){boolean}
common/commontypes/Bounds.js, line 453 -
判断目标边界范围是否与当前边界范围相交。如果两个边界范围中的任意 边缘相交或者一个边界包含了另外一个就认为这两个边界相交。
Name Type Description bounds
SuperMap.Bounds 目标边界。
options
Object 参数。
Name Type Default Description inclusive
boolean true 可选 边缘重合也看成相交。如果是false, 两个边界范围没有重叠部分仅仅是在边缘相接(重合), 这种情况被认为没有相交。
worldBounds
SuperMap.Bounds 可选 提供了 worldBounds 参数, 如果他们相交时 是在全球范围内, 两个边界将被视为相交。这仅适用于交叉或完全不在世界范围的边界。
Returns:
Type Description boolean 传入的 bounds 对象与当前 bounds 相交。 Example
var bounds = new SuperMap.Bounds(-180,-90,100,80); var isIntersects = bounds.intersectsBounds( new SuperMap.Bounds(-170,-90,120,80) );
-
scale(ratio, origin){SuperMap.Bounds}
common/commontypes/Bounds.js, line 254 -
按照比例扩大/缩小出一个新的 bounds。
Name Type Default Description ratio
float 1 可选 需要扩大的比例。
origin
SuperMap.Pixel | SuperMap.LonLat 可选 扩大时的基准点,默认为当前 bounds 的中心点。
Returns:
Type Description SuperMap.Bounds 返回通过 ratio、origin 计算得到的新的边界范围。 Example
var bounds = new SuperMap.Bounds(-50,-50,40,40); var bounds2 = bounds.scale(2);
-
toArray(reverseAxisOrder){Array.<number>}
common/commontypes/Bounds.js, line 113 -
边界对象的数组表示形式。
Name Type Default Description reverseAxisOrder
boolean false 可选 是否反转轴顺序。 如果设为 true,则倒转顺序(bottom,left,top,right),否则按正常轴顺序(left,bottom,right,top)。
Returns:
Type Description Array.<number> left, bottom, right, top 数组。 Example
var bounds = new SuperMap.Bounds(-180,-90,100,80); //array1 = [-180,-90,100,80]; var array1 = bounds.toArray(); //array1 = [-90,-180,80,100]; var array2 = bounds.toArray(true);
-
toBBOX(decimal, reverseAxisOrder){string}
common/commontypes/Bounds.js, line 134 -
取小数点后 decimal 位数字进行四舍五入再转换为 BBOX 字符串。
Name Type Default Description decimal
integer 6 可选 边界方位坐标的有效数字个数。
reverseAxisOrder
boolean false 可选 是否是反转轴顺序。 如果设为true,则倒转顺序(bottom,left,top,right),否则按正常轴顺序(left,bottom,right,top)。
Returns:
Type Description string 边界对象的字符串表示形式,如:"5,42,10,45"。 Example
var bounds = new SuperMap.Bounds(-1.1234567,-1.7654321,1.4444444,1.5555555); //str1 = "-1.123457,-1.765432,1.444444,1.555556"; var str1 = bounds.toBBOX(); //str2 = "-1.1,-1.8,1.4,1.6"; var str2 = bounds.toBBOX(1); //str2 = "-1.8,-1.1,1.6,1.4"; var str2 = bounds.toBBOX(1,true);
-
toGeometry(){SuperMap.Geometry.Polygon}
common/commontypes/Bounds.js, line 166 -
基于当前边界范围创建一个新的多边形对象。
Returns:
Type Description SuperMap.Geometry.Polygon 基于当前 bounds 坐标创建的新的多边形。 Example
var bounds = new SuperMap.Bounds(-180,-90,100,80); //SuperMap.Geometry.Polygon对象 var geo = bounds.toGeometry();
-
toServerJSONObject(){Object}
common/commontypes/Bounds.js, line 636 -
转换成对应的 JSON 格式对象。
Returns:
Type Description Object 返回 JSON 格式的 Object 对象。 Example
var bounds = new SuperMap.Bounds(-180,-90,100,80); var obj = bounds.toServerJSONObject();
-
toString(){string}
common/commontypes/Bounds.js, line 101 -
返回此对象的字符串形式。
Returns:
Type Description string 边界对象的字符串表示形式(left,bottom,right,top),例如: "-180,-90,180,90"。 Example
var bounds = new SuperMap.Bounds(-180,-90,180,90); var str = bounds.toString();
-
wrapDateLine(maxExtent, options){SuperMap.Bounds}
common/commontypes/Bounds.js, line 586 -
将当前 bounds 移动到最大边界范围内部(所谓的内部是相交或者内部)。
Name Type Description maxExtent
SuperMap.Bounds 最大的边界范围(一般是全球范围)。
options
Object 可选选项参数。
Name Type Default Description leftTolerance
float 0 可选 left 允许的误差。
rightTolerance
float 0 可选 right 允许的误差。
Returns:
Type Description SuperMap.Bounds 克隆当前边界。如果当前边界完全在最大范围之外此函数则返回一个不同值的边界, 若落在最大边界的左边,则给当前的bounds值加上最大范围的宽度,即向右移动, 若落在右边,则向左移动,即给当前的bounds值加上负的最大范围的宽度。 Example
var bounds = new SuperMap.Bounds(380,-40,400,-20); var maxExtent = new SuperMap.Bounds(-180,-90,100,80); //新的bounds var newBounds = bounds.wrapDateLine(maxExtent);