按adcode下载
// 下载回调函数指针设置
awk_map_download_callback_t *callback = malloc(sizeof(awk_map_download_callback_t));
callback->on_started = awk_download_started;
callback->on_stop = awk_download_stop;
callback->on_finish = awk_download_finish;
callback->on_progress = awk_download_progress;
callback->on_error = awk_download_error;
// 开始下载,第一个参数是城市adcode,第二个参数是地图比例尺,第三个参数是回调函数结构体
awk_map_start_download_offline_data("110105", 16, callback);
按经纬度范围下载
// 下载回调函数指针设置
awk_map_download_callback_t *callback = malloc(sizeof(awk_map_download_callback_t));
callback->on_started = awk_download_started;
callback->on_stop = awk_download_stop;
callback->on_finish = awk_download_finish;
callback->on_progress = awk_download_progress;
callback->on_error = awk_download_error;
// 经纬度范围下载
awk_map_coord2d_t center;
memset(¢er, 0, sizeof(awk_map_coord2d_t));
center.lat = 30.2227;
center.lon = 120.1212;
awk_map_start_download_region_range(center, AWK_MAP_RANGE_10KM, 16, callback);
按路线下载
awk_map_coord2d_t points[] = {
{113.947060, 22.748467},
{113.946982, 22.748467},
//... more data here
{113.947212, 22.748468},
};
awk_map_tile_download_callback_t tile_download_callback;
tile_download_callback.on_success = awk_download_tile_on_success;
tile_download_callback.on_fail = awk_download_tile_on_fail;
awk_map_download_polyline_region("test1", points, sizeof(points), tile_download_callback);
查询已下载的离线数据
// 经纬度范围信息查询
awk_map_coord2d_t center;
memset(¢er, 0, sizeof(awk_map_coord2d_t));
center.lat = 30.2227;
center.lon = 120.1212;
awk_map_offline_gdb_query_result_t query_result;
memset(&query_result, 0, sizeof(awk_map_offline_gdb_query_result_t));
awk_map_list_download_region_range(center, AWK_MAP_RANGE_10KM, 16, &query_result);
for (int i = 0; i < query_result.size; i++)
{
awk_map_offline_gdb_info_t info = query_result.infos[i];
printf("download info %f %f %d %d, %s\n", info.location_info.location.lon, info.location_info.location.lat, info.location_info.range, info.location_info.expect_level, info.file_name);
}
if (query_result.size > 0)
{
awk_mem_free_adapter(query_result.infos);
query_result.size = 0;
query_result.infos = NULL;
}
// 查询通过adcode下载的
awk_map_offline_gdb_query_result_t result;
memset(&result, 0, sizeof(awk_map_offline_gdb_query_result_t));
awk_map_list_download_offline_regions("110105", 16, &result);
for (int i = 0; i < result.size; i++)
{
printf("list adcode: %s %d %s\n", result.infos[i].adcode_info.adcode, result.infos[i].level, result.infos[i].file_name);
}
if (result.infos)
{
awk_mem_free_adapter(result.infos);
result.infos = NULL;
result.size = 0;
}
删除已下载的离线数据
// 以经纬度信息删除下载数据
awk_map_coord2d_t center;
memset(¢er, 0, sizeof(awk_map_coord2d_t));
center.lat = 30.2227;
center.lon = 120.1212;
awk_map_delete_download_region_range(center, AWK_MAP_RANGE_10KM, 16);
// 删除通过adcode下载的
awk_map_delete_download_offline_region("110105", 16);