百度地图 无法显示定位内容?

根据百度地图api走:可是无法显示当前定位内容:
图片说明

附上相关代码:

相关权限
图片说明

//MainActivity

public class MainActivity extends AppCompatActivity {
private MapView mMapView=null;
private BaiduMap mBaiduMap=null;
private LocationClient mLocationClient=null;
private boolean isFirstLoc=true;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mMapView=findViewById(R.id.bmapView);
mBaiduMap=mMapView.getMap();//获取地图层
mBaiduMap.setMapType(BaiduMap.MAP_TYPE_NORMAL);//设置为普通模式

    //定位模块
    mBaiduMap.setMyLocationEnabled(true);//打开定位模式

    //定位初始化
    mLocationClient = new LocationClient(getApplicationContext());

  //通过LocationClientOption设置LocationClient相关参数
    LocationClientOption option = new LocationClientOption();
    option.setOpenGps(true); // 打开gps
    option.setIsNeedAddress(true);
    option.setCoorType("bd09ll"); // 设置坐标类型
    option.setScanSpan(1000);

    //设置locationClientOption
    mLocationClient.setLocOption(option);

    //注册LocationListener监听器
    MyLocationListener myLocationListener = new MyLocationListener();
    mLocationClient.registerLocationListener(myLocationListener);
    //开启地图定位图层
    mLocationClient.start();

}

public class MyLocationListener extends BDAbstractLocationListener {
    @Override
    public void onReceiveLocation(BDLocation location) {
        //mapView 销毁后不在处理新接收的位置
        if (location == null || mMapView == null){
            return;
        }
        MyLocationData locData = new MyLocationData.Builder()
                .accuracy(location.getRadius())
                // 此处设置开发者获取到的方向信息,顺时针0-360
                .direction(location.getDirection())
                .latitude(location.getLatitude())
                .longitude(location.getLongitude())
                .build();

        mBaiduMap.setMyLocationData(locData);

// if (isFirstLoc)
// {
// isFirstLoc = false;
// LatLng ll = new LatLng(location.getLatitude(),location.getLongitude());
// MapStatusUpdate u = MapStatusUpdateFactory.newLatLng(ll);
// mBaiduMap.animateMapStatus(u);
// }
// Toast.makeText(MainActivity.this, "当前的位置:"+location.getCity(), Toast.LENGTH_SHORT).show();
}
}

@Override
protected void onResume() {
    super.onResume();
    //在activity执行onResume时执行mMapView. onResume (),实现地图生命周期管理
    mMapView.onResume();
}
@Override
protected void onPause() {
    super.onPause();
    //在activity执行onPause时执行mMapView. onPause (),实现地图生命周期管理
    mMapView.onPause();
}
@Override
protected void onDestroy() {
    mLocationClient.stop();
    mBaiduMap.setMyLocationEnabled(false);
    mMapView.onDestroy();
    mMapView = null;
    super.onDestroy();

}

//DemoApplication
public class DemoApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
//在使用SDK各组件之前初始化context信息,传入ApplicationContext
SDKInitializer.initialize(getApplicationContext());
//自4.3.0起,百度地图SDK所有接口均支持百度坐标和国测局坐标,用此方法设置您使用的坐标类型.
//包括BD09LL和GCJ02两种坐标,默认是BD09LL坐标。
SDKInitializer.setCoordType(CoordType.BD09LL);
}
}

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!