package com.baidu.mapapi.demo;
import java.util.ArrayList;
import com.baidu.mapapi.BMapManager;
import com.baidu.mapapi.MKOLSearchRecord;
import com.baidu.mapapi.MKOLUpdateElement;
import com.baidu.mapapi.MKOfflineMap;
import com.baidu.mapapi.MKOfflineMapListener;
import com.baidu.mapapi.MapActivity;
import com.baidu.mapapi.MapView;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
public class OfflineDemo extends MapActivity implements MKOfflineMapListener {
private MapView mMapView = null;
private MKOfflineMap mOffline = null;
private EditText mEditCityName;
private EditText mEditCityId;
private TextView mText;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.offline);
BMapApiDemoApp app = (BMapApiDemoApp)this.getApplication();
if (app.mBMapMan == null) {
app.mBMapMan = new BMapManager(getApplication());
app.mBMapMan.init(app.mStrKey, new BMapApiDemoApp.MyGeneralListener());
}
app.mBMapMan.start();
super.initMapActivity(app.mBMapMan);
mMapView = (MapView)findViewById(R.id.bmapView);
mMapView.setBuiltInZoomControls(true);
mOffline = new MKOfflineMap();
mOffline.init(app.mBMapMan, this);
ArrayList<MKOLUpdateElement> info = mOffline.getAllUpdateInfo();
if (info != null) {
Log.d("OfflineDemo", String.format("has %d city info", info.size()));
if (info.get(0).status == MKOLUpdateElement.FINISHED) {
}
}
ArrayList<MKOLSearchRecord> records = mOffline.getHotCityList();
if (records != null) {
Log.d("OfflineDemo", String.format("has %d hot city", records.size()));
}
mEditCityName = (EditText)findViewById(R.id.city);
mEditCityId = (EditText)findViewById(R.id.cityid);
mText = (TextView)findViewById(R.id.text);
Button btn = (Button)findViewById(R.id.start);
btn.setOnClickListener( new OnClickListener() {
public void onClick(View v) {
int cityid = -1;
try {
cityid = Integer.parseInt(mEditCityId.getText().toString());
} catch (Exception e) {
}
if (mOffline.start(cityid)) {
Log.d("OfflineDemo", String.format("start cityid:%d", cityid));
} else {
Log.d("OfflineDemo", String.format("not start cityid:%d", cityid));
}
}
});
btn = (Button)findViewById(R.id.stop);
btn.setOnClickListener( new OnClickListener() {
public void onClick(View v) {
int cityid = -1;
try {
cityid = Integer.parseInt(mEditCityId.getText().toString());
} catch (Exception e) {
}
if (mOffline.pause(cityid)) {
Log.d("OfflineDemo", String.format("stop cityid:%d", cityid));
} else {
Log.d("OfflineDemo", String.format("not pause cityid:%d", cityid));
}
}
});
btn = (Button)findViewById(R.id.search);
btn.setOnClickListener( new OnClickListener() {
public void onClick(View v) {
ArrayList<MKOLSearchRecord> records = mOffline.searchCity(mEditCityName.getText().toString());
if (records == null || records.size() != 1)
return;
mEditCityId.setText(String.valueOf(records.get(0).cityID));
}
});
btn = (Button)findViewById(R.id.del);
btn.setOnClickListener( new OnClickListener() {
public void onClick(View v) {
int cityid = -1;
try {
cityid = Integer.parseInt(mEditCityId.getText().toString());
} catch (Exception e) {
}
if (mOffline.remove(cityid)) {
Log.d("OfflineDemo", String.format("del cityid:%d", cityid));
} else {
Log.d("OfflineDemo", String.format("not del cityid:%d", cityid));
}
}
});
btn = (Button)findViewById(R.id.scan);
btn.setOnClickListener( new OnClickListener() {
public void onClick(View v) {
int num = mOffline.scan();
if (num != 0)
mText.setText(String.format("已安装%d个离线包", num));
Log.d("OfflineDemo", String.format("scan offlinemap num:%d", num));
}
});
btn = (Button)findViewById(R.id.get);
btn.setOnClickListener( new OnClickListener() {
public void onClick(View v) {
int cityid = -1;
try {
cityid = Integer.parseInt(mEditCityId.getText().toString());
} catch (Exception e) {
}
MKOLUpdateElement element = mOffline.getUpdateInfo(cityid);
if (element != null) {
new AlertDialog.Builder(OfflineDemo.this)
.setTitle(element.cityName)
.setMessage(String.format("大小:%.2fMB 已下载%d%%", ((double)element.size)/1000000, element.ratio))
.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int whichButton) {
}
}).show();
}
}
});
}
@Override
protected void onPause() {
BMapApiDemoApp app = (BMapApiDemoApp)this.getApplication();
app.mBMapMan.stop();
super.onPause();
}
@Override
protected void onResume() {
BMapApiDemoApp app = (BMapApiDemoApp)this.getApplication();
app.mBMapMan.start();
super.onResume();
}
@Override
protected boolean isRouteDisplayed() {
// TODO Auto-generated method stub
return false;
}
@Override
public void onGetOfflineMapState(int type, int state) {
switch (type) {
case MKOfflineMap.TYPE_DOWNLOAD_UPDATE:
{
Log.d("OfflineDemo", String.format("cityid:%d update", state));
MKOLUpdateElement update = mOffline.getUpdateInfo(state);
mText.setText(String.format("%s : %d%%", update.cityName, update.ratio));
}
break;
case MKOfflineMap.TYPE_NEW_OFFLINE:
Log.d("OfflineDemo", String.format("add offlinemap num:%d", state));
break;
case MKOfflineMap.TYPE_VER_UPDATE:
Log.d("OfflineDemo", String.format("new offlinemap ver"));
break;
}
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
基于百度地图demo修改了一下公交路线的显示
共100个文件
class:40个
png:24个
java:14个
5星 · 超过95%的资源 需积分: 0 456 下载量 178 浏览量
2012-05-19
16:37:35
上传
评论 3
收藏 1.66MB RAR 举报
温馨提示
百度地图的demo,仅修改了RoutePlan类里面的乘车路线, 跳转到其他界面查看详细的信息。 添加的代码都在ces包里面。 其他全部没修改;
资源详情
资源评论
资源推荐
收起资源包目录
基于百度地图demo修改了一下公交路线的显示 (100个子文件)
resources.ap_ 34KB
BaiduMapApiDemo.apk 768KB
proguard.cfg 1KB
OfflineDemo.class 5KB
RoutePlan.class 5KB
OverItemT.class 4KB
GeoCoder$1.class 4KB
BMapApiDemoMain.class 4KB
RoutePlan$1.class 3KB
ItemizedOverlayDemo.class 3KB
GeoCoder.class 3KB
PoiSearch$1.class 3KB
PoiSearch.class 3KB
RouteTransitResult.class 3KB
LocationOverlay.class 3KB
OfflineDemo$6.class 3KB
GeoCoder$OverItemT.class 2KB
SearchRouteResult.class 2KB
MyLocation.class 2KB
MapViewDemo.class 2KB
SearchRouthRusultDesc.class 2KB
OfflineDemo$3.class 2KB
SearchRouteResult$1.class 2KB
OfflineDemo$1.class 2KB
OfflineDemo$2.class 2KB
OfflineDemo$4.class 2KB
OfflineDemo$5.class 2KB
SearchRouthRusultDesc$1.class 1KB
MyLocation$1.class 1KB
LocationOverlay$1.class 1KB
BMapApiDemoMain$1.class 1KB
R$id.class 1KB
BMapApiDemoApp$MyGeneralListener.class 1KB
BMapApiDemoApp.class 1KB
OfflineDemo$6$1.class 875B
RoutePlan$2.class 810B
PoiSearch$2.class 810B
GeoCoder$2.class 804B
R$layout.class 715B
R.class 552B
R$drawable.class 469B
R$string.class 436B
R$attr.class 349B
.classpath 347B
classes.dex 127KB
baidumapapi.jar 215KB
gson-2.1.jar 176KB
OfflineDemo.java 6KB
RoutePlan.java 6KB
GeoCoder.java 6KB
ItemizedOverlayDemo.java 6KB
PoiSearch.java 4KB
R.java 3KB
BMapApiDemoMain.java 3KB
LocationOverlay.java 3KB
RouteTransitResult.java 3KB
MyLocation.java 2KB
BMapApiDemoApp.java 2KB
SearchRouteResult.java 1KB
MapViewDemo.java 1KB
SearchRouthRusultDesc.java 1KB
icon.png 4KB
icon.png 4KB
icon.png 3KB
icon.png 3KB
icon.png 2KB
icon.png 2KB
icon.png 2KB
pop.png 2KB
pop.png 2KB
pop.png 2KB
pop.png 2KB
icon.png 2KB
pop.png 1KB
pop.png 1KB
pop.png 1KB
pop.png 1KB
iconmarka.png 1KB
iconmarka.png 1KB
iconmarka.png 1KB
iconmarka.png 1KB
iconmarka.png 867B
iconmarka.png 867B
iconmarka.png 867B
iconmarka.png 867B
.project 851B
project.properties 360B
libBMapApiEngine.so 1.22MB
AndroidManifest.xml 4KB
offline.xml 2KB
geocoder.xml 1KB
routeplan.xml 1KB
poisearch.xml 1KB
maproutesearchdesc.xml 905B
maproutesearchres.xml 800B
main.xml 564B
popview.xml 470B
mylocation.xml 412B
mapviewdemo.xml 373B
strings.xml 181B
共 100 条
- 1
zgf1991
- 粉丝: 152
- 资源: 11
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论30