Xamarin指南针旋转图像北

klsxnrf1  于 2022-12-16  发布在  其他
关注(0)|答案(1)|浏览(140)

我在我的Xamarin.iOS应用程序中得到了这个简单的CompassView。一切都按预期工作,但我找不到旋转图像的方法,使其始终朝北。
下面是我的CompassOnReadingChanged方法:

private void CompassOnReadingChanged(object sender, CompassChangedEventArgs e)
    {
        var data = e.Reading.HeadingMagneticNorth;
       
       
       this.BeginInvokeOnMainThread(() =>
        {
           this.Transform = CGAffineTransform.MakeRotation((nfloat)data * (nfloat)Math.PI / 180);
        });
    }

因为类继承了UIView,所以Transform可以工作。
谢谢你的帮忙

  • -西蒙
jchrr9hc

jchrr9hc1#

它显示的是设备面对的方向,而不是北方的位置。所以这就成功了:

private void CompassOnReadingChanged(object sender, CompassChangedEventArgs e)
    {
        var data = e.Reading.HeadingMagneticNorth;
       
       
       this.BeginInvokeOnMainThread(() =>
        {
           this.Transform = CGAffineTransform.MakeRotation(-(nfloat)data * (nfloat)Math.PI / 180);
        });
    }

相关问题