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