2012-08-31 2 views
0

이전 질문이 실수로 마감되었으므로 다시 묻습니다.빙지도 WPF API - 제한 확대?

Bing Maps WPF 컨트롤의 확대/축소를 제한 할 수 있습니까? 내 목표는 사용자가 너무 멀리 확대하고 여러 개의 "세계"가 나란히 나란히 놓이는 것을 방지하는 것입니다.

이것은 이 아니며이며 AJAX API와 관련된 유사한 질문이 중복되어 있습니다. AJAX API와 WPF API는 서로 다르며 여러면에서 완전히 다른 기능을합니다. AJAX 솔루션을 구현하려고 시도 할 때 (내가 질문하기 전에) Zoom이 성공하지 못했던 것 같습니다.

감사합니다.

답변

0

어쩌면 그럴 것 같은가요?

private void map_ViewChangeOnFrame(object sender, MapEventArgs e) 
    { 
     if (this.bingMap.ZoomLevel < ViewLogic.MinimumZoomLevel) 
     { 
      this.bingMap.SetView(this.previousFrameCenter, ViewLogic.MinimumZoomLevel); 

      e.Handled = true; // Do we need it??? 
     } 
     else 
     { 
      this.previousFrameCenter = this.bingMap.Center; 
     } 

     if (this.DoUpdate()) 
     { 
      // Avoiding "jerking" effect and updating only for certain zoom/pan deltas 
      this.UpdateModelViewPort(); 
     } 
    } 
0

WPF 컨트롤은 AJAX 나 SilverLight처럼 강력하지는 않습니다. 그래서 많은 것들이

당신은 임계 값이

나는 전체지도를 resctrict려고 만난 경우 Map.MouseWheel 이벤트를 처리하고 줌 증가/감소를 제한함으로써 무력 접근 방법을 시도 할 수 있습니다 ... 수동으로 수행해야했다 보기 - 그리고 그걸 다루는 것은 고통 스럽네요 :)

0

음,이 ... 어떤 그래픽 sideeffects없이 나를 위해 잘 작동

private void myMap_ViewChangeOnFrame(object sender, MapEventArgs e) 
    { 
     double z = myMap.ZoomLevel; 

     //Maximum Zoom 19.5 
     if (z > 19.5) 
     { 
      myMap.ZoomLevel = 19.5; 
     } 

     //Minimum Zoom 2.5 
     if (z < 2.5) 
     { 
      myMap.ZoomLevel = 2.5; 
     } 
    }