微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Xamarin Forms Maps,添加图钉后,moveToRegion不起作用

如何解决Xamarin Forms Maps,添加图钉后,moveToRegion不起作用

我已经实现了在我的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)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。