为了账号安全,请及时绑定邮箱和手机立即绑定

不好意思,我也是按照老师说的打的,为什么闪退,能不能帮忙看看哪里出错了,非常感谢

public class MainActivity extends Activity {

MapView mMapView = null;

private BaiduMap mBaiduMap;

//定位相关

private LocationClient mLocationClient;

private MyLocationListener mLocationListener;

private boolean isFirstIn = true;

private Context context;

@Override

protected void onCreate(Bundle savedInstanceState) 

{

super.onCreate(savedInstanceState);

requestWindowFeature(Window.FEATURE_NO_TITLE);

//在使用SDK各组件之前初始化context信息,传入ApplicationContext  

        //注意该方法要再setContentView方法之前实现  

        SDKInitializer.initialize(getApplicationContext());//添加包

setContentView(R.layout.activity_main);

this.context = this;


initView();

initLocation();

}

private void initLocation() {

mLocationClient = new LocationClient(this);

mLocationListener = new MyLocationListener();

mLocationClient.registerLocationListener(mLocationListener);

LocationClientOption option = new LocationClientOption();

option.setCoorType("bd09ll");

option.setIsNeedAddress(true);

option.setOpenGps(true);

option.setScanSpan(1000);

mLocationClient.setLocOption(option);

}

private void initView() {

mMapView=(MapView)findViewById(R.id.id_bmapView);

mBaiduMap = mMapView.getMap();

MapStatusUpdate msu=MapStatusUpdateFactory.zoomTo(15.0f);//放大至500米

mBaiduMap.setMapStatus(msu);

}

@Override  

    protected void onDestroy() {  

        super.onDestroy();  

        //在activity执行onDestroy时执行mMapView.onDestroy(),实现地图生命周期管理  

        mMapView.onDestroy();  

    }  

    @Override  

    protected void onResume() {  

        super.onResume();  

        //在activity执行onResume时执行mMapView. onResume (),实现地图生命周期管理  

        mMapView.onResume();  

        }  

    protected void onStart()

{

super.onStart();

// 开启定位

mBaiduMap.setMyLocationEnabled(true);

if (!mLocationClient.isStarted())

mLocationClient.start();

}

    @Override  

    protected void onPause() {  

        super.onPause();  

        //在activity执行onPause时执行mMapView. onPause (),实现地图生命周期管理  

        mMapView.onPause();  

        }  

    protected void onStop()

{

super.onStop();


// 停止定位

mBaiduMap.setMyLocationEnabled(false);

mLocationClient.stop();

}

@Override

public boolean onCreateOptionsMenu(Menu menu) {

// Inflate the menu; this adds items to the action bar if it is present.

getMenuInflater().inflate(R.menu.main, menu);

return true;

}

public boolean onOptionsItemSelected(MenuItem item)

{

switch (item.getItemId())

{

case R.id.id_map_common:

mBaiduMap.setMapType(BaiduMap.MAP_TYPE_NORMAL);

break;


case R.id.id_map_site:

mBaiduMap.setMapType(BaiduMap.MAP_TYPE_SATELLITE);

break;


case R.id.id_map_traffic:

if (mBaiduMap.isTrafficEnabled())

{

mBaiduMap.setTrafficEnabled(false);

item.setTitle("实时交通(off)");

} else

{

mBaiduMap.setTrafficEnabled(true);

item.setTitle("实时交通(on)");

}


         }

return super.onOptionsItemSelected(item);

}

private class MyLocationListener implements BDLocationListener

{


@Override

public void onReceiveLocation(BDLocation location) {

MyLocationData data = new MyLocationData.Builder()//

.accuracy(location.getRadius())//

.latitude(location.getLatitude())//

.longitude(location.getLongitude())//

.build();

mBaiduMap.setMyLocationData(data);

if (isFirstIn)

{

LatLng latLng = new LatLng(location.getLatitude(),

location.getLongitude());

MapStatusUpdate msu = MapStatusUpdateFactory.newLatLng(latLng);

mBaiduMap.animateMapStatus(msu);

isFirstIn = false;

Toast.makeText(context, location.getAddrStr(),Toast.LENGTH_SHORT).show();

}

}

}

}


正在回答

3 回答

http://img1.sycdn.imooc.com//57207af3000156f907600268.jpg用的是Android4.3 项目启动就走private class MyLocationListener implements BDLocationListener  之后就Source not found.

0 回复 有任何疑惑可以回复我~

你的项目是什么版本的,我的是Android4.4,我的一直都没有问题

0 回复 有任何疑惑可以回复我~

你的menu文件夹里的布局文件写了吧?你是从哪一步开始闪退的,闪退的原因有很多,权限什么的,可以在运行的时候看一下logcat信息

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
百度地图在Android中的使用
  • 参与学习       38541    人
  • 解答问题       275    个

在Android应用中玩转百度地图,由浅入深的带领大家一步步学习

进入课程

不好意思,我也是按照老师说的打的,为什么闪退,能不能帮忙看看哪里出错了,非常感谢

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信