在Flutter中集成高德地图,可以通过官方提供的amap_flutter_map插件实现。以下是具体步骤和核心代码:
1. 添加依赖
在pubspec.yaml中添加:
dependencies:
amap_flutter_map: ^x.x.x # 使用最新版本
2. 配置权限(Android/iOS)
Android:
- 在
AndroidManifest.xml中添加权限和API密钥:
<application>
<meta-data
android:name="com.amap.api.v2.apikey"
android:value="您的Android端API密钥"/>
</application>
iOS:
<key>io.flutter.embedded_views_preview</key>
<true/>
<key>AMapApiKey</key>
<string>您的iOS端API密钥</string>
3. 基本地图实现
import 'package:amap_flutter_map/amap_flutter_map.dart';
class MapPage extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
body: AMapWidget(
apiKey: const AMapApiKey(
androidKey: 'ANDROID_KEY',
iosKey: 'IOS_KEY',
),
onMapCreated: (controller) {
// 地图创建回调
},
),
);
}
}
4. 常用功能示例
定位到指定坐标:
AMapWidget(
initialCameraPosition: CameraPosition(
target: LatLng(39.909187, 116.397451), // 北京坐标
zoom: 15,
),
)
添加标记:
AMapWidget(
markers: Set<Marker>.from([
Marker(
position: LatLng(39.909187, 116.397451),
icon: BitmapDescriptor.defaultMarker,
),
]),
)
注意事项:
- 需在高德开放平台申请API密钥
- iOS需在
Podfile中配置use_frameworks!
- 确保权限配置正确(定位、网络权限等)
通过以上步骤即可快速集成基础地图功能,更多高级功能可参考高德Flutter插件文档。