import 'dart:io'; import 'package:amap_location/amap_view_controller.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; class AmapView extends StatefulWidget { final AmapViewController controller; final VoidCallback onViewCreated; const AmapView({Key key, @required this.controller, this.onViewCreated}) : super(key: key); @override _AmapViewState createState() => _AmapViewState(); } class _AmapViewState extends State { static const String viewType = "com.i2edu.mapView"; @override Widget build(BuildContext context) { return Platform.isAndroid ? AndroidView( viewType: viewType, creationParams: {}, creationParamsCodec: const StandardMessageCodec(), onPlatformViewCreated: onPlatformViewCreated, ) : UiKitView( viewType: viewType, creationParams: {}, creationParamsCodec: const StandardMessageCodec(), onPlatformViewCreated: onPlatformViewCreated, ); } void onPlatformViewCreated(int id) { widget.controller.init(id); widget.onViewCreated(); } }