大家好,欢迎来到IT知识分享网。
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
求大神帮忙看下,谢谢,这是天地图官网的源代码:
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 }
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/13637.html