package com.baidumap;
import android.location.Location;
import android.os.Bundle;
import com.baidu.mapapi.BMapManager;
import com.baidu.mapapi.GeoPoint;
import com.baidu.mapapi.LocationListener;
import com.baidu.mapapi.MKLocationManager;
import com.baidu.mapapi.MapActivity;
import com.baidu.mapapi.MKAddrInfo;
import com.baidu.mapapi.MKDrivingRouteResult;
import com.baidu.mapapi.MKPoiInfo;
import com.baidu.mapapi.MKPoiResult;
import com.baidu.mapapi.MKSearch;
import com.baidu.mapapi.MKSearchListener;
import com.baidu.mapapi.MKTransitRouteResult;
import com.baidu.mapapi.MKWalkingRouteResult;
public class ShowMapT extends MapActivity {
MapAPP app;
MKSearch mSearch = null; // 搜索模块,也可去掉地图模块独立使用
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
app = (MapAPP) this.getApplication();
if (app.mBMapMan == null) {
app.mBMapMan = new BMapManager(getApplication());
app.mBMapMan.init(app.mStrKey, new MapAPP.MyGeneralListener());
}
app.mBMapMan.start();
super.initMapActivity(app.mBMapMan);
onceStartMyLocation();
//将经纬度坐标信息编译为详细地址
// 初始化搜索模块,注册事件监听
mSearch = new MKSearch();
mSearch.init(app.mBMapMan, new MKSearchListener() {
@Override
public void onGetWalkingRouteResult(MKWalkingRouteResult arg0, int arg1) {
// TODO Auto-generated method stub
}
@Override
public void onGetTransitRouteResult(MKTransitRouteResult arg0, int arg1) {
// TODO Auto-generated method stub
}
@Override
public void onGetPoiResult(MKPoiResult arg0, int arg1, int arg2) {
// TODO Auto-generated method stub
}
@Override
public void onGetDrivingRouteResult(MKDrivingRouteResult arg0, int arg1) {
// TODO Auto-generated method stub
}
@Override
public void onGetAddrResult(MKAddrInfo arg0, int arg1) {
// TODO Auto-generated method stub
if (arg0 == null) {
return;
}
StringBuffer sb = new StringBuffer();
// 经纬度所对应的位置
sb.append(arg0.strAddr).append("/n");
// 判断该地址附近是否有POI(Point of Interest,即兴趣点)
if (null != arg0.poiList) {
// 遍历所有的兴趣点信息
for (MKPoiInfo poiInfo : arg0.poiList) {
sb.append("名称:").append(poiInfo.name).append("/n");
sb.append("地址:").append(poiInfo.address).append("/n");
}
}
//获取地理位置名
String strtxt = sb.toString();
android.util.Log.i("mbyy", ">mbyy< " + strtxt);
}
});
}
// 一直定位自己的位置
private LocationListener locationListener = new LocationListener() {
@Override
public void onLocationChanged(Location location) {
if (location != null) {
Double geolat = location.getLatitude() * 1E6;
Double geoLng = location.getLongitude() * 1E6;
GeoPoint mypoint = new GeoPoint(geolat.intValue(), geoLng.intValue());
mSearch.reverseGeocode(mypoint);
}
}
};
private void onceStartMyLocation() {
app.mBMapMan.getLocationManager().enableProvider(MKLocationManager.MK_NETWORK_PROVIDER);
app.mBMapMan.getLocationManager().requestLocationUpdates(locationListener);
app.mBMapMan.getLocationManager().setNoitifyInternal(5, 2); //设置通知间隔,单位秒
}
@Override
protected void onResume() {
app.mBMapMan.start();
super.onResume();
}
@Override
protected void onPause() {
app.mBMapMan.getLocationManager().removeUpdates(locationListener);
app.mBMapMan.stop();
super.onPause();
}
@Override
protected boolean isRouteDisplayed() {
// TODO Auto-generated method stub
return false;
}
}
- 1
- 2
- 3
- 4
- 5
- 6
前往页