高德 amap_flutter_search 如何使用

我在使用高德的amap_flutter_search插件时遇到了一些问题,不知道如何正确调用搜索功能。具体来说,我已经按照文档配置了API Key,但是调用POI搜索时总是返回空结果。请问这个插件需要额外设置什么参数吗?能否提供一个完整的搜索示例代码?另外,这个插件是否支持周边搜索和关键字搜索同时使用?

2 回复

使用高德 amap_flutter_search 插件,首先在 pubspec.yaml 中添加依赖。然后导入包,调用 AMapSearch 类进行搜索,如关键字搜索、周边搜索等。需配置高德开放平台 API Key 并处理权限。

更多关于高德 amap_flutter_search 如何使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


高德 amap_flutter_search 是 Flutter 插件,用于实现高德地图的搜索功能(如地点搜索、输入提示等)。以下是基本使用步骤:

1. 添加依赖

pubspec.yaml 中添加:

dependencies:
  amap_flutter_search: ^1.0.0  # 检查最新版本

运行 flutter pub get

2. 配置高德 Key

  • 在高德开放平台申请 Android/iOS Key,并绑定 App 包名。
  • Android:在 AndroidManifest.xml<application> 内添加:
    <meta-data
        android:name="com.amap.api.v2.apikey"
        android:value="你的高德Key"/>
    
  • iOS:在 Info.plist 中添加:
    <key>AMapApiKey</key>
    <string>你的高德Key</string>
    

3. 基本使用示例

关键字搜索

import 'package:amap_flutter_search/amap_flutter_search.dart';

// 初始化(建议在App启动时调用一次)
AMapFlutterSearch.setApiKey("你的高德Key");

// 执行搜索
void searchKeyword(String keyword) async {
  var result = await AMapFlutterSearch.searchKeyword(
    keyword,
    city: '北京', // 可选城市限制
  );
  
  if (result.code == 1000) {
    // 成功:result.pois 为搜索结果列表
    for (var poi in result.pois) {
      print('名称: ${poi.title}, 地址: ${poi.address}');
    }
  } else {
    print('搜索失败: ${result.message}');
  }
}

输入提示

void getInputTips(String keyword) async {
  var result = await AMapFlutterSearch.getInputTips(
    keyword,
    city: '北京',
  );
  
  if (result.code == 1000) {
    for (var tip in result.tips) {
      print('提示: ${tip.name}');
    }
  }
}

4. 注意事项

  • 确保网络权限已开启。
  • 搜索结果为 POI 对象,包含名称、坐标、地址等字段。
  • 详细参数(如搜索类型、区域限制)参考高德官方文档

通过以上步骤即可快速集成搜索功能。

回到顶部