超图中查询结果的放大显示方式

对查询到的面放大显示
对查询到的面有两种放大方式:1,以中心点和比例尺放大, 2,以外接矩形放大


1,以中心点和比例尺放大
优点:快
缺点:不能适用大小差别较大的面对象
==================================================================
function onQueryCompleteclone(resultSet){
alert(resultSet.recordSets[0].records.length);//查询到的结果数
var cx = resultSet.recordSets[0].records[0].center.x;//面中心点x坐标
var cy = resultSet.recordSets[0].records[0].center.y;//面中心点y坐标
var centerP = new SuperMap.Point2D(cx,cy);
mapControl.setCenterAndZoom(centerP,1/800);
}

==================================================================

2,以外接矩形放大
优点:适用所有面对像
缺点:由于要使用遍历查询,速度相对较慢
==================================================================
function onQueryComplete(resultSet){
//alert(resultSet.recordSets[0].records.length);//查询到的结果数
var e = resultSet.recordSets[0].records[0];
if(e){
//初始化矩形坐标,让它等于第一个节点值

var maxx = e.shape.point2Ds[0].x; // 最大的x坐标值
var maxy = e.shape.point2Ds[0].y; // 最大的y坐标值
var minx = e.shape.point2Ds[0].x; // 最小的x坐标值
var miny = e.shape.point2Ds[0].y; // 最小的y坐标值

for (var i = 0; i < e.shape.point2Ds.length; i++) {
if (e.shape.point2Ds[i].x > maxx)
maxx = e.shape.point2Ds[i].x;
else if (e.shape.point2Ds[i].x < minx)
minx = e.shape.point2Ds[i].x;
if (e.shape.point2Ds[i].y > maxy)
maxy = e.shape.point2Ds[i].y;
else if (e.shape.point2Ds[i].y < miny)
miny = e.shape.point2Ds[i].y;
}
var rect = new SuperMap.Rect2D(minx,miny,maxx,maxy);
mapControl.viewByBounds(rect);
}
}
====================================================================
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值