android离线天地图,天地图的移动App开发,离线地图下载不了
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
求大神帮忙看下,谢谢,这是天地图官网的源代码:
001 package sdkdemo.com;
002
003 import java.util.ArrayList;
004 import java.util.Timer;
005 import java.util.TimerTask;
006
007 import android.app.Activity;
008 import android.app.ProgressDialog;
009 import android.os.Bundle;
010 import android.os.Handler;
011 import android.os.Message;
012 import android.view.View;
013 import android.view.View.OnClickListener;
014 import android.widget.Button;
015 import android.widget.EditText;
016 import android.widget.ProgressBar;
017 import android.widget.Toast;
018
019 import com.tianditu.android.maps.GeoPoint;
020 import com.tianditu.android.maps.MapController;
021 import com.tianditu.android.maps.MapView;
022 import com.tianditu.android.maps.TErrorCode;
023 import com.tianditu.android.maps.MapView.TMapType;
024 import com.tianditu.android.maps.TOfflineMapInfo;
025 import com.tianditu.android.maps.TOfflineMapManager;
026 import com.tianditu.android.maps.TOfflineMapManager.City;
027 import com.tianditu.android.maps.TOfflineMapManager.MapAdminSet;
028 import com.tianditu.android.maps.TOfflineMapManager.OnGetMapsResult;
029
030 public class OfflineMapDemo extends Activity implements OnGetMapsResult{
031 private MapView mMapView = null;
032 private TOfflineMapManager offlineMapMng= null;
033 private ProgressBar mPb = null;
034 private Handler mUpdateHandler = null;
035 private ProgressDialog mDlg = null;
036 private MapController mController = null;
037 private ArrayList mAllMaps = null; //所有的地图相关数据
038 private Timer mTimer = null;
039 private TimerTask mTimerTask = null;
040
041 @Override
042 protected void onCreate(Bundle savedInstanceState) {
043 // TODO Auto-generated method stub
044 super.onCreate(savedInstanceState);
045 setContentView(R.layout.offlinemapdemo);
046 offlineMapMng = new TOfflineMapManager(this);
047 offlineMapMng.setMapPath("/sdcard/tianditu3/staticmap/");
048 mMapView = (MapView)findViewById(R.id.offlinemap_mapview);
049 mMapView.setCachePath("/sdcard/tianditu/map/");
050 mController = mMapView.getController();
051 mController.setZoom(10);
052 mController.animateTo(new GeoPoint(39665124,116065124));
053 offlineMapMng.getMapList();
054 mMapView.setOfflineMaps(offlineMapMng.searchLocalMaps());
055
056 final EditText etCity = (EditText)findViewById(R.id.offlinemap_et_city);
057 Button btn = (Button)findViewById(R.id.offlinemap_btn_start);
058
059 btn.setOnClickListener(new OnClickListener(){
060
061 @Override
062 public void onClick(View view) {
063 // TODO Auto-generated method stub
064 mPb.setVisibility(View.VISIBLE);
065 offlineMapMng.startDownload(etCity.getText().toString(), TMapType.MAP_TYPE_VEC);
066 mTimer = new Timer();
067 mTimerTask = new TimerTask(){
068
069 @Override
070 public void run() {
071 // TODO Auto-generated method stub
072 Message msg = mUpdateHandler.obtainMessage();
073 msg.what = 1;
074 mUpdateHandler.dispatchMessage(msg);
075 }};
076 mTimer.schedule(mTimerTask, 0, 1000);
077 }
078 });
079
080 btn = (Button)findViewById(R.id.offlinemap_btn_pause);
081 btn.setOnClickListener(new OnClickListener(){
082
083 @Override
084 public void onClick(View view) {
085 // TODO Auto-generated method stub
086 offlineMapMng.pauseDownload();
087 if(mTimerTask != null)
088 mTimerTask.cancel();
089 mTimerTask = null;
090 if(mTimer != null)
091 mTimer.cancel();
092 mTimer = null;
093 ArrayList infos = offlineMapMng.getPausedMaps();
094 if(infos == null){
095 return;
096 }
097
098 }
099
100 });
101
102 mUpdateHandler = new Handler(){
103
104 @Override
105 public void handleMessage(Message msg) {
106 // TODO Auto-generated method stub
107 switch(msg.what)
108 {
109 case 1:
110 TOfflineMapInfo info = offlineMapMng.getDownloadInfo(etCity.getText().toString(), TMapType.MAP_TYPE_VEC);
111 if(info != null)
112 mPb.setProgress(info.getDownloadedSize()*100/info.getSize());
113 if(info == null || info.getState() != TOfflineMapManager.OFFLINEMAP_DOWNLOADING)
114 {
115 return;
116 }
117
118 //处理下载完成
119 if(info.getState() == TOfflineMapManager.OFFLINEMAP_DOWNLOAD_FINISHED)
120 {
121 mMapView.setOfflineMaps(offlineMapMng.searchLocalMaps());
122 }
123 break;
124
125 }
126
127 }
128
129 };
130 mPb = (ProgressBar)findViewById(R.id.offlinemap_progress);
131
132 mDlg = new ProgressDialog( this);
133 mDlg.setTitle( "天地图" );
134 mDlg.setProgressStyle( ProgressDialog.STYLE_SPINNER );
135 mDlg.setMessage( "正在初始化..." );
136 mDlg.setCanceledOnTouchOutside( false );
137 mDlg.setCancelable( true );
138 mDlg.show();
139 if(mAllMaps == null)
140 offlineMapMng.getMapList();
141
142 }
143
144 @Override
145 public void onGetResult(ArrayList maps, int error) {
146 // TODO Auto-generated method stub
147 mDlg.dismiss();
148 if(error != TErrorCode.OK)
149 return;
150 mAllMaps = maps;
151 int size = maps.size();
152 String str = "";
153 for(int i = 0;i < size;i++){
154 MapAdminSet adminSet = maps.get(i);
155 str += adminSet.getName();
156 ArrayList citys = adminSet.getCitys();
157 str += "城市:";
158 for(int k=0; k
159 {
160 str += citys.get(k).getName() + " ";
161 }
162 str += "\n";
163 }
164 Toast.makeText(OfflineMapDemo.this, str, Toast.LENGTH_SHORT).show();
165 }
166
167 }
android离线天地图,天地图的移动App开发,离线地图下载不了相关推荐
- 基于android的简单网页_成都APP开发:APP原生和网页开发有什么区别?
现在市面上的APP主要分为原生与网页开发两种模式,下面小编就分别针对APP的原生开发和网页开发两者间的优势和劣势介绍一下两者间的区别,希望帮助大家更好的了解这两种开发模式. 原生优势 1)运行速度比较 ...
- 基于android手机的健身预约系统APP开发
目录 一.本课题国内外研究动态及意义 二.毕业设计(论文)研究内容.拟解决的主要问题 三.毕业设计(论文)研究方法.步骤及措施 四.主要参考文献 一.本课题国内外研究动态及意义 随着社会不断的进步,健 ...
- Android studio课程设计仿微信app开发
在学习安卓app开发之后,每学期都会有课程设计,我们要根据已经学习的知识做出一些东西,下面这个项目就是我做了很久. 1.功能模块 2.注册登陆模块 3.添加好友模块 4.聊天界面 5.朋友圈界面 6. ...
- android 傻瓜式编程,傻瓜式App开发:jimu 像搭积木一样搭建Android App
Jimu目前主要提供Android应用的简易开发工具,而其服务对象也并不只限于不懂Java等编程语言的小白人群,开发者也可以利用Jimu的工具快速定制合适的App模块. Jimu创始人Linkton ...
- android 与 蓝牙模块 hc06通信app 开发要点
2016.8.24:这里非常抱歉,做完这个综合训练我个人忙于考研,没能第一时间把这篇博文写完.由于时间已经过了一年,而且我个人正在改行研究NLP,导致我现在对于其中一些要点已经忘记了.之前有些朋友私信 ...
- android app源码大全_[源码和文档分享]基于Android的家庭学校联系平台APP开发与实现...
摘要 学校教育与家庭教育的不一致,容易产生教育断层的局面,而现有的校讯通等家校互动平台,又存在教师与家长单向沟通等方面的问题.如今信息技术的飞速发展为家校共育的健康发展提供了强有力的保障," ...
- android 原生开发 3d地图 下载_arcgis api 3.x for js 入门开发系列二不同地图服务展示(附源码下载)...
前言 关于本篇功能实现用到的 api 涉及类看不懂的,请参照 esri 官网的 arcgis api 3.x for js:esri 官网 api,里面详细的介绍 arcgis api 3.x 各个类 ...
- android开发google地图
最近学习android的开发,在学习google地图开发的时候遇见一些问题,在此特地记录一下开发学习的步骤,也希望能帮助和我一样遇见问题的朋友.因为市面上的很多学习视频和博客 文章对这个的介绍很多都是 ...
- 低功耗蓝牙工具APP开发实战
<低功耗蓝牙工具APP开发实战> 什么是 LightBLE? 一个功能比较全面的蓝牙调试工具.支持所有使用蓝牙4.0低功耗的设备接入调试,提供蓝牙设备搜索.读取服务.浏览特征等操作. ...
- Web APP开发和原生app开发优势及区别
原生app开发优势: Native App就是原生App的意思,所以原生App开发也就是指基于本地智能操作系统的App开发服务.原生App实际上是一种基于智能手机本地操作系统如Android.IOS和 ...
最新文章
- 为什么阿里强制 boolean 类型变量不能使用 is 开头?
- 并发 --- 31 进程锁 守护进程 进程队列
- Flume NG之Agent部署和sink配置HDFS且吐槽CSDN博客及客服态度
- Simulink仿真 第六节 开关模块和增益模块
- Apache Camel 2.23发布
- Taro+react开发(17)--注意编译
- java同时满足语句_关于控制语句,下列哪些说法符合《阿里巴巴Java开发手册》:...
- SSIS工具的ETL过程,全量ETL和增量ETL过程教程
- scilab和matlab的区别,matlab 与scilab的比较.doc
- ubuntu国内镜像站点及更新源
- 软考程序员资源免费分享
- lua语言实现阴阳师自动脚本(内含可运行程序)
- linux 下查看文件字符编码和转换编码 360doc,Linux 下查看文件字符编码和转换编码...
- 矩阵的谱分解 (详细推导步骤~~~特征值分解特征向量
- 零基础小白必须学习的,3Dmax快捷键大全!你都会吗?
- 梦想在远方,理想在路上
- 新浪微博 ios/android 你所访问的站点在新浪微博的认证失败 解决方法
- 第一章 几何光学的基本定律
- 敏捷框架SAFe(Scaled Agile Framework)实践
- Apifox—诠释国产接口管理工具新高度
热门文章
- Python 符号运算
- MATLAB--基本绘图函数
- AD教程系列 | 5 - 绘制原理图
- java零基础自学教程视频,详细说明
- 软件测试基础理论(总结)
- 【Qt5】评标专家库随机选5人小软件
- android armv7 libmp3lame.so,lame支持armv6 armv7 i386 armv7s arm64
- tesseract ocr 5.0 Api调用,delphi源码实现--识别率超高速度快
- 软考中级–软件设计师考试大纲
- java 生产mdb_Java生成mdb文件[MS Access文件]