}
@override
void dispose() {
print(’----------dispose---------------’);
super.dispose();
}
void updateMapMarker() async {
await platform.invokeMethod(‘refrashMap’, “我是参数”);
}
// This widget is the root of your application.
@override
Widget build(BuildContext context) {
print(’-------------build--------------’);
updateMapMarker();
return Scaffold(
body: Stack(
children: [
Center(
child: AndroidView(viewType: ‘MyMap’),
),
],
));
}
@override
bool get wantKeepAlive => true;
}
Android端代码
怎么配置baidu地图的sdk这里就不细说了,baidu地图的文档给开发者提供了相当详细的说明,在代码里面主要看中MethodChannel和EventChannel的功能,MethodChannel可以通过MethodCall监听Flutter程序事件发来的事件的数据,然后可以通过EventChannel进行发送数据回去,两者结合再一起则是双通道的通信机制。这里发送的数据格式有要求,格式如下(官网图片)
MainActivity.java
com.example.my_project
import android.annotation.SuppressLint;
import android.content.SharedPreferences;
import android.graphics.Point;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.util.DisplayMetrics;
import android.util.Log;
import android.view.Gravity;
import android.view.Win