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