(6)在地图上画东西

2019-01-12  本文已影响0人  朋友那么多交心有几个

//定义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; 

 }

});

上一篇下一篇

猜你喜欢

热点阅读