addDistrictOutline abstract method

Future<List<IPolygon>> addDistrictOutline(
  1. String districtName, {
  2. double width = 5,
  3. Color strokeColor = Colors.green,
  4. Color fillColor = Colors.transparent,
  5. bool onlyMainDistrict = true,
  6. double sampleRate = 1.0,
})

添加地区轮廓

地区名称districtName, 轮廓宽度width, 轮廓颜色strokeColor, 填充颜色fillColor

由于一个省份可能包含多个区域, 比如浙江包含很多岛屿, 如果把岛屿也画进去, 那么会非常消耗性能. 业务上而言, 我认为这些岛屿是否画进去基本上不影响使用, 所以增加了onlyMainDistrict参数 来控制是否只显示主要部分的边界, 如果你对地区完整度的需求非常高, 那么就把onlyMainDistrict 设置为false, 随之而来像浙江这种地区的边界绘制起来就会非常慢. 我的测试结果是MIX 3, release模式下需要5-6秒才能绘制完成.

采样率sampleRate可以控制经纬度列表的密度, 如果地区边界的经纬度列表长度非常长, 造成了卡顿, 那么可以把采样率调低一点, 这样画出来的区域可能没有采样率为1时那么精确, 但是减小了经纬度列表长度, 可以提升绘制速度.

Implementation

Future<List<IPolygon>> addDistrictOutline(
  String districtName, {
  double width = 5,
  Color strokeColor = Colors.green,
  Color fillColor = Colors.transparent,
  bool onlyMainDistrict = true,
  double sampleRate = 1.0,
});