addListener method

void addListener({
  1. FlAMapLocationChanged? onLocationChanged,
  2. FlAMapLocationFailed? onLocationFailed,
  3. FlAMapLocationHeadingChanged? onHeadingChanged,
  4. FlAMapLocationAuthorizationChanged? onAuthorizationChanged,
})

添加回调监听

Implementation

void addListener({
  /// android & ios
  /// 连续定位回调
  FlAMapLocationChanged? onLocationChanged,

  /// 仅在ios中生效
  /// ios连续定位 错误监听
  FlAMapLocationFailed? onLocationFailed,

  /// 仅在ios中生效
  /// 监听设备朝向变化
  FlAMapLocationHeadingChanged? onHeadingChanged,

  /// 仅在ios中生效
  /// 监听权限状态变化
  FlAMapLocationAuthorizationChanged? onAuthorizationChanged,
}) {
  _channel.setMethodCallHandler((MethodCall call) async {
    final args = call.arguments;
    switch (call.method) {
      case 'onAuthorizationChanged':
        onAuthorizationChanged?.call(args is int ? args : null);
        break;
      case 'onHeadingChanged':
        onHeadingChanged
            ?.call(args is Map ? AMapLocationHeading.fromMap(args) : null);
        break;
      case 'onLocationFailed':
        onLocationFailed
            ?.call(args is Map ? AMapLocationError.fromMap(args) : null);
        break;
      case 'onLocationChanged':
        onLocationChanged
            ?.call(args is Map ? AMapLocation.mapToLocation(args) : null);
        break;
    }
  });
}