先看效果:
定位偏离:
点击右下边重新定位按钮:
定位成功;
首先根据下面这个监听函数知道,我们定位的变化都会由下面这个函数处
public class MyLocationListener implements BDLocationListener{
...}
所以我们要在这个监听函数里面,把里面的坐标拿出来。就是下面的"location",我这里赋值给新变量"getlocation"(BDLocation类型)
public void onReceiveLocation(BDLocation location)
在监听函数里面拿到location后,我们在定位按钮的点击事件中写入如下函数。
/**
* 鼠标点击事件----右下角“定位”点击事件(点击后,可重新定位)
*/
public void btn_restarlocation(View v){
latLng=new LatLng(getlocation.getLatitude(), getlocation.getLongitude());
MapStatus.Builder builder = new MapStatus.Builder();
builder.target(latLng).zoom(18.0f);
mBaiduMap.animateMapStatus(MapStatusUpdateFactory.newMapStatus(builder.build()));
}
综上,可以轻松实现点击定位按钮,屏幕返回至当前定位中心点。下面是无脑贴代码步骤
1.定义全局BDLocation变量 getlocation;
//用来在BDLocationListener中获取到当前定位坐标信息
BDLocation getlocation