Xamarin 表单地图中的 MoveToRegion 行为异常

MoveToRegion in xamarin forms maps behaves strangely

我在我的应用程序中使用地图控件,我需要设置可见区域,使其覆盖所有引脚。 具有讽刺意味的是,相同的代码在两个平台上都不起作用,iOS 工作起来很笨拙,下面的代码在两个平台上产生几乎相同的可见区域。

 if(Device.OS == TargetPlatform.iOS)
                customMap.MoveToRegion (MapSpan.FromCenterAndRadius (customMap.CustomPins [0].Pin.Position, Distance.FromMiles (0.20)));
if(Device.OS == TargetPlatform.Android)
                customMap.MoveToRegion (MapSpan.FromCenterAndRadius (customMap.CustomPins [0].Pin.Position, Distance.FromMiles (55.0)));

谁能解释一下?为什么我需要这样编码?

我找到了解决方法,我正在等待一些解释,然后再接受我自己的答案

Device.StartTimer(TimeSpan.FromMilliseconds(500), () =>
                    {
                        customMap.MoveToRegion(MapSpan.FromCenterAndRadius(customMap.CustomPins [0].Pin.Position, Distance.FromMiles(55.0)));
                        return false;
                    });

当我尝试使用 Xamarin Geolocator 插件在 IOS 和Android。使用 Saket Kumar 的 500 毫秒延迟方法,效果会好很多。这是我的代码片段,希望这对某人有所帮助。

    private void CenterOnMe_Clicked(object sender, EventArgs e)
    {
        var locator = CrossGeolocator.Current;
        var t = Task.Run(async () =>
        {
            var position = await locator.GetPositionAsync(TimeSpan.FromSeconds(10));
            Device.StartTimer(TimeSpan.FromMilliseconds(500), () =>
            {
                AroundMeMap.MoveToRegion(

                    MapSpan.FromCenterAndRadius(

                        new Position(position.Latitude, position.Longitude), Distance.FromMiles(1)));
                return false;
            });
        });
    }