arcgis api for flex 高级主题(二) 自定义控件的开发
arcgis api for flex 本身只提供了Navigation和ScaleBar两个控件,并且api中
对如何开发自定义的控件做详细的描述(也可能有,是我没找到)、
下面就介绍一下我的方法。以实现一个能在地图上动态显示当前鼠标经纬度的控
件。
1 定义控件类,集成UIComponent ,实现IMapAware接口
2 重载createChildren函数
3 实现public function set map(map:Map) : void 函数
4 添加自己的功能代码
       }
      }
     }
     private function extentChangeHandler
(event:ExtentEvent):void
     {
      var pnt:Point  = new Point;
   var mapPnt:MapPoint = new MapPoint
(m_map.extent.xmax,m_map.extent.ymin);
   pnt = m_map.toScreen(mapPnt);
   
            m_stateLabel.x = pnt.x-150;
            m_stateLabel.y = pnt.y-16;
     }
        public function set map(map:Map) : void
        {
            m_map = map;
            m_map.addEventListener
(MouseEvent.MOUSE_MOVE,mouseMoveHandler);
            m_map.addEventListener(ExtentEvent.EXTENT_CHANGE, 
extentChangeHandler);
        }// end function
}
}

把这个控件添加到map上
var statusBar:ESRIStatusBar = new ESRIStatusBar();
             IMapAware(statusBar).map = EsriMap;
             EsriMap.addChild(statusBar);   
放代码

 

>

相关文章: