flutter配置高德地图定位
1.amap_location导入
2020-6.17注 现在应该很简单了
packget get
amap_location: 0.1.0
再导入 import xxxxxxxx
再根据官方packget中的初始方式
packget get
import 'package:amap_location/amap_location.dart';
void main(){
AMapLocationClient.setApiKey("你的key");
runApp(new MyApp());
}
--------------------------
await AMapLocationClient.startup(new AMapLocationOption( desiredAccuracy:CLLocationAccuracy.kCLLocationAccuracyHundredMeters ));
直接获取定位:
await AMapLocationClient.getLocation(true);
2. 权限android依赖等
manifest 权限
<!--用于进行网络定位-->
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATIONS_LOCATION_EXTRA_COMMANDSARSE_LOCATION" />
<!--用于访问GPS定位-->
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<!--用于获取运营商信息,用于支持提供运营商信息相关的接口-->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<!--用于访问wifi网络信息,wifi信息会用于进行网络定位-->
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<!--用于获取wifi的获取权限,wifi信息会用来进行网络定位-->
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<!--用于访问网络,网络定位需要上网-->
<uses-permission android:name="android.permission.INTERNET" />
<!--用于读取手机当前的状态-->
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<!--用于写入缓存数据到扩展存储卡-->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<!--用于申请调用A-GPS模块-->
<uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
<!--用于申请获取蓝牙信息进行室内定位-->
service:如下
<service android:name="com.amap.api.location.APSService" />
<meta-data android:name="com.amap.api.v2.apikey"
android:value="你申请的 高德key值"
tools:replace="android:value">
</meta-data>
特别注意 flutter签名的sha1 有release版本与debug版本 两个sha1值都应要填
build.gradle文件
android {
.... 你的代码
defaultConfig {
.....
manifestPlaceholders = [
AMAP_KEY : "aa9f0cf8574400f2af0078392c556e25", /// 高德地图key
]
}
...你的代码
dependencies {
/// 注意这里需要在主项目增加一条依赖,否则可能发生编译不通过的情况
implementation 'com.amap.api:location:latest.integration'
...你的代码
}