• Stars
    star
    110
  • Rank 316,770 (Top 7 %)
  • Language
    Objective-C
  • License
    BSD 3-Clause "New...
  • Created about 6 years ago
  • Updated almost 4 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

高德定位Flutter插件

前述

  1. 高德定位Flutter插件
  2. 高德开放平台官网分别申请Android端iOS端的key
  3. 如需了解高德定位SDK的相关功能,请参阅Android定位SDK开发指南iOS定位SDK开发指南
  4. 高德定位Flutter插件内部没有集成动态申请权限插件,您可根据自身需要添加相应的权限申请插件。可以参考permisson_handler插件

使用高德定位Flutter插件

集成高德定位Flutter插件

集成方式:

  • 方式一 github方引用
  1. 在pubspect.yaml的dependencies里添加如下代码
amap_location_flutter_plugin:
  git:
    url: https://github.com/amap-demo/amap-location-flutter.git
  1. 执行flutter packages get等待插件下载完成
  • 方式二 下载到本地引用
  1. 下载高德定位Flutter插件源码
  2. 在本地工程目录下创建plugins目录,将下载的目录复制到plugins目录下
  3. 在pubspect.yaml的dependencies里添加如下代码
amap_location_flutter_plugin:
  path: plugins/amap-location-flutter
  1. 执行flutter packages get等待插件现在完成

常见问题:

1、在iOS设备上运行或者运行iOS工程遇到: Invalid Podfile file: cannot load such file - /flutter/packages/flutter_tools/bin/podhelper

$ rm ios/Podfile
$ flutter build ios

在需要的定位功能的页面中引入定位Flutter插件的dart类

import 'package:amap_location_flutter_plugin/amap_location_flutter_plugin.dart';
import 'package:amap_location_flutter_plugin/amap_location_option.dart';

接口说明

设置APIKey

///设置Android和iOS的apikey,建议在开始定位之前设置
///[androidKey] Android平台的key
///[iosKey] ios平台的key
static void setApiKey(String androidKey, String iosKey)

申请定位权限

/// 申请定位权限
/// 授予定位权限返回true, 否则返回false
Future<bool> requestLocationPermission()

设置定位参数

 /// 设置定位参数
 void setLocationOption(AMapLocationOption locationOption)

将您设置的参数传递到原生端对外接口,目前支持以下定位参数

 /// 是否需要地址信息,默认true
  bool needAddress = true;

  ///逆地理信息语言类型
  ///默认[GeoLanguage.DEFAULT] 自动适配
  ///可选值:
  ///[GeoLanguage.DEFAULT] 自动适配
  ///[GeoLanguage.EN] 英文
  ///[GeoLanguage.ZH] 中文
  GeoLanguage geoLanguage;

  ///是否单次定位
  ///默认值:false
  bool onceLocation = false;

  ///Android端定位模式, 只在Android系统上有效>
  ///默认值:[AMapLocationMode.Hight_Accuracy]
  ///可选值:
  ///[AMapLocationMode.Battery_Saving]
  ///[AMapLocationMode.Device_Sensors]
  ///[AMapLocationMode.Hight_Accuracy]
  AMapLocationMode locationMode;

  ///Android端定位间隔
  ///单位:毫秒
  ///默认:2000毫秒
  int locationInterval = 2000;

  ///iOS端是否允许系统暂停定位
  ///默认:false
  bool pausesLocationUpdatesAutomatically = false;

  /// iOS端期望的定位精度, 只在iOS端有效
  /// 默认值:最高精度
  /// 可选值:
  /// [DesiredAccuracy.Best] 最高精度
  /// [DesiredAccuracy.BestForNavigation] 适用于导航场景的高精度 
  /// [DesiredAccuracy.NearestTenMeters] 10米 
  /// [DesiredAccuracy.Kilometer] 1000米
  /// [DesiredAccuracy.ThreeKilometers] 3000米<
  DesiredAccuracy desiredAccuracy = DesiredAccuracy.Best;

  /// iOS端定位最小更新距离
  /// 单位:米
  /// 默认值:-1,不做限制
  double distanceFilter = -1;

开始定位

void startLocation()

停止定位

void stopLocation()

销毁定位

高德定位Flutter插件,支持多实例,请在weidet执行dispose()时调用当前定位插件的销毁方法

void destroy()

定位结果获取

原生端以键值对map的形式回传定位结果到Flutter端, 通过onLoationChanged返回定位结果

Stream<Map<String, Object>> onLocationChanged()

注册定位结果监听

_locationPlugin
        .onLocationChanged()
        .listen((Map<String, Object> result) {
          ///result即为定位结果
        }

Getting Started

For help getting started with Flutter, view our online documentation.

For help on editing plugin code, view the documentation.

More Repositories

1

android-cluster-marker

android marker聚合效果
Java
195
star
2

wx-regeo-poiaround-weather

基于微信小程序SDK实现的DEMO
JavaScript
190
star
3

android-trip

出行类应用乘客端解决方案
Java
122
star
4

android-path-record

轨迹回放和轨迹纠偏
Java
96
star
5

android-smooth-move

android marker点沿线平滑移动效果
Java
90
star
6

android-path-smooth

轨迹平滑处理示例
Java
80
star
7

android-service-location

Java
77
star
8

android-o-backgroundlocation

Android O后台保持定位示例
Java
60
star
9

iOS-cluster-marker

Objective-C
58
star
10

amap_maps_flutter

Flutter 使用高德地图SDK示例
Dart
45
star
11

web-route-base-on-geolocation-and-placesearch

一个实现了用户位置确定、目的地选择、驾车路线规划的移动端示例,模拟打车场景。基于高德地图JSAPI的Geolocation、PlaceSearch、Driving、Geocoder等组件开发。
JavaScript
43
star
12

android-place-choose

Java
42
star
13

android-switch-map

Amap和Google地图切换
Java
32
star
14

android-map-game

高德地图Android SDK 3D 关于地图游戏方面的应用
Java
31
star
15

iOS-path-smooth

iOS轨迹平滑处理示例
Objective-C
26
star
16

android-multiple-infowindows

用marker展示多infowindow的效果
Java
25
star
17

android-multiroute-display

多路径规划、导航示例
Java
24
star
18

iOS-path-record

iOS-path-record
Objective-C
22
star
19

iOS-HelloCarPlay

使用高德地图导航SDK实现支持CarPlay的导航App
Objective-C
22
star
20

android-place-search

Java
19
star
21

iOS-trip

演示类似滴滴叫车功能
Objective-C
19
star
22

android-once-continue-location

Java
17
star
23

iOS-map-game

Objective-C
16
star
24

android-drive-route

Java
15
star
25

android-location-circle

定位圈动画
Java
15
star
26

android-trip-search

出行类app结合了叫车主页和检索的demo
Java
15
star
27

android-location-rotation-effect

Java
14
star
28

iOS-smooth-move

Objective-C
14
star
29

android-map-fragment

Java
14
star
30

android-location-markermove

位置变化时,定位点平滑移动效果
Java
14
star
31

web-mobile-placesearch

基于高德jsapi实现的手机端地点搜索
HTML
13
star
32

iOS-location-checkin

实现了支持微调位置的定点签到功能
Objective-C
12
star
33

android-navi-quick-start

综合使用搜索和导航实现导航到周边餐馆功能示例
Java
12
star
34

android-map-permission

动态申请存储和定位运行时权限示例(Android6.0)
Java
12
star
35

iOS-place-choose

iOS-place-choose
Objective-C
11
star
36

iOS-switch-map

根据地图中心点是否在国内切换高德地图和苹果地图
Objective-C
11
star
37

android-walk-route-plan

步行路径规划、通过overlay及列表方式展现规划结果
Java
11
star
38

android-location-geofence

Java
10
star
39

android-nearbysearch

附近派单简单示例demo
Java
10
star
40

android-location-hight-accuracy

提升定位精度示例
Java
10
star
41

android-location-checkin

Java
9
star
42

android-navi-fragment

fragment方式导航示例
Java
8
star
43

iOS-drive-route

iOS驾车路线规划(带实时路况)demo
Objective-C
8
star
44

iOS-location-geofence

iOS地理围栏
Objective-C
8
star
45

android-track-demo

HT 轨迹跟踪的demo
Java
8
star
46

android-kotlin

kotlin amap示例
Kotlin
8
star
47

android-map-zoomtospan

地图全览
Java
7
star
48

android-screenshot-mapview-view

地图截图&View截图功能
Java
6
star
49

iOS-location-rotation-effect

定位图标旋转
Objective-C
6
star
50

android-traffic-transfer

Java
6
star
51

android_moving_point

移动点的轨迹动态展示
Java
6
star
52

iOS-location-circle

iOS-location-circle
Objective-C
6
star
53

iOS-multiroute-display

iOS-multiroute-display
Objective-C
6
star
54

iOS-traffic-transfer

公交换乘:在地图页面上,固定起点和终点,规划出公交路线,通过详情,进行列表的详情展示.
Objective-C
6
star
55

iOS-runAndDraw

显示若何使用高德地图sdk 移动annotation同时画出移动轨迹
Objective-C
5
star
56

iOS-service-location

iOS-service-location
Objective-C
5
star
57

android-map-initialcenter

改变初始地图显示位置
Java
5
star
58

Xamarin-Android

Xamarin 使用高德地图SDK示例
C#
5
star
59

weex-3d-map

Java
5
star
60

AMapGPSMocker

GPS的mock工具,提供单点、多点(路线)的模拟和回放、坐标系转换等功能
Objective-C
5
star
61

amap-location-react-native

高德定位SDK在React Native中的使用示例
Objective-C
4
star
62

iOS-watch-navi

iOS-watch-demo-navi
Objective-C
4
star
63

android-map-scrollview

ViewPager切换页面和滑动地图手势区分示例
Java
4
star
64

iOS-once-continue-location

iOS-once-continue-location
Objective-C
4
star
65

amap-location-weex

Weex上使用高德定位SDK的示例
JavaScript
4
star
66

android-poisearch-demo

出行类app的检索demo
Java
4
star
67

android-map-rotation-effect

地图绕中心点旋转效果 (支付宝AR红包地图手势效果)
Java
4
star
68

android-ride-route-plan

自行车路径规划、通过overlay及列表方式展现规划结果
Java
4
star
69

iOS-trip-search

iOS-trip-search
Objective-C
4
star
70

iOS-assist-h5-location

辅助H5定位:通过定位SDK提供的单次定位接口获取单次定位结果,将定位结果打点在H5地图上。 实现了Objective-C(Swift)和JavaScript的相互调用
Objective-C
4
star
71

iOS-ride-route-plan

iOS骑行出行路线规划demo
Objective-C
3
star
72

android-collision-marker

Marker描述文字碰撞,改变文字位置或者隐藏
Java
3
star
73

iOS-place-search

iOS-place-search
Objective-C
3
star
74

android-navi

Java
3
star
75

android-location-diagnose

高德地图定位检测组件
Java
3
star
76

android-assist-h5-location

Java
3
star
77

android-drive-route-plan

驾车路径规划计算、按照交通拥堵情况绘制路径规划结果
Java
3
star
78

android-gesture-zoom

利用自定义手势实现缩放
Java
3
star
79

iOS-map-rotation-effect

Objective-C
2
star
80

android-marker-grow

Java
2
star
81

iOS-map-scrollview

map view on scrollView
Objective-C
2
star
82

android-map3d

Java
2
star
83

iOS-annotation-click

演示annotation的点击事件处理
Objective-C
2
star
84

iOS-selectable-overlay

iOS-selectable-overlay
Objective-C
2
star
85

iOS-3d-touch

iOS-3DTouch
Objective-C
1
star
86

android-map-indoor

室内地图
Java
1
star
87

iOS-screenshot-mapview-view

iOS-screenshot-mapview-view
Objective-C
1
star
88

Auto_BL_SDK_Demo

Java
1
star
89

android-map-customzoom

自定义地图缩放按钮
Java
1
star
90

iOS_SDK_Dynamic

iOS_SDK_Dynamic
1
star
91

android-map-markerwebicon

Java
1
star
92

iOS-map-initialcenter

改变地图初始化中心点坐标
Objective-C
1
star
93

iOS-marker-grow

annotation起立效果
Objective-C
1
star
94

android-poisearch-demo-lite

针对出行类app使用检索进行了详细介绍
Java
1
star
95

android-commuting-card

通勤卡片
Java
1
star
96

android-map-poioverlay

PoiOverlay开源代码及调用
Java
1
star
97

iOS-map3d

map3d official demo
Objective-C
1
star
98

android-map-text

取消显示地图上的文字
Java
1
star
99

iOS-multiple-infowindows

iOS-multiple-infowindows
Objective-C
1
star