android studio调用百度SDK进行定位,老返回错误码62,怎么回事

2025-04-06 05:31:25
推荐回答(1个)
回答1:

主方法 package demo.baidudemo; import android.app.Activity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.TextView; import com.baidu.location.LocationClient; import com.baidu.location.LocationClientOption; public class MapsActivity extends Activity { public LocationClient mLocationClient = null; private LocationClientOption.LocationMode tempMode = LocationClientOption.LocationMode.Hight_Accuracy; private String tempcoor="gcj02"; private TextView textView1; private Button button; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.this_one); mLocationClient = ((LocationApplication)getApplication()).mLocationClient; textView1= (TextView) findViewById(R.id.textView1); button= (Button) findViewById(R.id.startLocation); ((LocationApplication)getApplication()).mLocationResult = textView1; button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { InitLocation(); mLocationClient.start(); } }); } private void InitLocation(){ LocationClientOption option = new LocationClientOption(); option.setOpenGps(true); option.setLocationMode(tempMode);//设置定位模式 option.setCoorType(tempcoor);//返回的定位结果是百度经纬度,默认值gcj02 int span=10000; option.setScanSpan(span); //设置发起定位请求的间隔时间为5000ms option.setIsNeedAddress(true); mLocationClient.setLocOption(option); } @Override protected void onStop() { mLocationClient.stop(); super.onStop(); } } Localapplition文件: package demo.baidudemo; import com.baidu.location.BDLocation; import com.baidu.location.BDLocationListener; import com.baidu.location.LocationClient; import android.app.Application; import android.app.Service; import android.os.Vibrator; import android.util.Log; import android.widget.TextView; /** * 主Application */ public class LocationApplication extends Application { public LocationClient mLocationClient; public MyLocationListener mMyLocationListener; public TextView mLocationResult,logMsg; public Vibrator mVibrator; @Override public void onCreate() { super.onCreate(); mLocationClient = new LocationClient(this.getApplicationContext()); mMyLocationListener = new MyLocationListener(); mLocationClient.registerLocationListener(mMyLocationListener); mVibrator =(Vibrator)getApplicationContext(). getSystemService(Service.VIBRATOR_SERVICE); } /** * 实现实位回调监听 */ public class MyLocationListener implements BDLocationListener { @Override public void onReceiveLocation(BDLocation location) { //Receive Location StringBuffer sb = new StringBuffer(256); sb.append("time :"); sb.append(location.getTime()); sb.append("nerror code :"); sb.append(location.getLocType()); sb.append("nlatitude :"); sb.append(location.getLatitude()); sb.append("nlontitude :"); sb.append(location.getLongitude()); sb.append("nradius :"); sb.append(location.getRadius()); if (location.getLocType() == BDLocation.TypeGpsLocation){ sb.append("nspeed :"); sb.append(location.getSpeed()); sb.append("nsatellite :"); sb.append(location.getSatelliteNumber()); sb.append("ndirection :"); sb.append("naddr :"); sb.append(location.getAddrStr()); sb.append(location.getDirection()); } else if (location.getLocType() == BDLocation.TypeNetWorkLocation){ sb.append("naddr :"); sb.append(location.getAddrStr()); //运营商信息 sb.append("noperationers :"); sb.append(location.getOperators()); } logMsg(sb.toString()); Log.i("BaiduLocationApiDem", sb.toString()); } } /** * 显示请求字符串 * @param str */ public void logMsg(String str) { try { if (mLocationResult != null) mLocationResult.setText(str); } catch (Exception e) { e.printStackTrace(); } } }