Flutter高德地图插件
amap_view_muka: ^0.1.0
- 显示地图
- 显示定位蓝点
- 显示室内地图
- 切换地图图层
- 使用离线地图 [目前只支持官方UI]
- 显示英文地图
- 自定义地图 [写了方法但不起作用,不知道啥问题]
- 与地图交互
- 控件交互
- 手势交互
- 调用方法交互
- 地图截屏功能
- 在地图上绘制
- 绘制点标记
- 绘制线
- 绘制面
- 绘制热力图
- 绘制3D模型
- 点平滑移动
- 绘制海量点图层
在AndroidManifest.xml
添加如下代码
<meta-data android:name="com.amap.api.v2.apikey" android:value="你的key" />
在Info.plist
添加如下代码
// 默认
<key>NSLocationWhenInUseUsageDescription</key>
<string>App需要您的同意,才能访问位置</string>
<key>NSLocationAlwaysAndWhenInUseUsageDescription</key>
<string>App需要您的同意,才能访问位置</string>
<key>amap_key</key>
<string>你的key</string>
// 导航 [后台持续定位只需要location]
<key>UIBackgroundModes</key>
<array>
<string>location</string>
<string>audio</string>
</array>
- 2022/08/19 flutter Widget 转为icon使用
/// 增加android AMapViewImage.uint8List
RenderRepaintBoundary render = _globalKey.currentContext!.findRenderObject() as RenderRepaintBoundary;
ui.Image image = await render.toImage();
ByteData? byteData = await image.toByteData(format: ui.ImageByteFormat.png);
print(byteData?.buffer.asUint8List());
AmapMarker newMarker = AMapDefaultMarker(
id: '3',
position: LatLng(30.573961, 104.066301),
icon: AMapViewImage.uint8List(byteData!.buffer.asUint8List(), size: AMapImageSize(height: 90, width: 90)),
);
print(newMarker.toJson());
await _amapViewController.addMarker(newMarker);