(6)在地图上画东西

//定义Maker坐标点LatLng point = new LatLng(39.963175, 116.400244);

//构建Marker图标

            BitmapDescriptor bitmap = BitmapDescriptorFactory.fromResource(R.drawable.qiu);

//构建MarkerOption,用于在地图上添加Marker

            OverlayOptions option =new MarkerOptions().position(point).icon(bitmap);

//在地图上添加Marker,并显示

            mBaiduMap.addOverlay(option);

默认是没有动画效果的,我们可以设置动画效果在new MarkerOptions()的时候

.animateType(MarkerOptions.MarkerAnimateType.drop) 图标从天上掉下来(很傻逼的效果)

.animateType(MarkerOptions.MarkerAnimateType.grow)从底下上来(还算正常)

.animateType(MarkerOptions.MarkerAnimateType.grow)从底下上去又下来(还算正常)

我们上面这个marker是一个图标,如果需要实现复杂的布局,需要使用

View view=View.inflate(MainActivity.this,R.layout.marker,null);

TextView textView=view.findViewById(R.id.title);

textView.setText("这是"+i);

BitmapDescriptor bitmap = BitmapDescriptorFactory.fromView(view);

设置拖拽

设置marker的时候可以给他设置

draggable(boolean draggable)

设置 marker 是否允许拖拽,默认不可拖拽

如果我们设置为true,那么这个marker就是可以拖拽的了

批量添加和删除

private ListoverlayOptions=new ArrayList<>();

mBaiduMap.addOverlays(overlayOptions); 通过集合批量添加
//清除地图上的所有覆盖物mBaiduMap.clear();

设置覆盖物的点击事件

mBaiduMap.setOnMarkerClickListener(new BaiduMap.OnMarkerClickListener() {

 //marker被点击时回调的方法 //若响应点击事件,返回true,否则返回false //默认返回false 

 @Override public boolean onMarkerClick(Marker marker) {

 return false; 

 }

});

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容