2013-06-18 70 views
2

我正在使用WinRT和bing地圖,我試圖在放大地圖時設置(編程)我的圖釘的RenderTransform值。我試過Solution,但似乎Windows 8控件不支持綁定到ZoomLevel屬性。 有沒有人有任何解決方法或工作示例? 三江源提前圖釘調整綁定縮放級別

回答

1

我在這裏發佈一個例子,可以是如果需要的話可以使用其他人利用你的使用「ViewChanged」活動的建議,我寫了這個代碼片段:

private double Interpolate(double x0, double y0, double x1, double y1, double x) 
    { 
     return y0 * (x - x1)/(x0 - x1) + y1 * (x - x0)/(x1 - x0); 
    } 

    private void mapZoom_Event(object sender, ViewChangedEventArgs e) 
    { 
     double scale; 
     foreach (Pushpin currentPin in currentPins) 
     { 
      double zoom = Map.ZoomLevel; 

      scale = interpolate(10, 1/2, 18, 3, zoom); 

      if (scale < 1) 
       scale = 1; 

      ScaleTransform pushpinsScaleTransform = new ScaleTransform() 
      { 
       ScaleX = scale, 
       ScaleY = scale 
      }; 
      currentPin.RenderTransform = pushpinsScaleTransform; 
     } 
    } 

其中currentPins是一個IEnumerable是在地圖上。 插值方法是一個簡單的Lienar函數,它應該線性縮放圖釘的大小。

1

OK解決:我只是ViewChanged事件更新也縮放級別,並在此功能,我創建了RenderTransform屬性相關聯,並將其asspciate我圖釘