百度地图拖动定位,拖动地图上的marker,停止后获取marker所在的位置信息。一般思路是改变marker的位置,然后不断刷新view,这样很容易造成拖影现象,在这里我们反向思考,固定marker在屏幕中央,然后不断的拖动地图层,能够获取理想的效果。
(1)首先关闭定位图层,否则影响地图拖动
mBaiduMap.setMyLocationEnabled(false);//关键点,必须设置
(2)设置marker
BitmapDescriptormark = BitmapDescriptorFactory
.fromResource(R.drawable.current_location);
OverlayOptions option = new MarkerOptions().position(
location).icon(mark)
.zIndex(9) //设置marker所在层级
.draggable(true); //设置手势拖拽
marker = (Marker)(mBaiduMap.addOverlay(option));
(3)设置地图拖动监听
mBaiduMap.setOnMapStatusChangeListener(MapStatusChangeListener());
在监听回调中获得位置信息