当前位置:   article > 正文

android集成高德定位_android 高德地图 amaptrackclient

android 高德地图 amaptrackclient
  1. import android.os.Bundle;
  2. import android.util.Log;
  3. import androidx.appcompat.app.AppCompatActivity;
  4. import com.amap.api.location.AMapLocation;
  5. import com.amap.api.location.AMapLocationClient;
  6. import com.amap.api.location.AMapLocationClientOption;
  7. import com.amap.api.location.AMapLocationListener;
  8. import com.xzrj.R;
  9. /**
  10. * @描述: 地图
  11. * @作者:
  12. * @时间: 2023/4/15 11:57
  13. **/
  14. public class ActivityAMap extends AppCompatActivity {
  15. //声明AMapLocationClient类对象
  16. public AMapLocationClient mLocationClient = null;
  17. //声明定位回调监听器
  18. public AMapLocationListener mLocationListener = new MyAMapLocationListener();
  19. //声明AMapLocationClientOption对象
  20. public AMapLocationClientOption mLocationOption = null;
  21. @Override
  22. protected void onCreate(Bundle savedInstanceState) {
  23. super.onCreate(savedInstanceState);
  24. setContentView(R.layout.activity_amap);
  25. init();
  26. }
  27. private void init() {
  28. //初始化定位
  29. try {
  30. AMapLocationClient.updatePrivacyShow(this, true, true);
  31. AMapLocationClient.updatePrivacyAgree(this, true);
  32. mLocationClient = new AMapLocationClient(getApplicationContext());
  33. } catch (Exception e) {
  34. e.printStackTrace();
  35. }
  36. //设置定位回调监听
  37. mLocationClient.setLocationListener(mLocationListener);
  38. //初始化AMapLocationClientOption对象
  39. mLocationOption = new AMapLocationClientOption();
  40. //设置定位模式为AMapLocationMode.Hight_Accuracy,高精度模式。
  41. mLocationOption.setLocationMode(AMapLocationClientOption.AMapLocationMode.Hight_Accuracy);
  42. //获取一次定位结果:
  43. //该方法默认为false
  44. mLocationOption.setOnceLocation(false);
  45. //获取最近3s内精度最高的一次定位结果:
  46. //设置setOnceLocationLatest(boolean b)接口为true,启动定位时SDK会返回最近3s内精度最高的一次定位结果。如果设置其为true,setOnceLocation(boolean b)接口也会被设置为true,反之不会,默认为false
  47. mLocationOption.setOnceLocationLatest(true);
  48. //设置是否返回地址信息(默认返回地址信息)
  49. mLocationOption.setNeedAddress(true);
  50. //设置是否允许模拟位置,默认为false,不允许模拟位置
  51. mLocationOption.setMockEnable(false);
  52. //关闭缓存机制
  53. mLocationOption.setLocationCacheEnable(false);
  54. //给定位客户端对象设置定位参数
  55. mLocationClient.setLocationOption(mLocationOption);
  56. //启动定位
  57. mLocationClient.startLocation();
  58. }
  59. private class MyAMapLocationListener implements AMapLocationListener {
  60. @Override
  61. public void onLocationChanged(AMapLocation aMapLocation) {
  62. if (aMapLocation != null) {
  63. if (aMapLocation.getErrorCode() == 0) {
  64. Log.e("位置:", aMapLocation.getAddress());
  65. } else {
  66. //定位失败时,可通过ErrCode(错误码)信息来确定失败的原因,errInfo是错误信息,详见错误码表。
  67. Log.e("AmapError", "location Error, ErrCode:"
  68. + aMapLocation.getErrorCode() + ", errInfo:"
  69. + aMapLocation.getErrorInfo());
  70. }
  71. }
  72. }
  73. }
  74. }

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop】
推荐阅读
相关标签
  

闽ICP备14008679号