Android中使用百度地图时定位到当前位置遇到的问题

    xiaoxiao2021-03-26  32

    问题描述:Android中百度地图进行定位,如果我们要将当前位置显示到地图上,在使用时我们会用到定位监听器,然后将获得到的位置对BaiduMap对象进行位置上的更新,达到显示当前位置的目的。由于我们在定位后还可能要进行自主的移动,则我们会用一个flag标识是否已经定位到当前的位置。但是在使用flag后,由于第一次定位,BaiduMap可能还未加载成功,导致地图无法移动到我们当前位置。

    解决方式:在地图移动成功后再进行flag的修改。

    改后的代码:

    /*移动到指定位置*/ private void navigateTo(BDLocation location){ if (isFirstLocate){ LatLng ll = new LatLng(location.getLatitude(),location.getLongitude()); MapStatusUpdate update = MapStatusUpdateFactory.newLatLng(ll); mBaiduMap.animateMapStatus(update); update = MapStatusUpdateFactory.zoomTo(16f); mBaiduMap.animateMapStatus(update); /*判断baiduMap是已经移动到指定位置*/ if (mBaiduMap.getLocationData()!=null) if (mBaiduMap.getLocationData().latitude==location.getLatitude() &&mBaiduMap.getLocationData().longitude==location.getLongitude()){ isFirstLocate = false; } } MyLocationData.Builder locationBuilder = new MyLocationData.Builder(); locationBuilder.latitude(location.getLatitude()); locationBuilder.longitude(location.getLongitude()); MyLocationData locationData = locationBuilder.build(); mBaiduMap.setMyLocationData(locationData); } 注:在描述中如果出现问题,希望大家能够指正。

    转载请注明原文地址: https://ju.6miu.com/read-663698.html

    最新回复(0)