问题描述
我已经实现了在我的OnAppearing()方法中,如果满足某些情况(App.ComebackFromPages
),则将图钉(App.SelectedPin
)添加到图上。
之后,我想将ToRegion移至该图钉并进行缩放。
当前状态:应用程序添加了图钉,我可以在地图上看到它,但是map.MovetoRegion不起作用。
所需状态:应用会添加该图钉,然后放大到该特定图钉。
这是OnAppearing方法:
protected async override void OnAppearing()
{
base.OnAppearing();
if (App.ComebackFromPages && App.SelectedPin != null)
{
if (!map.CustomPins.Any(x => x.IdobjectInstance == App.SelectedPin.IdobjectInstance))
{
map.CustomPins.Add(App.SelectedPin);
App.MapPins.Add(App.SelectedPin);
}
map.MovetoRegion(MapSpan.FromCenterandRadius(App.SelectedPin.Position,distance.FromMiles(0.5)));
App.ComebackFromPages = false;
}
}
我的猜测是OnApperiang方法是否异步?而不是在主线程上?
解决方法
我解决了这个问题,在添加图钉和调用方法map.MpveToRegion之间添加了Task.Delay(500)