This repository has been archived by the owner on Sep 28, 2021. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 162
Deprecated_添加覆盖物
小山 edited this page Sep 30, 2020
·
1 revision
添加Marker的方法为AmapController.addMarker
,参数为MarkerOption
。MarkerOption
结构为:
@immutable
class MarkerOption {
MarkerOption({
@required this.latLng,
this.title = '',
this.snippet = '',
this.widget,
this.draggable = false,
this.infoWindowEnabled = true,
this.visible = true,
this.rotateAngle = 0,
this.anchorU = 0.5,
this.anchorV = 0,
this.object,
this.iconProvider,
this.iconsProvider,
this.animationFps,
}) : assert(!(widget != null && iconProvider != null),
'widget和iconProvider不能同时设置! ');
/// 经纬度
final LatLng latLng;
/// 标题
final String title;
/// 副标题
final String snippet;
/// Widget形式的Marker
///
/// 不能和[iconProvider]一起用.
/// 注意控制Widget的大小, 比如Column默认是max, 会使用地图的高度, 那么此时需要设置成min.
final Widget widget;
/// 是否可拖动
final bool draggable;
/// 是否允许弹窗
final bool infoWindowEnabled;
/// 是否可见
final bool visible;
/// 旋转角度 单位为度(°)
final double rotateAngle;
/// 横轴锚点
final double anchorU;
/// 纵轴锚点
final double anchorV;
/// 自定义数据 理论上可以使用任何类型的数据, 但是为了减少意外情况, 这里一律转换成String来保存
final String object;
/// 图标
final ImageProvider iconProvider;
/// 帧动画图标
final List<ImageProvider> iconsProvider;
/// 帧动画帧率
///
/// 最大60, 最小3
final int animationFps;
}
Marker主要分为图片marker和widget marker两种,但本质上都会被读取成二进制数据传递给原生端。
widget marker的原理是在AmapView
外面套一层Stack
,然后Stack
的第一个子widget用来暂时存放需要显示成marker的widget,第二个子widget为AmapView
。当要显示widget marker时,对第一个子widget进行截图,然后传递给原生端进行显示。
添加折线(Polyline)的方法为AmapController.addPolyline
,参数为PolylineOption
。PolylineOption
结构为:
@immutable
class PolylineOption {
/// 经纬度列表
final List<LatLng> latLngList;
/// 宽度
final double width;
/// 颜色
final Color strokeColor;
/// 自定义纹理
final ImageProvider textureProvider;
/// 线段末端样式
final LineCapType lineCapType;
/// 线段连接处样式
final LineJoinType lineJoinType;
/// 是否虚线
final DashType dashType;
}
添加多边形(Polygon)的方法为AmapController.addPolygon
,参数为PolygonOption
。PolygonOption
结构为:
@immutable
class PolygonOption {
/// 经纬度列表
final List<LatLng> latLngList;
/// 宽度
final double width;
/// 边框颜色
final Color strokeColor;
/// 填充颜色
final Color fillColor;
}
- 创建工程
- 创建地图
- 与地图交互
- 在地图上绘制
- 获取地图数据
- 出行路线规划
- 地图计算工具
- 最佳实践
- 实用工具