sprite不要控制它的x,y,width,height,只要map1.map.addchild就可以画了,否则就是画蛇添足,画的内容不会显示。
protected function button26_clickHandler(event:MouseEvent):void
{// TODO Auto-generated method stub
opemode=13;
map1.map.addEventListener(MouseEvent.MOUSE_DOWN,handler_zoompan);
map1.map.addEventListener(MouseEvent.MOUSE_UP,handler_zoompan);
}
private var md_x:int;
private var md_y:int;
{
//!!在系统初始化处需要添加 map1.map.addChild(mysprite);
if(opemode==13)
{
if(event.type==MouseEvent.MOUSE_DOWN)
{
md_x=event.localX;
md_y=event.localY;
mysprite.graphics.clear();
//鼠标按下后,移动鼠标时,处理
map1.map.addEventListener(MouseEvent.MOUSE_MOVE,handler_zoommove);
//Alert.show("aaa");
}
if(event.type==MouseEvent.MOUSE_UP)
{
mysprite.graphics.clear();
map1.map.removeEventListener(MouseEvent.MOUSE_MOVE,handler_zoommove);
//根据矩形框计算缩放范围)
if(Math.abs(event.localX-md_x)>10 && Math.abs(event.localY-md_y)>10) //拖动框到一定大小再缩放,防止点击即缩放
{
//显示矩形范围 bounds需要左下和右上坐标,画图记忆的是左上和右下坐标
var map_zuoxia:Pixel=new Pixel(md_x,event.localY);
var map_youshang:Pixel=new Pixel(event.localX,md_y);
var loc_zuoxia:Location=map1.map.getLocationFromMapPx(map_zuoxia,map1.map.resolution);
var loc_youshang:Location=map1.map.getLocationFromMapPx(map_youshang,map1.map.resolution);
//Alert.show(loc_zuoxia.x + "," + loc_zuoxia.y);
var bds:Bounds=new Bounds(loc_zuoxia.x,loc_zuoxia.y,loc_youshang.x,loc_youshang.y,map1.map.projection);
map1.map.zoomToExtent(bds);
}
}
}
}
{
if(opemode==13)
{
if(event.type==MouseEvent.MOUSE_MOVE)
{
if(event.stageX!=md_x)
{
mysprite.graphics.clear();
mysprite.graphics.lineStyle(2,0xFF0000);
mysprite.graphics.beginFill(0x0000FF,0.2);
mysprite.graphics.drawRect(md_x, md_y, event.localX-md_x, event.localY-md_y);
mysprite.graphics.endFill();
}
}
}
}