表示边界类实例。使用bounds之前需要设置left,bottom, right, top四个属性,这些属性的初始值为null。
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
SuperMap. |
表示边界类实例。使用bounds之前需要设置left,bottom, right, top四个属性,这些属性的初始值为null。 |
Properties | |
bottom | {Number} 最小的垂直坐标系。 |
left | {Number} 最小的水平坐标系。 |
right | {Number} 最大的水平坐标系。 |
top | {Number} 最大的垂直坐标系。 |
Constructor | |
SuperMap. |
创建新的bounds对象。 |
Functions | |
add | 在当前的dounds上按照传入的坐标点进行平移,返回新的范围。 |
clone | 复制当前 bounds 对象。 |
contains | 判断传入的x,y坐标值是否在范围内。 |
containsBounds | 判断目标边界是否被当前边界包含在内。 |
containsLonLat | 判断传入的坐标是否在范围内。 |
containsPixel | 判断传入的像素是否在范围内。 直接匹配大小,不涉及像素和地理转换 |
destroy | 销毁此对象。 销毁后此对象的所有属性为null,而不是初始值。 |
determineQuadrant | 判断传入坐标在bounds范围内的象限。以bounds中心点为坐标原点。 |
equals | 判断两个 bounds 对象是否相等。 |
extend | 在当前bounds上扩展bounds,支持point,lanlat和bounds。 扩展后的bounds的范围是两者的结合 |
fromArray | 通过边界框数组创建Bounds |
fromSize | 通过传入的边界大小来创建新的边界。 |
fromString | 通过字符串参数创建新的bounds的构造函数 |
getCenterLonLat | 获取地理格式的范围中心点 |
getCenterPixel | 获取像素格式的范围中心点 |
getHeight | 获取bounds的高度 |
getSize | 获取边框 |
getWidth | 获取bounds的宽度 |
intersectsBounds | 判断目标边界范围是否与当前边界范围相交。如果两个边界范围中的任意 边缘相交或者一个边界包含了另外一个就认为这两个边界相交。 |
scale | 按照比例 扩大/缩小 出一个新的bounds。 |
toArray | 边界对象的数组表示形式 。 |
toBBOX | 取小数点后decimal位数字进行四舍五入再转换为BBOX字符串 |
toGeometry | 基于当前边界范围创建一个新的多边形对象 |
toString | 返回此对象的字符串形式 |
transform | 范围(Bounds)对象的投影转换。 (在自身上做投影转换) |
wrapDateLine | 将当前bounds移动到最大边界范围内部(所谓的内部是相交或者内部) |
创建新的bounds对象。
var bounds = new SuperMap.Bounds(-180,-90,180,90);
left | {Number} 左边界,注意考虑宽度,理论上小于right值。 |
bottom | {Number} 下边界。考虑高度,理论大于top值 |
right | {Number} 右边界 |
top | {Number} 上边界 |
array | {Array(Float)} [left, bottom, right, top] 左下右上组成的数组。 |
clone:function()
复制当前 bounds 对象。
var bounds1 = new SuperMap.Bounds(-180,-90,180,90); var bounds2 = bounds1.clone();
{SuperMap.Bounds} 返回一个克隆的bounds
equals:function( bounds )
判断两个 bounds 对象是否相等。
var bounds1 = new SuperMap.Bounds(-180,-90,180,90); var bounds2 = new SuperMap.Bounds(-180,-90,180,90); var isEquals = bounds1.equals(bounds2);
bounds | {SuperMap.Bounds} 需要进行计较的 bounds |
{Boolean} 如果 bounds 对象的边和传入的 bounds 一致则返回true,不一 致或传入的 bounds 参数为NULL则返回false。
toArray: function( reverseAxisOrder )
边界对象的数组表示形式 。
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);
reverseAxisOrder | {Boolean} 是否反转轴顺序, 如果设为true,则倒转顺序(bottom,left,top,right),否则按正常轴顺序(left,bottom,right,top)。 |
{Array} left, bottom, right, top数组
toBBOX:function( decimal, reverseAxisOrder )
取小数点后decimal位数字进行四舍五入再转换为BBOX字符串
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);
decimal | {Integer} 边界方位坐标的有效数字个数,默认为6 |
reverseAxisOrder | {Boolean} 是否是反转轴顺序。 如果设为true,则倒转顺序(bottom,left,top,right),否则按正常轴顺序(left,bottom,right,top)。 |
{String} 边界对象的字符串表示形式,如:”5,42,10,45”
toGeometry: function()
基于当前边界范围创建一个新的多边形对象
var bounds = new SuperMap.Bounds(-180,-90,100,80); //SuperMap.Geometry.Polygon对象 var geo = bounds.toGeometry();
{SuperMap.Geometry.Polygon} 基于当前bounds坐标创建的新的多边形.
getSize:function()
获取边框
var bounds = new SuperMap.Bounds(-180,-90,100,80); var size = bounds.getSize();
{SuperMap.Size} 返回边框。
getCenterPixel:function()
获取像素格式的范围中心点
var bounds = new SuperMap.Bounds(-180,-90,100,80); var pixel = bounds.getCenterPixel();
{SuperMap.Pixel} 返回像素格式的当前范围的中心点。
getCenterLonLat:function()
获取地理格式的范围中心点
var bounds = new SuperMap.Bounds(-180,-90,100,80); var lonlat = bounds.getCenterLonLat();
{SuperMap.LonLat} 返回当前地理范围的中心点。
scale: function( ratio, origin )
按照比例 扩大/缩小 出一个新的bounds。
var bounds = new SuperMap.Bounds(-50,-50,40,40); var bounds2 = bounds.scale(2);
ratio | {Float} 需要扩大的比例,默认为1 |
origin | {SuperMap.Pixel or SuperMap.LonLat} 扩大时的基准点,默认为当前bounds的中心点。 |
{SuperMap.Bounds} 返回通过ratio、origin计算得到的新的边界范围。
add:function( x, y )
在当前的dounds上按照传入的坐标点进行平移,返回新的范围。
var bounds1 = new SuperMap.Bounds(-50,-50,40,40); //bounds2 是新的 bounds var bounds2 = bounds.add(20,10);
x | {Float} 传入坐标点的x坐标。 |
y | {Float} 传入坐标点的y坐标。 |
{SuperMap.Bounds} 返回一个新的bounds,此bounds的坐标是由传入 的x,y参数与当前bounds坐标计算所得。
extend:function( object )
在当前bounds上扩展bounds,支持point,lanlat和bounds。 扩展后的bounds的范围是两者的结合
var bounds1 = new SuperMap.Bounds(-50,-50,40,40); //bounds改变 bounds.extend(new SuperMap.LonLat(50,60));
object | {SuperMap.Geometry.Point or SuperMap.LonLat or SuperMap.Bounds} 可以是point,lanlat和bounds。 |
containsLonLat:function( ll, options )
判断传入的坐标是否在范围内。
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) } );
ll | {<SuperMap.LonLat>|Object} SuperMap.LonLat 对象或者是一个 包含 ‘lon’ 与 ‘lat’ 属性的对象。 |
options | {Object} 可选参数 |
inclusive | {Boolean} 是否包含边界,默认为 true 。 |
worldBounds | {SuperMap.Bounds} 如果提供 worldBounds 参数, 如 果 ll 参数提供的坐标超出了世界边界(worldBounds), 但是通过日界 线的转化可以被包含, 它将被认为是包含在该范围内的。 |
{Boolean} 传入坐标是否包含在范围内.
containsPixel:function( px, inclusive )
判断传入的像素是否在范围内。 直接匹配大小,不涉及像素和地理转换
var bounds = new SuperMap.Bounds(-50,-50,40,40); //isContains = true var isContains = bounds.containsPixel(new SuperMap.Pixel(40,40),true);
px | {SuperMap.Pixel} 提供的像素参数。 |
inclusive | {Boolean} 是否包含边界,默认为true。 |
{Boolean} 传入的pixel在当前边界范围之内。
contains:function( x, y, inclusive )
判断传入的x,y坐标值是否在范围内。
var bounds = new SuperMap.Bounds(-50,-50,40,40); //isContains = true var isContains = bounds.contains(40,40,true);
x | {Float} 传入的x坐标值。 |
y | {Float} 传入的y坐标值。 |
inclusive | {Boolean} 是否包含边界,默认为true。 |
{Boolean} 传入的x,y坐标在当前范围内。
intersectsBounds:function( bounds, options )
判断目标边界范围是否与当前边界范围相交。如果两个边界范围中的任意 边缘相交或者一个边界包含了另外一个就认为这两个边界相交。
var bounds = new SuperMap.Bounds(-180,-90,100,80); var isIntersects = bounds.intersectsBounds( new SuperMap.Bounds(-170,-90,120,80) );
bounds | {SuperMap.Bounds} 目标边界。 |
options | {Object} 可选参数。 |
inclusive | {Boolean} 边缘重合也看成相交,默认为true。 如果是false,两个边界范围没有重叠部分仅仅是在边缘相接(重合),这种情况被认为没有相交。 |
worldBounds | {SuperMap.Bounds} 提供了 worldBounds 参数, 如果他们相交时是在全 球范围内, 两个边界将被视为相交。这仅适用于交叉或完全不在世界范围的边界。 |
{Boolean} 传入的bounds对象与当前bounds相交。
containsBounds:function( bounds, partial, inclusive )
判断目标边界是否被当前边界包含在内。
var bounds = new SuperMap.Bounds(-180,-90,100,80); var isContains = bounds.containsBounds( new SuperMap.Bounds(-170,-90,100,80),true,true );
bounds | {SuperMap.Bounds} 目标边界。 |
partial | {Boolean} 目标边界的任意部分都包含在当前边界中则被认为是包含关系。默认为false, 如果设为false,整个目标边界全部被包含在当前边界范围内。 |
inclusive | {Boolean} 边缘共享被视为包含。默认为true |
{Boolean} 传入的边界被当前边界包含。
determineQuadrant: function( lonlat )
判断传入坐标在bounds范围内的象限。以bounds中心点为坐标原点。
var bounds = new SuperMap.Bounds(-180,-90,100,80); //str = "tr"; var str = bounds.determineQuadrant( new SuperMap.LonLat(20,20) );
lonlat | {SuperMap.LonLat} 传入的坐标对象。 |
{String} 传入坐标所在的象限(“br” “tr” “tl” “bl” 分别对应“右下”,“右上”, “左上”和“左下”)。
transform: function( source, dest )
范围(Bounds)对象的投影转换。 (在自身上做投影转换)
var bounds1 = new SuperMap.Bounds(-180,-90,100,80); //这里bounds1 = bounds2 var bounds2 = bounds1.transform( new SuperMap.Projection("EPSG:4326"), new SuperMap.Projection("EPSG:3857") );
source | {SuperMap.Projection} 源投影。 |
dest | {SuperMap.Projection} 目标投影。 |
{SuperMap.Bounds} 返回本身,用于链接操作.
wrapDateLine: function( maxExtent, options )
将当前bounds移动到最大边界范围内部(所谓的内部是相交或者内部)
var bounds = new SuperMap.Bounds(380,-40,400,-20); var maxExtent = new SuperMap.Bounds(-180,-90,100,80); //新的bounds var newBounds = bounds.wrapDateLine(maxExtent);
maxExtent | {SuperMap.Bounds} 最大的边界范围(一般是全球范围)。 |
options | {Object} 可选选项参数。 |
leftTolerance | {float} left允许的误差。默认为0 |
rightTolerance | {float} right允许的误差。默认为0 |
{SuperMap.Bounds} 克隆当前边界。如果当前边界完全在最大范围之外此函数则返回一个不同值的边界, 若落在最大边界的左边,则给当前的bounds值加上最大范围的宽度,即向右移动, 若落在右边,则向左移动,即给当前的bounds值加上负的最大范围的宽度。
SuperMap.Bounds.fromString = function( str, reverseAxisOrder )
通过字符串参数创建新的bounds的构造函数
var bounds = new SuperMap.Bounds.fromString("-180,-90,100,80");
str | {String} 边界字符串,用逗号隔开 (e.g. <i>”5,42,10,45”</i>) |
reverseAxisOrder | {Boolean} 是否反转轴顺序. 如果设为true,则倒转顺序(bottom,left,top,right),否则按正常轴顺序(left,bottom,right,top)。 |
{SuperMap.Bounds} 返回给定的字符串创建的新的边界对象
SuperMap.Bounds.fromArray = function( bbox, reverseAxisOrder )
通过边界框数组创建Bounds
var bounds = new SuperMap.Bounds.fromArray([-180,-90,100,80]);
bbox | {Array(Float)} 边界值数组 (e.g. <i>[5,42,10,45]</i>) |
reverseAxisOrder | {Boolean} 是否是反转轴顺序 如果设为true,则倒转顺序(bottom,left,top,right),否则按正常轴顺序(left,bottom,right,top)。 |
{SuperMap.Bounds} 返回根据传入的数组创建的新的边界对象。
SuperMap.Bounds.fromSize = function( size )
通过传入的边界大小来创建新的边界。
var bounds = new SuperMap.Bounds.fromSize(new SuperMap.Size(20,10));
size | {SuperMap.Size} 传入的边界大小 |
{SuperMap.Bounds} 返回根据传入的边界大小的创建新的边界。
复制当前 bounds 对象。
clone:function()
判断两个 bounds 对象是否相等。
equals:function( bounds )
返回此对象的字符串形式
toString:function()
边界对象的数组表示形式 。
toArray: function( reverseAxisOrder )
取小数点后decimal位数字进行四舍五入再转换为BBOX字符串
toBBOX:function( decimal, reverseAxisOrder )
基于当前边界范围创建一个新的多边形对象
toGeometry: function()
获取bounds的宽度
getWidth:function()
获取bounds的高度
getHeight:function()
获取边框
getSize:function()
获取像素格式的范围中心点
getCenterPixel:function()
获取地理格式的范围中心点
getCenterLonLat:function()
按照比例 扩大/缩小 出一个新的bounds。
scale: function( ratio, origin )
在当前的dounds上按照传入的坐标点进行平移,返回新的范围。
add:function( x, y )
在当前bounds上扩展bounds,支持point,lanlat和bounds。 扩展后的bounds的范围是两者的结合
extend:function( object )
判断传入的坐标是否在范围内。
containsLonLat:function( ll, options )
判断传入的像素是否在范围内。 直接匹配大小,不涉及像素和地理转换
containsPixel:function( px, inclusive )
判断传入的x,y坐标值是否在范围内。
contains:function( x, y, inclusive )
判断目标边界范围是否与当前边界范围相交。如果两个边界范围中的任意 边缘相交或者一个边界包含了另外一个就认为这两个边界相交。
intersectsBounds:function( bounds, options )
判断目标边界是否被当前边界包含在内。
containsBounds:function( bounds, partial, inclusive )
判断传入坐标在bounds范围内的象限。以bounds中心点为坐标原点。
determineQuadrant: function( lonlat )
范围(Bounds)对象的投影转换。 (在自身上做投影转换)
transform: function( source, dest )
将当前bounds移动到最大边界范围内部(所谓的内部是相交或者内部)
wrapDateLine: function( maxExtent, options )
销毁此对象。 销毁后此对象的所有属性为null,而不是初始值。
destroy: function()
通过字符串参数创建新的bounds的构造函数
SuperMap.Bounds.fromString = function( str, reverseAxisOrder )
通过边界框数组创建Bounds
SuperMap.Bounds.fromArray = function( bbox, reverseAxisOrder )
通过传入的边界大小来创建新的边界。
SuperMap.Bounds.fromSize = function( size )