我剛試過這個,它什麼也沒做。除了設置MapAnimationKind.None時,TrySetViewBoundsAsync始終返回false,但仍然不執行任何操作。WP8.1 MapControl.TrySetViewBoundsAsync什麼也不做
我也試過TrySetViewAsync,它和上面的例子一樣。什麼
我想我的地圖控件的邊界設置爲點的路線我只是繪製
路線顯示細膩,但我不能放大的路線
我的程度可以設置手動變焦,但不完全符合我的要求,特別是如果路線大或小
任何想法?
private async void ShowMapRoute(List<BasicGeoposition> oMapRoute, bool ZoomToRoute = false)
{
if (oMapRoute.Count > 1)
{
MapPolyline oLine = new MapPolyline();
oLine.StrokeColor = Colors.Red;
oLine.StrokeThickness = 5;
oLine.Path = new Geopath(oMapRoute);
myMap.MapElements.Add(oLine);
if (ZoomToRoute)
{
GeoboundingBox oBoundingBox = GeoboundingBox.TryCompute(oMapRoute);
myMap.Center = new Geopoint(oBoundingBox.Center);
bool bSuccess = await myMap.TrySetViewBoundsAsync(oBoundingBox, null, MapAnimationKind.Default);
if (!bSuccess) myMap.ZoomLevel = 9;
}
}
}
我手動檢查了我的邊界框在谷歌地圖上的座標,它們是正確的。
有同樣的問題就在剛纔,我那是因爲地圖控件還沒有完全負載。因此,添加一個Loaded事件處理程序,只做TrySetViewBoundsAsync就行了 – Depechie
已加載的事件處理程序對我很有用@Depechie ..我認爲這是乾淨利落的最佳答案 –