amap_map_fluttify 0.26.0-pre.1 amap_map_fluttify: ^0.26.0-pre.1 copied to clipboard
An `Amap` Map Component, Powered By `Fluttify` Compiler, A Dart Bindings Generator For Native SDK.
高德地图 地图组件 Flutter插件 #
由于精力有限, 1.0.0
版本开始, 作为社区版(0.x版本)将不再新增功能, 如果现有接口不能满足你的需求, 请使用专业版. #
专业版为付费插件, 如有需要请联系qq 382146139
专业版为付费插件, 如有需要请联系qq 382146139
专业版为付费插件, 如有需要请联系qq 382146139
静态扩展方案 #
现提供静态扩展方案, 如果社区版没有提供你需要的功能, 但是又用不到专业版里的所有功能, 那么本方案提供以方法
为单位的收费方式.
计费方式请参考技术支持方案.
静态扩展方案最终会提供一个类扩展(目前支持为AmapController
进行扩展)给用户.
如何使用静态扩展 #
把扩展类拷贝进工程, 然后在使用地图的文件内import
该类扩展之后, 与先前一样使用AmapController
即可.
使用静态扩展方案的前提 #
- 必须使用社区版
0.25.0
以上的版本,0.25.0
版本专门为静态扩展方案做了优化,如果使用之前的版本,将不保证扩展能使用; 0.25.0
版本已整合amap_location_fluttify
和amap_search_fluttify
, 因此amap_all_fluttify
已被标记为过时
. 如果只需要定位或搜索, 可以只依赖定位或搜索插件, 如果需要地图的同时需要搜索和定位, 则直接依赖amap_map_fluttify
即可.0.25.0
版本针对扩展方案进行了优化, 原先所有通过静态方法调用的接口, 一律改成单例模式. 影响到的类主要有AmapService
,AmapLocation
,AmapSearch
, 迁移时只需AmapService
→AmapService.instance
,AmapLocation
→AmapLocation.instance
,AmapSearch
→AmapSearch.instance
即可.
Fluttify系列插件 #
名称 | 描述 | 仓库 |
---|---|---|
高德地图 | 高德地图地图组件, 提供地图控件 | |
高德定位 | 高德地图定位组件, 提供独立的定位功能 | |
高德搜索 | 高德地图搜索组件, 提供poi搜索等功能 | |
百度地图 | 百度地图, 包含了地图控件, 定位以及搜索poi等功能 | |
百度人脸识别 | 百度人脸识别, 提供活体检测等功能 | |
网易直播 | 网易直播推流组件 | |
网易云信 | 网易云信 IM组件 | |
腾讯直播 | 腾讯直播, 包含推流组件和播放组件 | |
腾讯IM | 腾讯IM组件 | |
腾讯地图 | 腾讯地图组件 | |
讯飞语音合成 | 腾讯语言合成组件, 提供文字转语言功能 | |
极光统计 | 极光统计组件, 提供异常上报等功能 | |
阿里云RTC | 阿里云实时音视频 | |
环信 | 环信IM | |
未完待续... | 如有其它需求, 请联系qq 382146139 |
依赖 #
dependencies:
flutter:
sdk: flutter
amap_map_fluttify: ^x.x.x
配置 #
Android #
- 注意在app/build.gradle的android块中配置签名信息, 并在buildTypes块中指定签名信息, 否则将无法匹配到你在高德后台配置的appkey, 例如:
android {
signingConfigs {
release {
keyAlias 'amap_map_test'
keyPassword 'amap_map_test'
storeFile file('../amap_map_test.jks')
storePassword 'amap_map_test'
}
}
buildTypes {
debug {
signingConfig signingConfigs.release
}
profile {
signingConfig signingConfigs.release
}
release {
signingConfig signingConfigs.release
}
}
}
iOS #
- 使用地图需要使能UiKitView, 在Info.plist中添加:
<key>io.flutter.embedded_views_preview</key>
<string>YES</string>
- 定位需要声明权限, 在Info.plist中添加:
<key>NSLocationWhenInUseUsageDescription</key>
<string>需要定位权限</string>
- 调用高德地图需要添加白名单:
<key>LSApplicationQueriesSchemes</key>
<array>
<string>iosamap</string>
<string>amapuri</string>
</array>
导入 #
import 'package:amap_map_fluttify/amap_map_fluttify.dart';
使用 #
参考wiki.
社区 #
QQ群 |
---|
社区版与专业版 #
显示地图 | 社区版 | 静态扩展 | 专业版 |
---|---|---|---|
获取当前位置 | ✅ | ✅ | ✅ |
显示我的位置 | ✅ | ✅ | ✅ |
是否显示室内地图 | ✅ | ✅ | ✅ |
选择显示图层 | ✅ | ✅ | ✅ |
选择地图语言 | ✅ | ✅ | ✅ |
显示路况信息 | ✅ | ✅ | ✅ |
显示缩放控件 | ✅ | ✅ | ✅ |
显示指南针 | ✅ | ✅ | ✅ |
显示定位按钮 | ✅ | ✅ | ✅ |
显示比例尺控件 | ✅ | ✅ | ✅ |
缩放手势使能 | ✅ | ✅ | ✅ |
滑动手势使能 | ✅ | ✅ | ✅ |
旋转手势使能 | ✅ | ✅ | ✅ |
旋转手势使能 | ✅ | ✅ | ✅ |
设置缩放大小 | ✅ | ✅ | ✅ |
设置缩放是否以中心点为锚点 | ✅ | ✅ | ✅ |
显示/隐藏3D楼块效果 | ☑️ | ✅ | ✅ |
显示/隐藏地图上的文字标注 | ☑️ | ✅ | ✅ |
同时设置缩放/倾斜/朝向/坐标并动画 | ☑️ | ✅ | ✅ |
在地图上绘制 | 社区版 | 静态扩展 | 专业版 |
---|---|---|---|
批量添加marker | ✅ | ✅ | ✅ |
把marker列表从地图上移除 | ✅ | ✅ | ✅ |
清除地图上所有覆盖物 | ✅ | ✅ | ✅ |
添加折线 | ✅ | ✅ | ✅ |
添加多边形 | ✅ | ✅ | ✅ |
添加圆 | ✅ | ✅ | ✅ |
设置marker点击监听事件 | ✅ | ✅ | ✅ |
设置marker拖动监听事件 | ✅ | ✅ | ✅ |
Marker弹窗点击事件监听 | ✅ | ✅ | ✅ |
添加平滑移动marker | ☑️ | ✅ | ✅ |
添加海量点 | ☑️ | ✅ | ✅ |
自定义弹窗 | ☑️ | ☑️ | ✅ |
设置海量点点击监听事件 | ☑️ | ✅ | ✅ |
截图 | ✅ | ✅ | ✅ |
自定义地图 | ☑️ | ✅ | ✅ |
添加热力图 | ☑️ | ✅ | ✅ |
添加图片覆盖物 | ☑️ | ✅ | ✅ |
将指定的经纬度列表调整至同一屏幕中显示 | ☑️ | ✅ | ✅ |
添加瓦片图 | ☑️ | ☑️ | ✅ |
输入起始点添加驾车路线 | ☑️ | ✅ | ✅ |
输入地区名称添加地区轮廓 | ☑️ | ✅ | ✅ |
添加回放轨迹 | ☑️ | ✅ | ✅ |
与地图交互 | 社区版 | 静态扩展 | 专业版 |
---|---|---|---|
监听地图点击事件 | ✅ | ✅ | ✅ |
监听地图长按事件 | ✅ | ✅ | ✅ |
监听地图移动开始 | ✅ | ✅ | ✅ |
监听地图移动中 | ✅ | ✅ | ✅ |
监听地图移动结束 | ✅ | ✅ | ✅ |
限制地图的显示范围 | ✅ | ✅ | ✅ |
获取当前缩放大小 | ✅ | ✅ | ✅ |
放大/缩小一个等级 | ✅ | ✅ | ✅ |
设置地图中心点 | ✅ | ✅ | ✅ |
获取地图中心点 | ✅ | ✅ | ✅ |
屏幕坐标转经纬度坐标 | ✅ | ✅ | ✅ |
经纬度坐标转屏幕坐标 | ✅ | ✅ | ✅ |
设置地图朝向 | ☑️ | ✅ | ✅ |
设置地图倾斜度 | ☑️ | ✅ | ✅ |
导航 | 社区版 | 静态扩展 | 专业版 |
---|---|---|---|
跳转高德app驾车导航 | ✅ | ✅ | ✅ |
跳转高德app骑行导航 | ☑️ | ✅ | ✅ |
内置导航组件 | ☑️ | ✅ | ✅ |
可嵌入的导航Widget | ☑️ | ✅ | ✅ |
其他 | 社区版 | 静态扩展 | 专业版 |
---|---|---|---|
NO-IDFA | ☑️ | ✅ | ✅ |
获取地图静态图片 | ☑️ | ✅ | ✅ |
电子围栏 | ☑️ | ✅ | ✅ |
LICENSE #
Copyright (C) 2020 yohom
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see https://www.gnu.org/licenses/.