RT,最近在写APP关于步行导航的,于是用到了百度地图API
CSDN上有大量相关话题,但全都是已知两点的坐标去设置导航路线,但我想让程序获取自身位置坐标为起点,不知道怎么做。。
网上查了几种可能的方法,但都无法实现该功能
- 获取安卓源生的GPS定位
locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
@SuppressLint("MissingPermission") Location mlocation = locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);
Toast.makeText(MainActivity.this,String.valueOf(mlocation.getLatitude()),Toast.LENGTH_SHORT).show();
但源生的定位极其不准,偏得离谱。
- 通过百度的BDAbstractLocationListener去获取经纬度
过程偏复杂,不多赘述,该方法遇到的问题是WalkNavigateHelper.getInstance().routePlanWithRouteNode(param, new IWRoutePlanListener())
中的param
加载比BDAbstractLocationListener
快,导致经纬度还没获取,就被传入。
有没有人知道还能怎么做