原本的目的是在地图上添加一个动画markOverlay,百度3.0以后的API推荐的方法是:
OverlayOptions option = new MarkerOptions()
.position(ll)
.icon(markImg)//mark图片
.zIndex(9)
.draggable(true);
mBaiduMap.addOverlay(option);
其中markImg是BitmapDescriptor类型,通过BitmapDescriptorFactory.fromView(View view)
方法可以将一个View转换成BitmapDescriptor对象。
尝试后发现,此方法最终将view转换成了静态的bitmap,失去了动画控件的动态效果,经过一番摸索,于是找到了下面这个方法:
mMapView.addView(View view, MapViewLayoutParams params);
具体代码可以参考这个:
MapViewLayoutParams mp = new MapViewLayoutParams.Builder()
.position(ll)
.width(DimenTools.dip2px(150))
.height(DimenTools.dip2px(150))
.layoutMode(ELayoutMode.mapMode)//这一项必须指定。用.position就是mapMod,用.point就是absoluteMod。
.build();
mMapView.addView(我的动画控件View,mp);
mMapView.refreshDrawableState();