本章节将对点标记、添加Marker、绘制自定义Marker、Marker点击和拖拽操作、POI底图标注等做进一步说明。
点标记用来在地图上标记任何位置,例如用户位置、车辆位置、店铺位置等一切带有位置属性的事物。
地图 SDK 提供的点标记功能包含两大部分,一部分是点( Marker)同时,SDK 对 Marker 封装了大量的触发事件,例如点击事件、长按事件、拖拽事件。
由于内容丰富,以下只能展示一些基础功能的使用,详细内容可参考类参考文档。
开发者可以根据自己实际的业务需求,利用标注覆盖物,在地图指定的位置上添加标注信息。开发者通过BMFMarker类来设置Marker的属性。
绘制Marker的代码如下:
/// 创建BMFMarkerBMFMarker marker = BMFMarker(position: BMFCoordinate(39.928617, 116.40329),title: 'flutterMaker',identifier: 'flutter_marker',icon: 'resoures/icon_end.png');/// 添加MarkermyMapController?.addMarker(marker);
BMFMarker包含多种可供设置的属性。常用属性如下:
名称 | 说明 |
---|---|
position | 位置坐标 |
isLockedToScreen | 标注是否固定在指定屏幕位置 |
screenPointToLock | 标注锁定在屏幕上的位置 |
icon | marker图标 |
centerOffset | 设置marker相对于坐标位置的偏移,目前Android只支持Y轴方向的偏移 |
enabled3D | 3D效果(iOS独有) |
enabled | 是否处理事件 |
draggable | 是否可拖拽 |
visible | Marker是否可见(Android独有) |
zIndex | 元素的堆叠顺序(Android独有) |
Marker点击事件
点击Marker时会回调BaiduMap.OnMarkerClickListener,监听器的实现方式示例如下:
/// 地图marker点击回调myMapController?.setMapClickedMarkerCallback(callback: (BMFMarker marker) {});
Marker拖拽事件
在拖拽Marker时会回调BaiduMap.OnMarkerDragListener,监听器的实现方式如下(要在构造MarkerOptions时开启draggable):
/// 拖拽marker点击回调myMapController?.setMapDragMarkerCallback(callback: (BMFMarker 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独有 |
上一篇
下一篇
本篇文章对您是否有帮助?