浏览器版本低!无法浏览完整内容,建议升级或更换浏览器。
更新时间:2021年02月25日
本章节将对点标记、添加Marker、绘制自定义Marker、Marker点击和拖拽操作、POI底图标注等做进一步说明。
点标记

点标记用来在地图上标记任何位置,例如用户位置、车辆位置、店铺位置等一切带有位置属性的事物。
地图 SDK 提供的点标记功能包含两大部分,一部分是点( Marker)同时,SDK 对 Marker 封装了大量的触发事件,例如点击事件、长按事件、拖拽事件。
由于内容丰富,以下只能展示一些基础功能的使用,详细内容可参考类参考文档。

添加Marker

开发者可以根据自己实际的业务需求,利用标注覆盖物,在地图指定的位置上添加标注信息。开发者通过BMFMarker类来设置Marker的属性。

绘制Marker的代码如下:

/// 创建BMFMarker
BMFMarker marker = BMFMarker(
        position: BMFCoordinate(39.928617, 116.40329),
        title: 'flutterMaker',
        identifier: 'flutter_marker'
        icon: 'resoures/icon_end.png');
  
/// 添加Marker
myMapController?.addMarker(marker);
     

dbj.jpg

BMFMarker包含多种可供设置的属性。常用属性如下:

名称
说明
position
位置坐标
isLockedToScreen
标注是否固定在指定屏幕位置
screenPointToLock
标注锁定在屏幕上的位置
icon marker图标
centerOffset
设置marker相对于坐标位置的偏移,目前Android只支持Y轴方向的偏移
enabled3D
3D效果(iOS独有
enabled
是否处理事件
draggable
是否可拖拽
visible
Marker是否可见(Android独有
zIndex
元素的堆叠顺序(Android独有
可触发的Marker事件

Marker点击事件

点击Marker时会回调BaiduMap.OnMarkerClickListener,监听器的实现方式示例如下:

/// 地图marker点击回调
myMapController?.setMapClickedMarkerCallback(
    callback: (BMFMarker marker) {
    });

Marker拖拽事件

在拖拽Marker时会回调BaiduMap.OnMarkerDragListener,监听器的实现方式如下(要在构造MarkerOptions时开启draggable):

/// 拖拽marker点击回调
myMapController?.setMapDragMarkerCallback(
    callback: (BMFMarker marker) {
    });


Marker更新接口
名称
说明
updateTitle
更新title
updateSubTitle
更新subTitle
updatePosition
更新位置经纬度
updateIsLockedToScreen 更新是否锁定在屏幕上的位置
updateIcon
更新显示的图片
updateCenterOffset
更新marker centerOffset信息
updateEnabled3D
更新marker是否显示3D效果
updateEnabled
更新marker是否响应触摸事件, true则响应,false则不响应
updateDraggable
更新是否可拖拽
updateScaleX
更新x方向缩放倍数,Android独有
updateScaleX
更新x方向缩放倍数,Android独有
updateScaleY
更新y方向缩放倍数,Android独有
updateAlpha
更新透明度,Android独有
updateIsPerspective
更新近大远小的开关,Android独有
updateVisible
更新marker是否显示,Android独有
updateZIndex
更新z轴方向上的堆叠顺序,Android独有
  • 文档根本没法用

  • 文档水平很差

  • 文档水平一般

  • 文档不错

  • 文档写的很好

如发现文档错误,或对此文档有更好的建议,请在下方反馈。问题咨询请前往反馈平台提交工单咨询。

提交反馈

拖动标注工具

添加矩形标注

添加箭头标注

完成

取消