// ignore_for_file: non_constant_identifier_names, camel_case_types, missing_return, unused_import, unused_local_variable, dead_code, unnecessary_cast
//////////////////////////////////////////////////////////
// GENERATED BY FLUTTIFY. DO NOT EDIT IT.
//////////////////////////////////////////////////////////

import 'dart:typed_data';

import 'package:amap_map_fluttify/src/ios/ios.export.g.dart';
import 'package:flutter/foundation.dart';
import 'package:flutter/services.dart';

import 'package:foundation_fluttify/foundation_fluttify.dart';
import 'package:core_location_fluttify/core_location_fluttify.dart';
import 'package:amap_core_fluttify/amap_core_fluttify.dart';
import 'package:amap_search_fluttify/amap_search_fluttify.dart';
import 'package:amap_location_fluttify/amap_location_fluttify.dart';

class MAAnnotationView extends UIView  {
  //region constants
  static const String name__ = 'MAAnnotationView';

  @override
  final String tag__ = 'amap_map_fluttify';

  
  //endregion

  //region creators
  static Future<MAAnnotationView> create__({ bool init = true /* ios only */ }) async {
    final __result__ = await kAmapMapFluttifyChannel.invokeMethod(
      'ObjectFactory::createMAAnnotationView',
      {'init': init}
    );
    return AmapMapFluttifyIOSAs<MAAnnotationView>(__result__)!;
  }
  
  static Future<List<MAAnnotationView>> create_batch__(int length, { bool init = true /* ios only */ }) async {
    assert(true);
    final __result_batch__ = await  kAmapMapFluttifyChannel.invokeListMethod(
      'ObjectFactory::create_batchMAAnnotationView',
      {'length': length, 'init': init}
    );
    return __result_batch__
        ?.map((it) => AmapMapFluttifyIOSAs<MAAnnotationView>(it))
        .where((element) => element !=null)
        .cast<MAAnnotationView>()
        .toList() ?? <MAAnnotationView>[];
  }
  
  //endregion

  //region getters
  Future<String?> get_reuseIdentifier() async {
    final __result__ = await kAmapMapFluttifyChannel.invokeMethod("MAAnnotationView::get_reuseIdentifier", {'__this__': this});
    return __result__;
  }
  
  Future<int?> get_zIndex() async {
    final __result__ = await kAmapMapFluttifyChannel.invokeMethod("MAAnnotationView::get_zIndex", {'__this__': this});
    return __result__;
  }
  
  Future<MAAnnotation?> get_annotation() async {
    final __result__ = await kAmapMapFluttifyChannel.invokeMethod("MAAnnotationView::get_annotation", {'__this__': this});
    return AmapMapFluttifyIOSAs<MAAnnotation>(__result__);
  }
  
  Future<UIImage?> get_image() async {
    final __result__ = await kAmapMapFluttifyChannel.invokeMethod("MAAnnotationView::get_image", {'__this__': this});
    return AmapMapFluttifyIOSAs<UIImage>(__result__);
  }
  
  Future<UIImageView?> get_imageView() async {
    final __result__ = await kAmapMapFluttifyChannel.invokeMethod("MAAnnotationView::get_imageView", {'__this__': this});
    return AmapMapFluttifyIOSAs<UIImageView>(__result__);
  }
  
  Future<MACustomCalloutView?> get_customCalloutView() async {
    final __result__ = await kAmapMapFluttifyChannel.invokeMethod("MAAnnotationView::get_customCalloutView", {'__this__': this});
    return AmapMapFluttifyIOSAs<MACustomCalloutView>(__result__);
  }
  
  Future<CGPoint?> get_centerOffset() async {
    final __result__ = await kAmapMapFluttifyChannel.invokeMethod("MAAnnotationView::get_centerOffset", {'__this__': this});
    return AmapMapFluttifyIOSAs<CGPoint>(__result__);
  }
  
  Future<CGPoint?> get_calloutOffset() async {
    final __result__ = await kAmapMapFluttifyChannel.invokeMethod("MAAnnotationView::get_calloutOffset", {'__this__': this});
    return AmapMapFluttifyIOSAs<CGPoint>(__result__);
  }
  
  Future<bool?> get_enabled() async {
    final __result__ = await kAmapMapFluttifyChannel.invokeMethod("MAAnnotationView::get_isEnabled", {'__this__': this});
    return __result__;
  }
  
  Future<bool?> get_highlighted() async {
    final __result__ = await kAmapMapFluttifyChannel.invokeMethod("MAAnnotationView::get_isHighlighted", {'__this__': this});
    return __result__;
  }
  
  Future<bool?> get_selected() async {
    final __result__ = await kAmapMapFluttifyChannel.invokeMethod("MAAnnotationView::get_isSelected", {'__this__': this});
    return __result__;
  }
  
  Future<bool?> get_canShowCallout() async {
    final __result__ = await kAmapMapFluttifyChannel.invokeMethod("MAAnnotationView::get_canShowCallout", {'__this__': this});
    return __result__;
  }
  
  Future<UIView?> get_leftCalloutAccessoryView() async {
    final __result__ = await kAmapMapFluttifyChannel.invokeMethod("MAAnnotationView::get_leftCalloutAccessoryView", {'__this__': this});
    return AmapMapFluttifyIOSAs<UIView>(__result__);
  }
  
  Future<UIView?> get_rightCalloutAccessoryView() async {
    final __result__ = await kAmapMapFluttifyChannel.invokeMethod("MAAnnotationView::get_rightCalloutAccessoryView", {'__this__': this});
    return AmapMapFluttifyIOSAs<UIView>(__result__);
  }
  
  Future<bool?> get_draggable() async {
    final __result__ = await kAmapMapFluttifyChannel.invokeMethod("MAAnnotationView::get_isDraggable", {'__this__': this});
    return __result__;
  }
  
  Future<MAAnnotationViewDragState?> get_dragState() async {
    final __result__ = await kAmapMapFluttifyChannel.invokeMethod("MAAnnotationView::get_dragState", {'__this__': this});
    return (__result__ as int).toMAAnnotationViewDragState();
  }
  
  Future<bool?> get_canAdjustPositon() async {
    final __result__ = await kAmapMapFluttifyChannel.invokeMethod("MAAnnotationView::get_canAdjustPositon", {'__this__': this});
    return __result__;
  }
  
  //endregion

  //region setters
  Future<void> set_zIndex(int? zIndex) async {
    await kAmapMapFluttifyChannel.invokeMethod('MAAnnotationView::set_zIndex', <String, dynamic>{'__this__': this, "zIndex": zIndex});
  }
  
  Future<void> set_annotation(MAAnnotation? annotation) async {
    await kAmapMapFluttifyChannel.invokeMethod('MAAnnotationView::set_annotation', <String, dynamic>{'__this__': this, "annotation": annotation});
  }
  
  Future<void> set_image(UIImage? image) async {
    await kAmapMapFluttifyChannel.invokeMethod('MAAnnotationView::set_image', <String, dynamic>{'__this__': this, "image": image});
  }
  
  Future<void> set_customCalloutView(MACustomCalloutView? customCalloutView) async {
    await kAmapMapFluttifyChannel.invokeMethod('MAAnnotationView::set_customCalloutView', <String, dynamic>{'__this__': this, "customCalloutView": customCalloutView});
  }
  
  Future<void> set_centerOffset(CGPoint? centerOffset) async {
    await kAmapMapFluttifyChannel.invokeMethod('MAAnnotationView::set_centerOffset', <String, dynamic>{'__this__': this, "centerOffset": centerOffset});
  }
  
  Future<void> set_calloutOffset(CGPoint? calloutOffset) async {
    await kAmapMapFluttifyChannel.invokeMethod('MAAnnotationView::set_calloutOffset', <String, dynamic>{'__this__': this, "calloutOffset": calloutOffset});
  }
  
  Future<void> set_enabled(bool? enabled) async {
    await kAmapMapFluttifyChannel.invokeMethod('MAAnnotationView::set_enabled', <String, dynamic>{'__this__': this, "enabled": enabled});
  }
  
  Future<void> set_highlighted(bool? highlighted) async {
    await kAmapMapFluttifyChannel.invokeMethod('MAAnnotationView::set_highlighted', <String, dynamic>{'__this__': this, "highlighted": highlighted});
  }
  
  Future<void> set_selected(bool? selected) async {
    await kAmapMapFluttifyChannel.invokeMethod('MAAnnotationView::set_selected', <String, dynamic>{'__this__': this, "selected": selected});
  }
  
  Future<void> set_canShowCallout(bool? canShowCallout) async {
    await kAmapMapFluttifyChannel.invokeMethod('MAAnnotationView::set_canShowCallout', <String, dynamic>{'__this__': this, "canShowCallout": canShowCallout});
  }
  
  Future<void> set_leftCalloutAccessoryView(UIView? leftCalloutAccessoryView) async {
    await kAmapMapFluttifyChannel.invokeMethod('MAAnnotationView::set_leftCalloutAccessoryView', <String, dynamic>{'__this__': this, "leftCalloutAccessoryView": leftCalloutAccessoryView});
  }
  
  Future<void> set_rightCalloutAccessoryView(UIView? rightCalloutAccessoryView) async {
    await kAmapMapFluttifyChannel.invokeMethod('MAAnnotationView::set_rightCalloutAccessoryView', <String, dynamic>{'__this__': this, "rightCalloutAccessoryView": rightCalloutAccessoryView});
  }
  
  Future<void> set_draggable(bool? draggable) async {
    await kAmapMapFluttifyChannel.invokeMethod('MAAnnotationView::set_draggable', <String, dynamic>{'__this__': this, "draggable": draggable});
  }
  
  Future<void> set_dragState(MAAnnotationViewDragState? dragState) async {
    await kAmapMapFluttifyChannel.invokeMethod('MAAnnotationView::set_dragState', <String, dynamic>{'__this__': this, "dragState": dragState?.toValue()});
  }
  
  Future<void> set_canAdjustPositon(bool? canAdjustPositon) async {
    await kAmapMapFluttifyChannel.invokeMethod('MAAnnotationView::set_canAdjustPositon', <String, dynamic>{'__this__': this, "canAdjustPositon": canAdjustPositon});
  }
  
  //endregion

  //region methods
  
  Future<void> setSelected_animated(bool? selected, bool? animated) async {
    // print log
    if (fluttifyLogEnabled) {
      debugPrint('fluttify-dart: MAAnnotationView@$refId::setSelected([\'selected\':$selected, \'animated\':$animated])');
    }
  
    // invoke native method
    final __result__ = await kAmapMapFluttifyChannel.invokeMethod('MAAnnotationView::setSelected_animated', {"selected": selected, "animated": animated, "__this__": this});
  
  
    // handle native call
  
  
    return __result__;
  }
  
  
  Future<dynamic> initWithAnnotation_reuseIdentifier(MAAnnotation? annotation, String? reuseIdentifier) async {
    // print log
    if (fluttifyLogEnabled) {
      debugPrint('fluttify-dart: MAAnnotationView@$refId::initWithAnnotation([\'reuseIdentifier\':$reuseIdentifier])');
    }
  
    // invoke native method
    final __result__ = await kAmapMapFluttifyChannel.invokeMethod('MAAnnotationView::initWithAnnotation_reuseIdentifier', {"annotation": annotation, "reuseIdentifier": reuseIdentifier, "__this__": this});
  
  
    // handle native call
  
  
    return __result__;
  }
  
  
  Future<void> prepareForReuse() async {
    // print log
    if (fluttifyLogEnabled) {
      debugPrint('fluttify-dart: MAAnnotationView@$refId::prepareForReuse([])');
    }
  
    // invoke native method
    final __result__ = await kAmapMapFluttifyChannel.invokeMethod('MAAnnotationView::prepareForReuse', {"__this__": this});
  
  
    // handle native call
  
  
    return __result__;
  }
  
  
  Future<void> setDragState_animated(MAAnnotationViewDragState? newDragState, bool? animated) async {
    // print log
    if (fluttifyLogEnabled) {
      debugPrint('fluttify-dart: MAAnnotationView@$refId::setDragState([\'animated\':$animated])');
    }
  
    // invoke native method
    final __result__ = await kAmapMapFluttifyChannel.invokeMethod('MAAnnotationView::setDragState_animated', {"newDragState": newDragState?.toValue(), "animated": animated, "__this__": this});
  
  
    // handle native call
  
  
    return __result__;
  }
  
  //endregion

  @override
  String toString() {
    return 'MAAnnotationView{refId: $refId, runtimeType: $runtimeType, tag__: $tag__}';
  }
}

extension MAAnnotationView_Batch on List<MAAnnotationView?> {
  String? get refId {
    if (isEmpty) return null;
    return first?.refId;
  }

  //region getters
  Future<List<String?>> get_reuseIdentifier_batch() async {
    final resultBatch = await kAmapMapFluttifyChannel.invokeMethod("MAAnnotationView::get_reuseIdentifier_batch", [for (final __item__ in this) {'__this__': __item__}]);
    return (resultBatch as List).map((__result__) => __result__).cast<String?>().toList();
  }
  
  Future<List<int?>> get_zIndex_batch() async {
    final resultBatch = await kAmapMapFluttifyChannel.invokeMethod("MAAnnotationView::get_zIndex_batch", [for (final __item__ in this) {'__this__': __item__}]);
    return (resultBatch as List).map((__result__) => __result__).cast<int?>().toList();
  }
  
  Future<List<MAAnnotation?>> get_annotation_batch() async {
    final resultBatch = await kAmapMapFluttifyChannel.invokeMethod("MAAnnotationView::get_annotation_batch", [for (final __item__ in this) {'__this__': __item__}]);
    return (resultBatch as List).map((__result__) => AmapMapFluttifyIOSAs<MAAnnotation>(__result__)).cast<MAAnnotation?>().toList();
  }
  
  Future<List<UIImage?>> get_image_batch() async {
    final resultBatch = await kAmapMapFluttifyChannel.invokeMethod("MAAnnotationView::get_image_batch", [for (final __item__ in this) {'__this__': __item__}]);
    return (resultBatch as List).map((__result__) => AmapMapFluttifyIOSAs<UIImage>(__result__)).cast<UIImage?>().toList();
  }
  
  Future<List<UIImageView?>> get_imageView_batch() async {
    final resultBatch = await kAmapMapFluttifyChannel.invokeMethod("MAAnnotationView::get_imageView_batch", [for (final __item__ in this) {'__this__': __item__}]);
    return (resultBatch as List).map((__result__) => AmapMapFluttifyIOSAs<UIImageView>(__result__)).cast<UIImageView?>().toList();
  }
  
  Future<List<MACustomCalloutView?>> get_customCalloutView_batch() async {
    final resultBatch = await kAmapMapFluttifyChannel.invokeMethod("MAAnnotationView::get_customCalloutView_batch", [for (final __item__ in this) {'__this__': __item__}]);
    return (resultBatch as List).map((__result__) => AmapMapFluttifyIOSAs<MACustomCalloutView>(__result__)).cast<MACustomCalloutView?>().toList();
  }
  
  Future<List<CGPoint?>> get_centerOffset_batch() async {
    final resultBatch = await kAmapMapFluttifyChannel.invokeMethod("MAAnnotationView::get_centerOffset_batch", [for (final __item__ in this) {'__this__': __item__}]);
    return (resultBatch as List).map((__result__) => AmapMapFluttifyIOSAs<CGPoint>(__result__)).cast<CGPoint?>().toList();
  }
  
  Future<List<CGPoint?>> get_calloutOffset_batch() async {
    final resultBatch = await kAmapMapFluttifyChannel.invokeMethod("MAAnnotationView::get_calloutOffset_batch", [for (final __item__ in this) {'__this__': __item__}]);
    return (resultBatch as List).map((__result__) => AmapMapFluttifyIOSAs<CGPoint>(__result__)).cast<CGPoint?>().toList();
  }
  
  Future<List<bool?>> get_enabled_batch() async {
    final resultBatch = await kAmapMapFluttifyChannel.invokeMethod("MAAnnotationView::get_isEnabled_batch", [for (final __item__ in this) {'__this__': __item__}]);
    return (resultBatch as List).map((__result__) => __result__).cast<bool?>().toList();
  }
  
  Future<List<bool?>> get_highlighted_batch() async {
    final resultBatch = await kAmapMapFluttifyChannel.invokeMethod("MAAnnotationView::get_isHighlighted_batch", [for (final __item__ in this) {'__this__': __item__}]);
    return (resultBatch as List).map((__result__) => __result__).cast<bool?>().toList();
  }
  
  Future<List<bool?>> get_selected_batch() async {
    final resultBatch = await kAmapMapFluttifyChannel.invokeMethod("MAAnnotationView::get_isSelected_batch", [for (final __item__ in this) {'__this__': __item__}]);
    return (resultBatch as List).map((__result__) => __result__).cast<bool?>().toList();
  }
  
  Future<List<bool?>> get_canShowCallout_batch() async {
    final resultBatch = await kAmapMapFluttifyChannel.invokeMethod("MAAnnotationView::get_canShowCallout_batch", [for (final __item__ in this) {'__this__': __item__}]);
    return (resultBatch as List).map((__result__) => __result__).cast<bool?>().toList();
  }
  
  Future<List<UIView?>> get_leftCalloutAccessoryView_batch() async {
    final resultBatch = await kAmapMapFluttifyChannel.invokeMethod("MAAnnotationView::get_leftCalloutAccessoryView_batch", [for (final __item__ in this) {'__this__': __item__}]);
    return (resultBatch as List).map((__result__) => AmapMapFluttifyIOSAs<UIView>(__result__)).cast<UIView?>().toList();
  }
  
  Future<List<UIView?>> get_rightCalloutAccessoryView_batch() async {
    final resultBatch = await kAmapMapFluttifyChannel.invokeMethod("MAAnnotationView::get_rightCalloutAccessoryView_batch", [for (final __item__ in this) {'__this__': __item__}]);
    return (resultBatch as List).map((__result__) => AmapMapFluttifyIOSAs<UIView>(__result__)).cast<UIView?>().toList();
  }
  
  Future<List<bool?>> get_draggable_batch() async {
    final resultBatch = await kAmapMapFluttifyChannel.invokeMethod("MAAnnotationView::get_isDraggable_batch", [for (final __item__ in this) {'__this__': __item__}]);
    return (resultBatch as List).map((__result__) => __result__).cast<bool?>().toList();
  }
  
  Future<List<MAAnnotationViewDragState?>> get_dragState_batch() async {
    final resultBatch = await kAmapMapFluttifyChannel.invokeMethod("MAAnnotationView::get_dragState_batch", [for (final __item__ in this) {'__this__': __item__}]);
    return (resultBatch as List).map((__result__) => (__result__ as int).toMAAnnotationViewDragState()).cast<MAAnnotationViewDragState?>().toList();
  }
  
  Future<List<bool?>> get_canAdjustPositon_batch() async {
    final resultBatch = await kAmapMapFluttifyChannel.invokeMethod("MAAnnotationView::get_canAdjustPositon_batch", [for (final __item__ in this) {'__this__': __item__}]);
    return (resultBatch as List).map((__result__) => __result__).cast<bool?>().toList();
  }
  
  //endregion

  //region setters
  Future<void> set_zIndex_batch(List<int?> zIndex) async {
    await kAmapMapFluttifyChannel.invokeMethod('MAAnnotationView::set_zIndex_batch', [for (int __i__ = 0; __i__ < this.length; __i__++) {'__this__': this[__i__], "zIndex": zIndex[__i__]}]);
  
  
  }
  
  Future<void> set_annotation_batch(List<MAAnnotation?> annotation) async {
    await kAmapMapFluttifyChannel.invokeMethod('MAAnnotationView::set_annotation_batch', [for (int __i__ = 0; __i__ < this.length; __i__++) {'__this__': this[__i__], "annotation": annotation[__i__]}]);
  
  
  }
  
  Future<void> set_image_batch(List<UIImage?> image) async {
    await kAmapMapFluttifyChannel.invokeMethod('MAAnnotationView::set_image_batch', [for (int __i__ = 0; __i__ < this.length; __i__++) {'__this__': this[__i__], "image": image[__i__]}]);
  
  
  }
  
  Future<void> set_customCalloutView_batch(List<MACustomCalloutView?> customCalloutView) async {
    await kAmapMapFluttifyChannel.invokeMethod('MAAnnotationView::set_customCalloutView_batch', [for (int __i__ = 0; __i__ < this.length; __i__++) {'__this__': this[__i__], "customCalloutView": customCalloutView[__i__]}]);
  
  
  }
  
  Future<void> set_centerOffset_batch(List<CGPoint?> centerOffset) async {
    await kAmapMapFluttifyChannel.invokeMethod('MAAnnotationView::set_centerOffset_batch', [for (int __i__ = 0; __i__ < this.length; __i__++) {'__this__': this[__i__], "centerOffset": centerOffset[__i__]}]);
  
  
  }
  
  Future<void> set_calloutOffset_batch(List<CGPoint?> calloutOffset) async {
    await kAmapMapFluttifyChannel.invokeMethod('MAAnnotationView::set_calloutOffset_batch', [for (int __i__ = 0; __i__ < this.length; __i__++) {'__this__': this[__i__], "calloutOffset": calloutOffset[__i__]}]);
  
  
  }
  
  Future<void> set_enabled_batch(List<bool?> enabled) async {
    await kAmapMapFluttifyChannel.invokeMethod('MAAnnotationView::set_enabled_batch', [for (int __i__ = 0; __i__ < this.length; __i__++) {'__this__': this[__i__], "enabled": enabled[__i__]}]);
  
  
  }
  
  Future<void> set_highlighted_batch(List<bool?> highlighted) async {
    await kAmapMapFluttifyChannel.invokeMethod('MAAnnotationView::set_highlighted_batch', [for (int __i__ = 0; __i__ < this.length; __i__++) {'__this__': this[__i__], "highlighted": highlighted[__i__]}]);
  
  
  }
  
  Future<void> set_selected_batch(List<bool?> selected) async {
    await kAmapMapFluttifyChannel.invokeMethod('MAAnnotationView::set_selected_batch', [for (int __i__ = 0; __i__ < this.length; __i__++) {'__this__': this[__i__], "selected": selected[__i__]}]);
  
  
  }
  
  Future<void> set_canShowCallout_batch(List<bool?> canShowCallout) async {
    await kAmapMapFluttifyChannel.invokeMethod('MAAnnotationView::set_canShowCallout_batch', [for (int __i__ = 0; __i__ < this.length; __i__++) {'__this__': this[__i__], "canShowCallout": canShowCallout[__i__]}]);
  
  
  }
  
  Future<void> set_leftCalloutAccessoryView_batch(List<UIView?> leftCalloutAccessoryView) async {
    await kAmapMapFluttifyChannel.invokeMethod('MAAnnotationView::set_leftCalloutAccessoryView_batch', [for (int __i__ = 0; __i__ < this.length; __i__++) {'__this__': this[__i__], "leftCalloutAccessoryView": leftCalloutAccessoryView[__i__]}]);
  
  
  }
  
  Future<void> set_rightCalloutAccessoryView_batch(List<UIView?> rightCalloutAccessoryView) async {
    await kAmapMapFluttifyChannel.invokeMethod('MAAnnotationView::set_rightCalloutAccessoryView_batch', [for (int __i__ = 0; __i__ < this.length; __i__++) {'__this__': this[__i__], "rightCalloutAccessoryView": rightCalloutAccessoryView[__i__]}]);
  
  
  }
  
  Future<void> set_draggable_batch(List<bool?> draggable) async {
    await kAmapMapFluttifyChannel.invokeMethod('MAAnnotationView::set_draggable_batch', [for (int __i__ = 0; __i__ < this.length; __i__++) {'__this__': this[__i__], "draggable": draggable[__i__]}]);
  
  
  }
  
  Future<void> set_dragState_batch(List<MAAnnotationViewDragState?> dragState) async {
    await kAmapMapFluttifyChannel.invokeMethod('MAAnnotationView::set_dragState_batch', [for (int __i__ = 0; __i__ < this.length; __i__++) {'__this__': this[__i__], "dragState": dragState[__i__]?.toValue()}]);
  
  
  }
  
  Future<void> set_canAdjustPositon_batch(List<bool?> canAdjustPositon) async {
    await kAmapMapFluttifyChannel.invokeMethod('MAAnnotationView::set_canAdjustPositon_batch', [for (int __i__ = 0; __i__ < this.length; __i__++) {'__this__': this[__i__], "canAdjustPositon": canAdjustPositon[__i__]}]);
  
  
  }
  
  //endregion

  //region methods
  
  Future<List<void>> setSelected_animated_batch(List<bool?> selected, List<bool?> animated) async {
    assert(selected.length == animated.length);
  
    // invoke native method
    final resultBatch = await kAmapMapFluttifyChannel.invokeMethod('MAAnnotationView::setSelected_animated_batch', [for (int __i__ = 0; __i__ < this.length; __i__++) {"selected": selected[__i__], "animated": animated[__i__], "__this__": this[__i__]}]);
  
  
    return (resultBatch as List).map((__result__) => __result__).cast<void>().toList();
  }
  
  
  Future<List<dynamic>> initWithAnnotation_reuseIdentifier_batch(List<MAAnnotation?> annotation, List<String?> reuseIdentifier) async {
    assert(annotation.length == reuseIdentifier.length);
  
    // invoke native method
    final resultBatch = await kAmapMapFluttifyChannel.invokeMethod('MAAnnotationView::initWithAnnotation_reuseIdentifier_batch', [for (int __i__ = 0; __i__ < this.length; __i__++) {"annotation": annotation[__i__], "reuseIdentifier": reuseIdentifier[__i__], "__this__": this[__i__]}]);
  
  
    return (resultBatch as List).map((__result__) => __result__).cast<dynamic>().toList();
  }
  
  
  Future<List<void>> prepareForReuse_batch() async {
    assert(true);
  
    // invoke native method
    final resultBatch = await kAmapMapFluttifyChannel.invokeMethod('MAAnnotationView::prepareForReuse_batch', [for (int __i__ = 0; __i__ < this.length; __i__++) {"__this__": this[__i__]}]);
  
  
    return (resultBatch as List).map((__result__) => __result__).cast<void>().toList();
  }
  
  
  Future<List<void>> setDragState_animated_batch(List<MAAnnotationViewDragState?> newDragState, List<bool?> animated) async {
    assert(newDragState.length == animated.length);
  
    // invoke native method
    final resultBatch = await kAmapMapFluttifyChannel.invokeMethod('MAAnnotationView::setDragState_animated_batch', [for (int __i__ = 0; __i__ < this.length; __i__++) {"newDragState": newDragState[__i__]?.toValue(), "animated": animated[__i__], "__this__": this[__i__]}]);
  
  
    return (resultBatch as List).map((__result__) => __result__).cast<void>().toList();
  }
  
  //endregion
}