解决方案 »

  1.   

    好像都没看到开始定位的请求啊
    /**
     * 发起定位
     */
    private void getLocation() {
    locClient = new LocationClient(this);
    locClient.registerLocationListener(this);
    LocationClientOption option = new LocationClientOption();
    // 打开GPS
    option.setOpenGps(true);
    // 设置坐标类型
    option.setCoorType("bd09ll");
    option.setScanSpan(LOCATION_INTERVAL);
    locClient.setLocOption(option);
    locClient.start();
    } /*
     * (non Javadoc)<p>Title: onReceiveLocation</p><p>Description: </p>
     * 
     * @param arg0
     * 
     * @see
     * com.baidu.location.BDLocationListener#onReceiveLocation(com.baidu.location
     * .BDLocation)
     */
    @Override
    public void onReceiveLocation(BDLocation location) {
    if (mapView == null)
    return;
    if (location != null) {
    try {
    MyLocationData locData = new MyLocationData.Builder()
    .accuracy(location.getRadius())
    // 此处设置开发者获取到的方向信息,顺时针0-360
    .direction(100).latitude(location.getLatitude())
    .longitude(location.getLongitude()).build();
    baiduMap.setMyLocationData(locData);
    LatLng loc = new LatLng(location.getLatitude(),
    location.getLongitude());
    MapStatusUpdate u = MapStatusUpdateFactory.newLatLng(loc);
    baiduMap.animateMapStatus(u);
    } catch (Exception e) {
    e.printStackTrace();
    }
    } else {
    Toast.makeText(this, "暂时无法获取定位数据!", Toast.LENGTH_SHORT).show();
    }
    }
      

  2.   

    你在  System.out.println("here666>>>>>>>");   后面加上定位请求,mLocationClient.start();
    if (mLocationClient.isStarted())
    mLocationClient.requestLocation();一般还可以设置一些请求参数,如:
    LocationClientOption option = new LocationClientOption();
    option.setCoorType("gcj02");// 返回的定位结果是百度经纬度,默认值gcj02
    option.setPriority(LocationClientOption.NetWorkFirst);
    option.setAddrType("all");
    mLocationClient.setLocOption(option);