C# Xamarin.ios中的MKMap:始终显示非洲的相同位置

C# Xamarin.ios中的MKMap:始终显示非洲的相同位置,c#,ios,xamarin,mkmapview,mapkit,C#,Ios,Xamarin,Mkmapview,Mapkit,我用的是MKMap。我希望地图最初显示用户的位置。但无论我对区域代码做了什么更改,地图都会以相同的缩放级别显示相同的位置 这是我的密码 public override void ViewDidLoad () { base.ViewDidLoad (); map.MapType = MapKit.MKMapType.Standard; map.ShowsUserLocation = true; var mapCenter = map.UserLocation.Co

我用的是MKMap。我希望地图最初显示用户的位置。但无论我对区域代码做了什么更改,地图都会以相同的缩放级别显示相同的位置

这是我的密码

public override void ViewDidLoad ()
{
    base.ViewDidLoad ();

    map.MapType = MapKit.MKMapType.Standard;
    map.ShowsUserLocation = true;
    var mapCenter = map.UserLocation.Coordinate;
    var mapRegion = MKCoordinateRegion.FromDistance (mapCenter, 200, 200);
    map.CenterCoordinate = mapCenter;
    map.Region = mapRegion;

    map.DidUpdateUserLocation += (sender, e) => {
        if (map.UserLocation != null){
            mapCenter = map.UserLocation.Coordinate;
            mapRegion = MKCoordinateRegion.FromDistance (mapCenter, 100, 100);
            map.CenterCoordinate = mapCenter;
            map.Region = mapRegion;
        }
    };

    //add annotation
    map.AddAnnotation (new MKPointAnnotation () {Title = "My Annotation", Coordinate = new CLLocationCoordinate2D (map.UserLocation.Coordinate.Latitude,map.UserLocation.Coordinate.Longitude)});

    //set map
    // Perform any additional setup after loading the view, typically from a nib.
}
这是我第一次使用Xamarin并为ios编程。因此,如果您在答复时不考虑讨论高级问题,我将非常感激。p> 我正在使用Xamarin和c而不是xcode,并在虚拟设备iPhone4SiOS8.1上进行测试


非常感谢。

这在模拟器上很常见,因为xcode 6已经在设备上测试过了吗?没有,我还没有物理设备。我不确定语言的差异,但需要注意的是,苹果改变了一些事情,要求应用程序用户允许位置设置在iOS8中工作,这意味着您需要实现UIAlertView。遗憾的是,它在运行时不会显示为错误,也不会显示位置。我不知道如何在C中实现,但值得尝试找到解决方案。