gmm_amap_flutter_location 3.1.2 copy "gmm_amap_flutter_location: ^3.1.2" to clipboard
gmm_amap_flutter_location: ^3.1.2 copied to clipboard

高德定位 SDK Flutter 插件(已适配 Flutter 3.35+ / Dart 3.9+)- GouMiaoMu 定制版

gmm_amap_flutter_location #

pub package license

高德地图 Flutter 插件 - 定位功能(已适配 Flutter 3.35+ / Dart 3.9+)

本插件是基于 amap_flutter_location 的改进版本,修复了在新版本 Flutter/Dart 上的兼容性问题。

功能特性 #

  • ✅ 支持获取设备当前位置
  • ✅ 支持连续定位和单次定位
  • ✅ 支持 Flutter 3.35+ 和 Dart 3.9+
  • ✅ 支持 Android 和 iOS 平台

安装 #

pubspec.yaml 中添加依赖:

dependencies:
  gmm_amap_flutter_location: ^3.1.0

然后运行:

flutter pub get

平台配置 #

Android 配置 #

  1. android/app/src/main/AndroidManifest.xml 中添加权限和配置:
<!-- 定位权限 -->
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />

<application>
    <!-- 高德定位服务 -->
    <service android:name="com.amap.api.location.APSService" />
    
    <!-- 高德 API Key -->
    <meta-data
        android:name="com.amap.api.v2.apikey"
        android:value="您的Android Key" />
</application>

iOS 配置 #

  1. ios/Runner/Info.plist 中添加定位权限描述:
<key>NSLocationWhenInUseUsageDescription</key>
<string>需要获取您的位置以提供定位服务</string>
<key>NSLocationAlwaysUsageDescription</key>
<string>需要获取您的位置以提供定位服务</string>
  1. ios/Runner/AppDelegate.swift 中配置 API Key:
import AMapFoundationKit

// 在 application:didFinishLaunchingWithOptions: 中添加
AMapServices.shared().apiKey = "您的iOS Key"

使用示例 #

初始化定位 #

import 'package:gmm_amap_flutter_location/gmm_amap_flutter_location.dart';

class LocationService {
  final AMapFlutterLocation _location = AMapFlutterLocation();
  
  void init() {
    // 设置 API Key
    AMapFlutterLocation.setApiKey(
      androidKey: '您的Android Key',
      iosKey: '您的iOS Key',
    );
    
    // 设置隐私合规
    AMapFlutterLocation.updatePrivacyAgree(true);
    AMapFlutterLocation.updatePrivacyShow(true, true);
  }
}

开始定位 #

// 监听定位结果
_location.onLocationChanged().listen((Map<String, Object> result) {
  print('定位结果: $result');
  
  final latitude = result['latitude'];
  final longitude = result['longitude'];
  final address = result['address'];
  
  print('坐标: $latitude, $longitude');
  print('地址: $address');
});

// 开始定位
_location.startLocation();

停止定位 #

// 停止定位
_location.stopLocation();

// 销毁定位
_location.destroy();

相关插件 #

许可证 #

MIT License - 详见 LICENSE 文件

致谢 #

本插件基于高德官方 amap_flutter_location 改进,感谢高德开放平台的支持。

0
likes
0
points
253
downloads

Publisher

unverified uploader

Weekly Downloads

高德定位 SDK Flutter 插件(已适配 Flutter 3.35+ / Dart 3.9+)- GouMiaoMu 定制版

Homepage
Repository (GitHub)
View/report issues

Topics

#amap #gaode #location #gps

License

unknown (license)

Dependencies

flutter

More

Packages that depend on gmm_amap_flutter_location

Packages that implement gmm_amap_flutter_location