ThinkGeo.com    |     Documentation    |     Premium Support

RestrictExtent does not prevent zoom/pan using mouse wheel and PanZoom bar

HI ThinkGeo,


I am using following code segment to restrict the map to US zone. Panning using Mouse is restricted.  However on Mouse wheel move to zoom out it does allow zoom out to whole world map and eventually runs into exception "ArgumentOutofRangeException". I am using WPF4.0153 daily package. I want the WPF map restriction extent to work like the Web component.new RectangleShape(-128.0, 50.0, -70.0, 24.0); // US map

Regards,


Anil



map1.RestrictExtent =



I am also having the same issue. It does not restrict the zoom out. 
  
 Regards 
 Raquib

Raquibur,  
  
 Our RestrictExtent behaviors to restrict the extent for panning. When zooming out to a scale that is larger than the restricted extent, the center pins to the center of the restricted extent and cannot move. Could you set the RestrictExtent and MinimumScale both to satisfy your requirement? It’s just an idea. 
  
 Just let me know if you have any queries. 
  
 Thanks, 
 Howard

Hi Howard, 
  
 By setting the RestrictExtent and the MaximumScale  I am able to satisfy the requirement.  
  I tried with MinimumScale but it did not work.  
  
 Regards, 
 Anil

Thanks Howard. 
  
 Using minimum scale i restrict the zoom in, using  maximum scale i restrict zoom out and using RestrictExtent i restricted panning of the map.  
  
 Regards, 
 Raquib 
  
  


Hi Raquibur, 
  
 I tried setting both max and min scale, and RestrictExtent as well. It works fine; could you show us a simple sample so that we can recreate your issue? I’m not sure how it works when you zooming out and panning. Sorry for the inconvenience. 
  
 Thanks, 
 Howard

Dear Howard, 
  
 Sorry for the misunderstanding. in my previous reply i was describing how i solved the problem using max, min scale and restrictextend. 
  
 Regards, 
 Raquib

Hi Raquibur, 
  
 I’m sorry that I still don’t quite understand the requirement from you. I just think you need a way to set corresponding max, min scale with the specified restrict extent; right? 
 public static double GetMaxScale(RectangleShape targetExtent, double mapScreenWidth, double mapScreenHeight) 
 { 
     double minResolution = Math.Min(targetExtent.Width / mapScreenWidth, targetExtent.Height / mapScreenHeight); 
     return minResolution * 419976384; 
 } 
  
 For the max scale, I have a method for you. You can use it to set the max scale. For the minimize scale, their doesn’t have a fix mechanism for it. It depends on how deep do you want to zoom in. 
  
 Please let me know if there is any misunderstanding. 
  
 Thanks, 
 Howard