开发者可以根据自己实际的业务需求,利用标注覆盖物,在地图指定的位置上添加标注信息。开发者通过MarkerOptions类来设置Marker的属性。
绘制Marker的代码如下:
MarkerOptions markerOptions = new MarkerOptions().position(new LatLng(39.915, 116.404)). // 设置Marker位置,不能包含 nullclickable(true). // 设置Marker是否可点击draggable(true); // 设置 marker 是否允许拖拽,默认不可拖拽mBaiduMap.addOverlay(markerOptions);
绘制效果如图:
点击Marker时会回调BaiduMap.OnMarkerClickListener,监听器的实现方式示例如下:
Marker拖拽事件mBaiduMap.setOnMarkerClickListener(new BaiduMap.OnMarkerClickListener() {//marker被点击时回调的方法//若响应点击事件,返回true,否则返回false//默认返回 false@Overridepublic booleanonMarkerClick(Marker marker) {return false;}});
在拖拽Marker时会回调BaiduMap.OnMarkerDragListener,监听器的实现方式如下(要在构造MarkerOptions时开启draggable):
mBaiduMap.setOnMarkerDragListener(new BaiduMap.OnMarkerDragListener() {// 在Marker拖拽过程中回调此方法,这个Marker的位置可以通过getPosition()方法获取// marker 被拖动的Marker对象@Overridepublic void onMarkerDrag(Marker marker) {// 对marker处理拖拽逻辑}// 在Marker拖动完成后回调此方法,这个Marker的位可以通过getPosition()方法获取// marker 被拖拽的Marker对象@Overridepublic void onMarkerDragEnd(Marker marker) {}//在Marker开始被拖拽时回调此方法,这个Marker的位可以通过getPosition()方法获取// marker 被拖拽的Marker对象@Overridepublic void onMarkerDragStart(Marker marker) {}});
上一篇
下一篇
本篇文章对您是否有帮助?