应用启动首次进入多视图页面可能出现地图黑屏问题

简介: 应用启动首次进入多视图页面可能出现地图黑屏问题

用户接单并等待计费状态,关闭应用再进入应用自动进入等待结束计费页面,有低概率出现地图加载失败地图为黑色或四方格,进入其它页面后再次进入该页面地图显示正常。

由于接单页面图层超多,并且还启动了长连接线程,所以可能接单地图页面在显示时,地图可能没有初始化完毕。

修改方案,对地图的唯一实例在应用启动时就初始画地图,进入接单页面时就直接从地图唯一实例中取就可以了。


- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    FLDDLogDebug(@"函数");
    launchedFlag = NO;
    [[SingleAsyncSocket sharedInstance] initData];
    .
    .
    .
    }
-(void)initData
{
    FLDDLogDebug(@"函数");
    //通过判断是否生成管道来防止重复初始化
    if(nil == self.endWaitPipe)
    {
        //fir
        [FIR handleCrashWithKey:GENERALKEY];
        //友盟分享
        [UMSocialData setAppKey:MUMENGKEY];
        //友盟统计
        [MobClick startWithAppkey:MUMENGKEY reportPolicy:BATCH   channelId:@"web"];

        [SVProgressHUD setDefaultMaskType:SVProgressHUDMaskTypeClear];
        //地图
        [MAMapServices sharedServices].apiKey= MAMAPKEY;
        [AMapNaviServices sharedServices].apiKey =MAMAPKEY;
        [AMapSearchServices sharedServices].apiKey = MAMAPKEY;
        NSString *initString = [[NSString alloc] initWithFormat:@"appid=%@",IFLYKEY];
        [IFlySpeechUtility createUtility:initString];

        [[Singleton sharedInstance] setMAMapViewInstance:[[MAMapView alloc] initWithFrame:CGRectMake(0, 0, kControlWidth, kControlHeight)]];
        self.endWaitPipe = [NSPipe pipe];

    }
}


-(void)initMap
{
    MAMapView *namapView = (MAMapView *)([[Singleton sharedInstance] getMAMapViewInstance]);
    if(nil == namapView)
    {
        _mapView = [[MAMapView alloc] initWithFrame:CGRectMake(0, 0, kControlWidth, kControlHeight)];
        [[Singleton sharedInstance] setMAMapViewInstance:_mapView];
    }
    else
    {
        CGRect newRect = CGRectMake(0, 0, kControlWidth, kControlHeight);
        namapView.frame = newRect;
        _mapView = namapView;
    }

    _mapView.delegate = self;
    [self.view addSubview:_mapView];

    [self.view sendSubviewToBack:_mapView];

    [self initAMapProperty];
    //定位
    _mapView.showsUserLocation = YES;
}

地图唯一实例见文章:

http://blog.csdn.net/jia12216/article/details/49276155

目录
相关文章
Threejs实现相机视角切换,平滑过渡,点击模型切换到查看模型视角
Threejs实现相机视角切换,平滑过渡,点击模型切换到查看模型视角
2298 0
|
8月前
|
小程序 定位技术 API
uniapp 开发微信小程序 --【地图】打开地图选择位置,打开地图显示位置(可开启导航)
uniapp 开发微信小程序 --【地图】打开地图选择位置,打开地图显示位置(可开启导航)
903 0
|
10月前
|
定位技术 iOS开发
在地图页面,自动布局控件开始是隐藏或在屏幕外需要正常显示时再为正常的显示状态的,需要在显示之前加入
在地图页面,自动布局控件开始是隐藏或在屏幕外需要正常显示时再为正常的显示状态的,需要在显示之前加入
71 0
|
10月前
|
Shell 开发工具 git
聊天功能演示系统发布后出现有些页面滚动与鼠标点击问题解决
聊天功能演示系统发布后出现有些页面滚动与鼠标点击问题解决
58 0
|
10月前
游戏开发实战教程(15):形状放置预提示
游戏开发实战教程(15):形状放置预提示
80 0
|
小程序 前端开发 JavaScript
微信小程序分类菜单激活状态跟随列表滚动自动切换
微信小程序分类菜单激活状态跟随列表滚动自动切换
195 0
|
移动开发 定位技术
百度地图H5手机端自动定位并更换图标的解决方案
百度地图H5手机端自动定位并更换图标的解决方案
217 0
|
Android开发
关闭安卓系统导航栏右下角自动旋转按钮
关闭安卓系统导航栏右下角自动旋转按钮
477 0
|
定位技术 API 开发工具
百度地图开发-显示地图默认界面 03
百度地图开发-显示地图默认界面 03
312 1
百度地图开发-显示地图默认界面 03

热门文章

最新文章