{"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":"
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}}