gpt4 book ai didi

ios - Mapkit map View 在第一次尝试时未显示

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:32:32 24 4
gpt4 key购买 nike

我在 RootViewController.m 上有一个选项卡。该选项卡有 2 个按钮。单击第一个按钮将转到上面有 mapView 的 CorpViewcontroller。当我第一次尝试点击第一个按钮时, map 是空白的,底部有谷歌标签。我必须单击返回然后再次单击按钮然后 map 显示。是否可以始终在第一次单击按钮时显示 map ?

我的 rootViewController.m 转到第二个屏幕:

  [self.navigationController pushViewController:self.corpController animated:YES];

名为 corpViewController 的第二个屏幕具有以下代码:

  - (void)viewDidLoad
{
[super viewDidLoad];

self.title = @"Set Remote Location";
self.jsonData = [[NSMutableData alloc] init];

mapView.showsUserLocation = YES;

//Setup the double tap gesture for getting the remote location..
UITapGestureRecognizer *tgr = [[UITapGestureRecognizer alloc]
initWithTarget:self action:@selector(handleGesture:)];
tgr.numberOfTapsRequired = 2;
tgr.numberOfTouchesRequired = 1;
[mapView addGestureRecognizer:tgr];

mapView.delegate = self;

NSLog(@"viewDidLoad done");
}


- (void)viewWillAppear:(BOOL)animated {

NSLog(@"viewWillAppear");

appDelegate = (NBSAppDelegate *)[[UIApplication sharedApplication] delegate];

double curLat = [appDelegate.curLat doubleValue];

MKUserLocation *userLocation = mapView.userLocation;

double miles = 10.0;
double scalingFactor = ABS( (cos(2 * M_PI * curLat / 360.0) ));

MKCoordinateSpan span;

span.latitudeDelta = miles/69.0;
span.longitudeDelta = miles/(scalingFactor * 69.0);

MKCoordinateRegion region2;
region2.span = span;
region2.center = userLocation.coordinate;

[mapView setRegion:region2 animated:YES];

NSLog(@"viewWillAppear done..");

}

请指教。

谢谢

最佳答案

您是否在 View Controller 的 viewDidLoad 方法中初始化 MapView?

如果是这样,请尝试将其移至 viewDidAppear 方法。这对我有用。

关于ios - Mapkit map View 在第一次尝试时未显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10526043/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com