下载省离线地图
[!TIP|labelVisibility:hidden|iconVisibility:hidden] navigator.map.downloadByProvinceName(resultCallback, list, onlyWifiDownload)
支持平台:
- Android
- iOS
参数说明
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
resultCallback | Function | 是 | 回调函数 |
list | StringArray | 是 | 省份名称数组 |
onlyWifiDownload | Boolean | 否 | 仅WiFi下下载 |
resultCallback
函数会返回一个对象,其属性包含以下一项或多项:
success
(Boolean)true
-- 成功false
-- 失败
data
(对象数组ObjectArray
) -- 数据对象数组,数组中的对象属性包含以下几项:status
(Int)-- 下载任务当前状态- 100 -- 已插入队列,等待中
- 101 -- 开始下载
- 102 -- 下载中
- 103 -- 下载成功
- 104 -- 暂停
- 105 -- 解压缩中
- 106 -- 完成
- 107 -- 发生错误
cityName
(String) -- 城市名称provinceName
(String) -- 省份名称cityCode
(String) -- 城市编码progress
(整型 / 可选) -- 下载进度,范围 [0, 100]
message
(String) -- 成功或者失败的相关信息
list
为字符串数组StringArray
,数组里是要下载的离线省份的名称
onlyWifiDownload
默认为true
设置是否仅在WiFi
环境下下载离线地图
true
-- 仅在WiFi
环境下下载离线地图,当网络环境切换为非WiFi
环境时会,自动暂停下载,再切换回WiFi
环境时会继续下载。false
-- 在非WiFi
环境下会弹出提示框(当前为非Wi-Fi
网络,下载离线数据将产生流量费用,是否继续下载)点击继续则开始下载,点击取消则取消此次下载。网络环境的切换不会暂停下载。
示例代码
// 引用js
<script src='supconit://hcmobile.js'></script>
<script>
// 监听’deviceready‘事件
document.addEventListener('deviceready', onDeviceReady, false)
function onDeviceReady(){
// 根据省份名称来下载离线地图包
navigator.map.downloadByProvinceName(
function (result) {
if (result.success) {
var progress=0;
var resData = result.data;
switch (resData.status){
case 100: // 等待
case 101: // 开始
case 102: // 下载中
case 103: // 下载完成
case 105: // 解压中
progress = resData.progress;
break;
case 106: // 完成
progress = resData.progress;
break;
case 104: // 暂停
progress = resData.progress;
break;
default : // 出错107
break;
}
} else {
alert(result.message)
}
},
['浙江省'],
true
)
}
</script>
响应示例代码:
{
"success": true,
"message": "下载中",
"data": {
"status": 102,
"progress": 30,
"cityCode": "0571",
"cityName": "杭州市",
"provinceName": "浙江省"
}
}