So 
    you've just identified an area that we need to work on a bit.  Ideally 
    the MapGraphic Service should always be loaded in the catalog but it isn't 
    yet.  So you have to load it manually if it isn't in the local catalog 
    the following code will do it.  yourExtensionID is the id of your 
    map graphic : 
    
       
        Map map = 
    ApplicationGISInternal.getActiveMap();
        
        try 
    {
        
            IGeoResource mapGraphicResource = 
    null;
    
        
            URL 
    url = "">new 
    URL(MapGraphicService.SERVICE_URL, "#" + 
    yourExtensionID); //$NON-NLS-1$
        
            List<IResolve> matches = 
    CatalogPlugin.getDefault().getLocalCatalog().find(url,
        
                    new NullProgressMonitor());
        
            if 
    (!matches.isEmpty())
       
                
     mapGraphicResource = 
    (IGeoResource) matches.get(0);
    
        
            if 
    (mapGraphicResource == null) 
    {
        
                List<IService> results = 
    CatalogPlugin.getDefault().getServiceFactory()
        
                        
    .acquire(url);
        
                for( IGeoResource resource : 
    results.get(0).members(new 
    NullProgressMonitor()) ) {
        
                    if 
    (resource.getIdentifier().getRef().equals(url.getRef())) 
    {
      
                   
           mapGraphicResource = resource;
        
                        
    break;
        
                    }
        
                }
        
            }
        
            if 
    (mapGraphicResource == null)
        
                return;
        
            Layer layer = 
    map.getLayerFactory().createLayer(mapGraphicResource);
        
            map.sendCommandSync(BasicCommandFactory.getInstance().createAddLayer(layer));
        
        } 
    catch 
    (MalformedURLException e) {
        
            MapGraphicPlugin.log("", e); //$NON-NLS-1$
        
        } 
    catch 
    (IOException e) {
        
            MapGraphicPlugin.log("", e); //$NON-NLS-1$
        
        }
    
    
    The code also creates and adds the mapgraphics to a map.
    
    Cheers,
    
    Jesse
    
    
    On 28-Oct-06, at 4:25 AM, Andy Czerwonka wrote:
    
      I've implemented a MapGraphic extension, but I 
      need a handle to the 
      MapGraphic.  I see the example of creating a 
      layer based on the 
      MapGraphicService URL, but nowhere do I see how 
      to get the MapGraphic 
      handle.  
      I see (in the debugger) that the MapGraphic is contained in 
      the 
      IGeoResource, but I can't figure out how it's 
      exposed.
      
      Thanks in advance,
      
      -andy 
      
      
      
      _______________________________________________
      User-friendly Desktop Internet GIS (uDig)