{"version":"0.1.0","code":"0000","result":true,"message":"处理成功","errdetail":"","timestamp":1671516376492,"data":{"id":71712885,"title":"8.2.5.3 获取云端城市数据信息","slug":"ras71g","format":"lake","bookId":26046811,"body":null,"body_draft":null,"body_html":"

场景图

\"image.png\"

时序图

检测云端城市数据列表

下载/更新云端城市数据

关键参数

com.autonavi.gbl.data.model.AreaType

注意:当使用AREA_TYPE_COUNTRY(国家(基础功能包))获取adcode列表时,返回的adcode只有一个。

核心接口

以上接口参数downLoadMode,均需传 DOWNLOAD_MODE_NET 值,表示网络更新下载模式。


说明:函数详情,请复制函数名称到在线API搜索

调用示例

int currentCityAdcode = getMapDataService().getAdcodeByLonLat(dLon,dLat); // 当前经纬度信息,通过定位模块或者上层的网络定位获取


// 目前国家类型行政编码,仅为一个元素,值固定为0\nint [] adcodeCountry = getMapDataService().getAdcodeList(DOWNLOAD_MODE_NET, AREA_TYPE_COUNTRY);
//  [110000,500000,310000,120000],按拼音顺序为北京市、重庆市、上海市、天津市\nint [] adcodeDirdectLst = getMapDataService().getAdcodeList(DOWNLOAD_MODE_NET,AREA_TYPE_DIRECT);
int [] adcodeProvLst = getMapDataService().getAdcodeList(DOWNLOAD_MODE_NET, AREA_TYPE_PROV);
int [] adcodeCityLst = mIMapDataService.getAdcodeList(DOWNLOAD_MODE_NET, AREA_TYPE_CITY);
//  [820000,810000],按拼音顺序为澳门、香港\nint [] adcodeSpecialLst = mIMapDataService.getAdcodeList(DOWNLOAD_MODE_NET, AREA_TYPE_SPECIAL);
int [] adcodeProvLst = mIMapDataService.getAdcodeList(DOWNLOAD_MODE_NET, AREA_TYPE_PROV);\nif(null != adcodeProvLst && 0 < adcodeProvLst.length)\n{\n    for (int i=0;i<adcodeProvLst.length;i++)\n    {\n        Integer provAdcode = new Integer(adcodeProvLst[i]);\n        Area provArea = new Area();\n        mIMapDataService.getArea(DOWNLOAD_MODE_NET, provAdcode, provArea);\n        String provName = new String(provArea.name); // 中文名称,如:安徽省\n        \n        int[] subCityAdcodeList = provArea.vecLowerAdcodeList;\n        if(null != subCityAdcodeList && 0 < subCityAdcodeList.length)\n        {\n            for (int j=0;j<subCityAdcodeList.length;j++)\n            {\n                Integer cityAdcode = new Integer(subCityAdcodeList[i]);\n                Area cityArea = new Area();\n                mIMapDataService.getArea(DOWNLOAD_MODE_NET,cityAdcode,cityArea);\n                String cityName = new String(cityArea.name); // 中文名称,如:安庆市\n            }\n        }\n    }\n}
int adcode = 350200 // 必须是城市adcode, (基础功能包adcode=0,可视作特殊的城市数据包)\nCityDownLoadItem downloadItem = new CityDownLoadItem();\ndownloadItem = mIMapDataService.getCityDownLoadItem(DOWNLOAD_MODE_NET,adcode);\n\n// 客户端根据 downloadItem.bIsDataUsed 和 downloadItem.taskState 字段转换为前端需要显示的文案\nString strTaskCode =  switchTaskStatusCodeToString (downloadItem.bIsDataUsed, downloadItem.taskState);
// 根据 downloadItem.bIsDataUsed 和 downloadItem.taskState 字段转换为前端需要显示的文案\nprivate String switchTaskStatusCodeToString(boolean isDataUsed, @TaskStatusCode.TaskStatusCode1 final int taskCode) {\n    String desc = new String("");\n    switch (taskCode) {\n        case TASK_STATUS_CODE_READY:\n           \n            if(isDataUsed)\n            {\n                desc = "待更新";\n                \n                if (IsCompltelyHighVer)\n                {\n                   // 全量更新,数据包待更新的大小用CityDownLoadItem.nFullZipSize字段值来显示\n                }\n                else\n                {\n                   // 增量更新,数据包待更新的大小用CityDownLoadItem.nZipSize字段值来显示\n                }\n            }\n            else\n            {\n                desc = "待下载";\n                // 待下载,数据包待下载的大小用CityDownLoadItem.nFullZipSize字段值来显示\n            }\n            \n            break;\n        case TASK_STATUS_CODE_WAITING:\n            desc = "等待中";\n            break;\n        case TASK_STATUS_CODE_PAUSE:\n            desc = "暂停";\n            break;\n        case TASK_STATUS_CODE_DOING:\n        case TASK_STATUS_CODE_DONE:\n            desc = "下载中";\n            if(isDataUsed)\n            {\n                desc = "更新中";\n            }\n            break;\n        case TASK_STATUS_CODE_CHECKING:\n            desc = "校验中";\n            break;\n        case TASK_STATUS_CODE_CHECKED:\n            desc = "校验完成";\n            break;\n        case TASK_STATUS_CODE_UNZIPPING:\n            desc = "解压中";\n            break;\n        case TASK_STATUS_CODE_UNZIPPED:\n            desc = "解压完成";\n            break;\n        case TASK_STATUS_CODE_SUCCESS:\n            desc = "已下载";\n            break;\n        case TASK_STATUS_CODE_ERR:\n        case TASK_STATUS_CODE_MAX:\n            desc = "重试";\n            break;\n    }\n    return desc;\n}

注意:CityDownLoadItem.bUpdate也是表示更新,但是内部赋值其实也是通过isDataUsed&&TASK_STATUS_CODE_READY来赋值,这边有可能在赋值时isDataUsed或taskCode还没有更改,会导致bUpdate是错误的值,这边建议使用上述示例代码来处理更新状态

","body_lake":null,"pub_level":null,"status":"0","updated_at":"2022-04-06 07:05:07","deleted_at":null,"nameSpace":"mnlcaa/v610","browseCount":102,"collectCount":0,"estimateDate":10,"docStatus":0,"permissions":true,"overView":false}}