地图在 Xamarin 上的方向变化时失去位置 iOS
Map loosing position on orientation change on Xamarin iOS
我在 xamarin 中有一个自定义地图,我在 iOS 和 Android 中都有自定义渲染。
问题出在 iOS 当我导航到一个位置然后旋转我的设备以横向移动我的地图中心到我认为的纬度 0,经度 0
即使我在第一次渲染地图时设置了我的地图位置,它也会在方向改变时立即重置。
我用下面的代码设置相机位置
MKMapCamera cam = new MKMapCamera();
CLLocationCoordinate2D MyPosition;
MyPosition = Constants.centreLatLng
cam.Altitude = 1500;
cam.CenterCoordinate = MyPosition;
Constants.nativeMap.SetCamera(cam, false);
我想要它,所以当我改变方向时,我的地图中心保持不变。
正如您在 MapKit 的 Xamarin 官方文档中所见,
https://docs.microsoft.com/en-us/dotnet/api/mapkit.mkmapcamera?view=xamarin-ios-sdk-12 您可以尝试覆盖 DidChange 或 DidChangeValue 函数并找出相机位置的最新值是什么。那么你就知道设置 OnSizeAllocated 的值是什么了。
您可能还想尝试初始化示例中显示的地图的值,因为您不应该遇到这个问题。
我在 xamarin 中有一个自定义地图,我在 iOS 和 Android 中都有自定义渲染。
问题出在 iOS 当我导航到一个位置然后旋转我的设备以横向移动我的地图中心到我认为的纬度 0,经度 0
即使我在第一次渲染地图时设置了我的地图位置,它也会在方向改变时立即重置。
我用下面的代码设置相机位置
MKMapCamera cam = new MKMapCamera();
CLLocationCoordinate2D MyPosition;
MyPosition = Constants.centreLatLng
cam.Altitude = 1500;
cam.CenterCoordinate = MyPosition;
Constants.nativeMap.SetCamera(cam, false);
我想要它,所以当我改变方向时,我的地图中心保持不变。
正如您在 MapKit 的 Xamarin 官方文档中所见, https://docs.microsoft.com/en-us/dotnet/api/mapkit.mkmapcamera?view=xamarin-ios-sdk-12 您可以尝试覆盖 DidChange 或 DidChangeValue 函数并找出相机位置的最新值是什么。那么你就知道设置 OnSizeAllocated 的值是什么了。
您可能还想尝试初始化示例中显示的地图的值,因为您不应该遇到这个问题。