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

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

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

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

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


- (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

目录
相关文章
|
定位技术 API 开发工具
百度地图开发-显示地图默认界面 03
百度地图开发-显示地图默认界面 03
312 1
百度地图开发-显示地图默认界面 03
|
UED 开发者
小程序页面可以放置转发按钮,同时开放了微信运动步数背景音乐播放等更多基础能力
  小程序页面可以放置转发按钮,同时开放了微信运动步数背景音乐播放等更多基础能力。小程序转发更简单了:小程序页面可以放置转发按钮。在小程序页面右上角“…”的转发功能基础上,新增在页面内放置转发按钮,用户点击后,即可将喜欢的内容分享给好友或群聊,体验更加流畅。
1180 0
|
移动开发 定位技术
百度地图H5手机端自动定位并更换图标的解决方案
百度地图H5手机端自动定位并更换图标的解决方案
220 0
|
定位技术
重制AdvanceWars第一步 -- 搞定地图
首先来聊下高级战争吧Advance Wars,由任天堂旗下的Intelligent Systems开发的战棋游戏。初作诞生于GBA上,后来继续跟进了高战2黑洞崛,而后在下一代掌机DS上也出了三代续作高战DS,以及后来不太一样的毁灭日。
1149 0
|
C# Windows
C#软件开发实例.私人订制自己的屏幕截图工具(二)创建项目、注册热键、显示截图主窗口
开发环境 操作系统:Windows Server 2008 R2 集成开发环境(IDE):Microsoft Visual Studio 2010 开发语言:c# 创建项目 文件》新建》项目 .
775 0
|
C#
C#软件开发实例.私人订制自己的屏幕截图工具(十)在截图中包含鼠标指针形状
在写一此帮助说明类的文档时,截取的图片如果还有鼠标的指针形状,看起来就更直观更友好一些。接下来就讲一下如何在截图中包含鼠标指针形状。 上一篇:C#软件开发实例.私人订制自己的屏幕截图工具(九)使用自定义光标,QQ截图时的光标 添加结构CURSORINFO: [StructLayout(LayoutKind.
1105 0
微信公众平台后台编辑器上线图片缩放和封面图裁剪功能
  今日,微信公众平台后台编辑器又上线了两个更新,图片缩放和封面图裁剪功能,微信团队真喜欢深夜放毒,不想让人睡的节奏。【微信公众平台编辑器可以剪裁和替换正文图片了】 两个新增的功能如下  1、图片缩放  插入文章的图片可以直接等比例缩放  没错,任意选一个点拉动就行  2、封面图可以直接裁剪  拖动...
2060 0
|
编解码
根据用户浏览页面的设备和屏幕的分辨率,在页面上显示不同的页面和不同大小的图片
根据用户浏览页面的设备和屏幕的分辨率,在页面上显示不同的页面和不同大小的图片
167 0
根据用户浏览页面的设备和屏幕的分辨率,在页面上显示不同的页面和不同大小的图片
火狐浏览器3.0如何查看网页元素的三维视图
右键查看元素,最左侧设置按钮里面 勾选上3D模式
843 0