Merge branch 'main' of https://github.com/kuloud/amap_map
# Conflicts: # android/build.gradle # pubspec.yaml
This commit is contained in:
@ -8,7 +8,7 @@ buildscript {
|
||||
}
|
||||
|
||||
dependencies {
|
||||
classpath 'com.android.tools.build:gradle:3.5.3'
|
||||
classpath 'com.android.tools.build:gradle:3.5.4'
|
||||
}
|
||||
}
|
||||
|
||||
@ -22,10 +22,8 @@ rootProject.allprojects {
|
||||
apply plugin: 'com.android.library'
|
||||
|
||||
android {
|
||||
if (project.android.hasProperty("namespace")) {
|
||||
namespace = "com.amap.flutter.map"
|
||||
}
|
||||
compileSdkVersion 34
|
||||
namespace = "com.amap.flutter.map"
|
||||
compileSdkVersion 35
|
||||
|
||||
defaultConfig {
|
||||
minSdkVersion 16
|
||||
@ -36,8 +34,7 @@ android {
|
||||
}
|
||||
|
||||
dependencies {
|
||||
// implementation 'com.amap.api:3dmap-location-search:10.0.800_loc6.4.5_sea9.7.2'
|
||||
implementation 'com.amap.api:navi-3dmap:latest.integration'
|
||||
implementation 'androidx.annotation:annotation:1.8.1'
|
||||
implementation 'com.amap.api:3dmap-location-search:10.1.200_loc6.4.9_sea9.7.4'
|
||||
implementation 'androidx.annotation:annotation:1.9.1'
|
||||
}
|
||||
|
||||
|
@ -1,10 +1,7 @@
|
||||
package com.amap.flutter.map;
|
||||
|
||||
import android.app.Activity;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.lifecycle.Lifecycle;
|
||||
import androidx.lifecycle.LifecycleOwner;
|
||||
|
||||
import com.amap.flutter.map.utils.LogUtil;
|
||||
|
||||
@ -12,7 +9,6 @@ import io.flutter.embedding.engine.plugins.FlutterPlugin;
|
||||
import io.flutter.embedding.engine.plugins.activity.ActivityAware;
|
||||
import io.flutter.embedding.engine.plugins.activity.ActivityPluginBinding;
|
||||
import io.flutter.embedding.engine.plugins.lifecycle.FlutterLifecycleAdapter;
|
||||
import io.flutter.plugin.common.PluginRegistry;
|
||||
|
||||
/**
|
||||
* AmapFlutterMapPlugin
|
||||
@ -23,40 +19,17 @@ public class AMapFlutterMapPlugin implements
|
||||
private static final String CLASS_NAME = "AMapFlutterMapPlugin";
|
||||
private static final String VIEW_TYPE = "com.amap.flutter.map";
|
||||
private Lifecycle lifecycle;
|
||||
private FlutterPluginBinding pluginBinding;
|
||||
|
||||
public AMapFlutterMapPlugin() {
|
||||
}
|
||||
|
||||
public static void registerWith(PluginRegistry.Registrar registrar) {
|
||||
LogUtil.i(CLASS_NAME, "registerWith=====>");
|
||||
|
||||
final Activity activity = registrar.activity();
|
||||
if (activity == null) {
|
||||
LogUtil.w(CLASS_NAME, "activity is null!!!");
|
||||
return;
|
||||
}
|
||||
if (activity instanceof LifecycleOwner) {
|
||||
registrar
|
||||
.platformViewRegistry()
|
||||
.registerViewFactory(
|
||||
VIEW_TYPE,
|
||||
new AMapPlatformViewFactory(
|
||||
registrar.messenger(),
|
||||
() -> ((LifecycleOwner) activity).getLifecycle()));
|
||||
} else {
|
||||
registrar
|
||||
.platformViewRegistry()
|
||||
.registerViewFactory(
|
||||
VIEW_TYPE,
|
||||
new AMapPlatformViewFactory(registrar.messenger(), new ProxyLifecycleProvider(activity)));
|
||||
}
|
||||
}
|
||||
|
||||
// FlutterPlugin
|
||||
|
||||
@Override
|
||||
public void onAttachedToEngine(@NonNull FlutterPluginBinding binding) {
|
||||
LogUtil.i(CLASS_NAME, "onAttachedToEngine==>");
|
||||
this.pluginBinding = binding;
|
||||
binding
|
||||
.getPlatformViewRegistry()
|
||||
.registerViewFactory(
|
||||
@ -78,6 +51,13 @@ public class AMapFlutterMapPlugin implements
|
||||
public void onAttachedToActivity(@NonNull ActivityPluginBinding binding) {
|
||||
LogUtil.i(CLASS_NAME, "onAttachedToActivity==>");
|
||||
lifecycle = FlutterLifecycleAdapter.getActivityLifecycle(binding);
|
||||
pluginBinding.getPlatformViewRegistry().registerViewFactory(
|
||||
VIEW_TYPE,
|
||||
new AMapPlatformViewFactory(
|
||||
pluginBinding.getBinaryMessenger(),
|
||||
() -> lifecycle
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -30,7 +30,8 @@ import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import io.flutter.view.FlutterMain;
|
||||
import io.flutter.embedding.engine.FlutterEngine;
|
||||
import io.flutter.embedding.engine.loader.FlutterLoader;
|
||||
|
||||
/**
|
||||
* @author whm
|
||||
@ -44,6 +45,15 @@ public class ConvertUtil {
|
||||
private static final int[] LocationTypeMap = new int[]{MyLocationStyle.LOCATION_TYPE_SHOW, MyLocationStyle.LOCATION_TYPE_FOLLOW, MyLocationStyle.LOCATION_TYPE_LOCATION_ROTATE};
|
||||
public static float density;
|
||||
private static String apiKey;
|
||||
private static FlutterLoader flutterLoader; // For asset loading
|
||||
|
||||
public static void initialize(Context context) {
|
||||
flutterLoader = new FlutterLoader();
|
||||
if (!flutterLoader.initialized()) {
|
||||
flutterLoader.startInitialization(context);
|
||||
flutterLoader.ensureInitializationComplete(context, null);
|
||||
}
|
||||
}
|
||||
|
||||
public static void setPrivacyStatement(Context context, Object object) {
|
||||
if (null == object) {
|
||||
@ -396,15 +406,15 @@ public class ConvertUtil {
|
||||
case "fromAsset":
|
||||
if (data.size() == 2) {
|
||||
return BitmapDescriptorFactory.fromAsset(
|
||||
FlutterMain.getLookupKeyForAsset(toString(data.get(1))));
|
||||
flutterLoader.getLookupKeyForAsset(toString(data.get(1))));
|
||||
} else {
|
||||
return BitmapDescriptorFactory.fromAsset(
|
||||
FlutterMain.getLookupKeyForAsset(toString(data.get(1)), toString(data.get(2))));
|
||||
flutterLoader.getLookupKeyForAsset(toString(data.get(1)), toString(data.get(2))));
|
||||
}
|
||||
case "fromAssetImage":
|
||||
if (data.size() == 3) {
|
||||
return BitmapDescriptorFactory.fromAsset(
|
||||
FlutterMain.getLookupKeyForAsset(toString(data.get(1))));
|
||||
flutterLoader.getLookupKeyForAsset(toString(data.get(1))));
|
||||
} else {
|
||||
throw new IllegalArgumentException(
|
||||
"'fromAssetImage' Expected exactly 3 arguments, got: " + data.size());
|
||||
|
Reference in New Issue
Block a user