日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪(fǎng)問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

android离线天地图,天地图的移动App开发,离线地图下载不了

發(fā)布時(shí)間:2023/12/20 编程问答 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 android离线天地图,天地图的移动App开发,离线地图下载不了 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

該樓層疑似違規(guī)已被系統(tǒng)折疊?隱藏此樓查看此樓

求大神幫忙看下,謝謝,這是天地圖官網(wǎng)的源代碼:

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; //所有的地圖相關(guān)數(shù)據(jù)

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 }

總結(jié)

以上是生活随笔為你收集整理的android离线天地图,天地图的移动App开发,离线地图下载不了的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。