Select to view content in your preferred language

Issues with map extent

2075
1
06-12-2013 02:03 AM
MatejSkerjanc
Regular Contributor
So here's the situation, i'm calculating envelope of a map extent. Print it out. Set another extent (maximum extent of all the layers) and again print out the map extent. I dont understand two things. Why doesnt the setExtent work correctly? And why doesnt the getAllLayersFullEnvelope return actual full extent of all the layers (it gets trimmed at minx and maxy points). Hope this was comprehensible:) Thanks for your time


MAIN:
Envelope env = getEnvelopeFromPolygon(map.getExtent());
      Log.i("TOCKA 100 x/y: ", env.getLowerLeft().getX()+"," + env.getLowerLeft().getY() + "/" + env.getUpperRight().getX()+"," + env.getUpperRight().getY());
      map.setExtent(getAllLayersFullEnvelope());
      env = getEnvelopeFromPolygon(map.getExtent());
      Log.i("TOCKA 200 x/y: ", env.getLowerLeft().getX()+"," + env.getLowerLeft().getY() + "/" + env.getUpperRight().getX()+"," + env.getUpperRight().getY());








06-12 11:55:26.062: I/TOCKA 100 x/y:(28093): 464450.3476,102726.77979999967/464639.01269999985,102874.95439999923
06-12 11:55:26.238: I/TOCKA2 x/y:(28093): 464261.6825000001,102601.26280000061/464827.6777999997,103023.1289999988
06-12 11:55:26.410: I/TOCKA 200 x/y:(28093): 464450.3476,102738.1086032788/464639.01269999985,102874.95439999923
0 Kudos
1 Reply
MatejSkerjanc
Regular Contributor
forgot to add
private Envelope getAllLayersFullEnvelope()
 {
   Point tmpLLPoint = map.getLayer(0).getFullExtent().getLowerLeft();         
   Point tmpURPoint = map.getLayer(0).getFullExtent().getUpperRight();
      
      
      double minx = tmpLLPoint.getX(), miny = tmpLLPoint.getY(), maxx = tmpURPoint.getX(), maxy = tmpURPoint.getY();
      
      
      for(int i = 1; i < map.getLayers().length; i++)
      {
       if(map.getLayer(i) instanceof ArcGISFeatureLayer)
       {
        ArcGISFeatureLayer fLayer = (ArcGISFeatureLayer) map.getLayer(i);       
        Envelope xtent = fLayer.getFullExtent();
        Point llPoint = xtent.getLowerLeft();
        Point urPoint = xtent.getUpperRight();
        
        Log.i("TOCKA URL za map.getLayer(i).getName()", ""+ map.getLayer(i).getUrl());
         Log.i("TOCKA za layer"+ map.getLayer(i).getName()  +": ", llPoint.getX() + ", " + llPoint.getY() + "/" + urPoint.getX() + "," + urPoint.getY());
        
        if(llPoint.getX() < minx)
         minx = llPoint.getX();
        if(llPoint.getY() < miny)
         miny = llPoint.getY();
        
        if(urPoint.getX() > maxx)
         maxx = urPoint.getX();
        if(urPoint.getY() > maxy)
         maxy = urPoint.getY();       
       }
      }
  
      Envelope env = new Envelope(minx, miny, maxx, maxy);
      Log.i("TOCKA2 x/y: ", env.getLowerLeft().getX()+"," + env.getLowerLeft().getY() + "/" + env.getUpperRight().getX()+"," + env.getUpperRight().getY());      
      return env;
 }
0 Kudos