全部服务产品
开发者频道
定价
登录
绘制点标记
下载开发文档

本章节将对点标记、添加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标注锁定在屏幕上的位置
iconmarker图标
centerOffset设置marker相对于坐标位置的偏移,目前Android只支持Y轴方向的偏移
enabled3D3D效果(iOS独有)
enabled是否处理事件
draggable是否可拖拽
visibleMarker是否可见(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更新markercenterOffset信息
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独有

上一篇

绘制点聚合

下一篇

绘制线

本篇文章对您是否有帮助?