2014-01-06 82 views
0

我可以通過代碼將圖片添加到我的地圖中。WinRT Bing.Maps - 如何使用經緯度邊界框添加圖像?

但是,當我放大/縮小時,圖像保持不變。我希望它相對於地圖縮放。

在地圖的WPF版本,你可以使用一個圖像刷了MapPolygon一下子就被限制在邊界框。

我試圖解決from this SO question,但它似乎對圖像沒有影響。

   imageLayer.Children.Clear(); 
       MapLayer.SetPosition(_vm.RadarImage, new Location(_vm.Overlay.LatN, _vm.Overlay.LonW)); 
       imageLayer.Children.Add(_vm.RadarImage); 

       shapeLayer.Shapes.Clear(); 
       var rect = new MapPolygon(); 
       rect.Locations.Add(new Location(_vm.Overlay.LatN, _vm.Overlay.LonW)); 
       rect.Locations.Add(new Location(_vm.Overlay.LatS, _vm.Overlay.LonW)); 
       rect.Locations.Add(new Location(_vm.Overlay.LatS, _vm.Overlay.LonE)); 
       rect.Locations.Add(new Location(_vm.Overlay.LatN, _vm.Overlay.LonE)); 
       rect.FillColor = Colors.Green; 

       shapeLayer.Shapes.Add(rect); 

       mappy.SetView(new LocationRect(new Location(_vm.Overlay.LatN + 0.0001, _vm.Overlay.LonW + 0.0001), new Location(_vm.Overlay.LatS - 0.0001, _vm.Overlay.LonE - 0.0001))); 

這是正確的縮放比例。

Correct iamge placement

當你通過導航放大一次,你可以看到像現在比多邊形

Zoomed once

回答

1

較大不存在一個簡單的解決方案這一點。我已經整理了一個示例應用程序,顯示了一種方法來執行此操作。你可以在這裏找到它:http://code.msdn.microsoft.com/Binding-and-Image-to-a-01a56e48我所做的是在地圖上添加一個Canvas,然後使用地圖來計算圖像邊界框的像素座標。然後,我使用這些像素座標來縮放並將畫布上的圖像定位在地圖上。我做了類似的事情來創建過去支持圖像刷子的自定義多邊形,但尚未上傳該代碼示例。

+0

工作出色! –