2016-08-24 49 views
0

我有一個Microsoft.Maps.MapControl.WPF地圖的應用程序,並用mapView.Children.Add(層)增加了一些層。 這些圖層中的每一個都有不同類型的疊加層,它們是使用layer.Children.AddChild(image,locationRect)添加的圖像。移動一個MapLayer子元件編程

我想能夠從代碼中移動,調整大小和旋轉這些對象(不是來自對它們一無所知的xaml),但我似乎無法做到前兩個(旋轉非常簡單) 。

經過試驗和錯誤,並找到一些非微軟文檔我看到MapLayer.GetPositionRectangle(UIElement)返回對象的正確位置,所以MapLayer.SetPositionRectangle()應該設置它,但它似乎是合乎邏輯的, t和我找不到任何web上的任何例子,編程方式將對象移動到一個新的緯度/經度。

是否有移動地圖上的地理對象的方法,或者我必須移除它並將它添加到正確的位置,或者只是將它移動到我制定的X/Y座標系的畫布上從經緯度來看,這兩者似乎都是錯誤的,但這是我的第一個WPF應用程序(通常使用表單),也許這是它的完成方式?

+0

原來,當你發佈你找到答案不久之後。與旋轉和與對象(圖像)有關的任何事情不同,它在調用SetPosition之後沒有更新對象。使該對象無效,修復該問題。 – Woody

回答

0

存在於微軟github頁面上的Windows-universal-samples可以幫助你。有一個MapControl的例子,你可以從中獲得一些想法。

此示例演示如何在UWP應用程序中使用通用地圖控件(MapControl)。

  • 地圖控件基礎:調整縮放級別,航向,DesiredPtich和地圖S型
  • 添加的地圖上的興趣點:圖釘,圖像和形狀
  • 地圖
  • 顯示上添加XAML覆蓋使用URI方案
在地圖控件
  • 3D位置顯示的Streetside體驗中地圖控件
  • 啓動地圖

    網址:https://github.com/Microsoft/Windows-universal-samples/tree/master/Samples/MapControl

    這個例子之後,如果有更多的問題,張貼在這裏解決。

    我認爲,最好的方法是獲得這個XAML的模型,在這裏你可以更新這個屬性。

  • +1

    謝謝你,我會通過它來查看是否有任何可轉移的幫助,但乍一看,地圖控件似乎以與bing地圖wpf控件完全不同的方式工作。 (我無法構建UWP示例,因爲我沒有UWP sdk)。我特指Microsoft.Maps.MapControl.WPF控件,我不能使用UWP,我需要從Windows 7開始的標準Windows應用程序。 – Woody

    +0

    WPF和UWP地圖控件有很大的不同,它們之間可能沒有太多的轉換。 – rbrundritt

    0
    +0

    謝謝 - 我試過這些。最終發現SetPositionX方法正在工作,但視圖沒有更新,並且在我正在移動的圖像上調用invalidate更新了整個事物 – Woody