csp_amap_flutter_base 1.0.0 copy "csp_amap_flutter_base: ^1.0.0" to clipboard
csp_amap_flutter_base: ^1.0.0 copied to clipboard

AMap flutter plugin, base dependency library for integrating AMapSDK in applications. Provides unified Flutter interface encapsulation for location, POI search, API key management, and privacy stateme [...]

csp_amap_flutter_base #

Pub Version License

高德地图 Flutter 插件基础依赖库,为 Flutter 应用集成高德地图 SDK 提供统一的接口封装。

📱 功能特性 #

  • 🗺️ 定位服务 - 提供精确的位置定位功能
  • 🔍 POI 搜索 - 支持周边兴趣点搜索
  • 🔑 API Key 管理 - 统一的 API Key 配置管理
  • 🔒 隐私声明 - 符合隐私政策要求的声明配置
  • 🛠️ 工具类 - 提供常用的地图工具和实用方法
  • 📱 跨平台 - 同时支持 Android、iOS 和 HarmonyOS 平台

🚀 快速开始 #

安装依赖 #

在你的 pubspec.yaml 文件中添加依赖:

dependencies:
  csp_amap_flutter_base: ^1.0.0

然后运行:

flutter pub get

导入库 #

import 'package:csp_amap_flutter_base/csp_amap_flutter_base.dart';

📖 使用方法 #

1. API Key 配置 #

// 设置高德地图 API Key
AmapApiKey.setApiKey(
  androidKey: 'your_android_api_key',
  iosKey: 'your_ios_api_key',
  ohosKey: 'your_harmonyos_api_key',
);

2. 隐私声明配置 #

// 配置隐私声明
AmapPrivacyStatement.setPrivacyStatement(
  hasContains: true,
  hasShow: true,
  hasAgree: true,
);

3. 定位服务 #

// 获取当前位置
AmapLocation.getCurrentLocation((location) {
  print('纬度: ${location.latitude}');
  print('经度: ${location.longitude}');
});

4. POI 搜索 #

// 搜索周边POI
AmapPoi.searchPoi(
  keyword: '餐厅',
  city: '北京市',
  callback: (results) {
    // 处理搜索结果
    for (var poi in results) {
      print('POI名称: ${poi.name}');
      print('POI地址: ${poi.address}');
    }
  },
);

📁 项目结构 #

lib/
├── csp_amap_flutter_base.dart    # 主入口文件
└── src/
    ├── amap_api_key.dart          # API Key 配置
    ├── amap_privacy_statement.dart # 隐私声明配置
    ├── location.dart              # 定位功能封装
    ├── poi.dart                   # POI 搜索功能
    ├── amap_tools.dart           # 地图工具类
    ├── amap_utils.dart           # 实用工具方法
    ├── callbacks.dart            # 回调函数定义
    └── options.dart              # 配置选项

🔧 开发环境要求 #

  • Flutter SDK: >= 3.0.0
  • Dart SDK: >= 3.1.5 < 4.0.0
  • Android: API level 21+
  • iOS: iOS 9.0+
  • HarmonyOS: API level 12+

📝 配置说明 #

Android 配置 #

android/app/src/main/AndroidManifest.xml 中添加权限:

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />

iOS 配置 #

ios/Runner/Info.plist 中添加位置权限描述:

<key>NSLocationWhenInUseUsageDescription</key>
<string>此应用需要位置权限以提供基于位置的服务</string>
<key>NSLocationAlwaysAndWhenInUseUsageDescription</key>
<string>此应用需要位置权限以提供基于位置的服务</string>

HarmonyOS 配置 #

ohos/entry/src/main/module.json5 中添加权限声明:

{
  "requestPermissions": [
    {
      "name": "ohos.permission.LOCATION",
      "reason": "用于获取地理位置信息"
    },
    {
      "name": "ohos.permission.APPROXIMATELY_LOCATION",
      "reason": "用于获取大致位置信息"
    },
    {
      "name": "ohos.permission.INTERNET",
      "reason": "用于网络访问"
    }
  ]
}

📄 许可证 #

本项目基于 MIT 许可证 开源。

🤝 贡献 #

欢迎提交 Issue 和 Pull Request!

📞 联系方式 #

⭐ 支持 #

如果这个项目对你有帮助,请给它一个 ⭐️!

0
likes
125
points
39
downloads

Publisher

unverified uploader

Weekly Downloads

AMap flutter plugin, base dependency library for integrating AMapSDK in applications. Provides unified Flutter interface encapsulation for location, POI search, API key management, and privacy statement configuration.

Repository
View/report issues

Topics

#amap #location #poi #flutter #plugin

Documentation

Documentation
API reference

License

Apache-2.0 (license)

Dependencies

flutter

More

Packages that depend on csp_amap_flutter_base