Flutter - 高德地图

使用库:amap_location

在pubspec.yaml中导入:

dependencies:
  #高德地图
  amap_location: ^0.2.0
  #权限检查 需要iOS9.3以上版本
  # simple_permissions: ^0.1.9

示例代码:

void main() => runApp(WSAMap());
import 'package:flutter/material.dart';

//高德地图
import 'package:amap_location/amap_location.dart';

class WSAMap extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: WSAMapPage(title: 'Flutter Demo Home Page'),
    );
  }
}

class WSAMapPage extends StatefulWidget {
  WSAMapPage({Key key, this.title}) : super(key: key);
  final String title;
  @override
  WSAMapPageState createState() => WSAMapPageState();
}

class WSAMapPageState extends State<WSAMapPage> {
  int _counter = 0;
  bool once = true;

  @override
  void initState() {
    super.initState();
    AMapLocationClient.setApiKey("3fa98dfeaf2f5156f053102a434c99ab");
  }

  _incrementCounter() async {
    if (once) {
      try {
        await AMapLocationClient.startup(new AMapLocationOption(
            desiredAccuracy:
                CLLocationAccuracy.kCLLocationAccuracyHundredMeters));
        // await AMapLocationClient.getLocation(true);
        AMapLocationClient.onLocationUpate.listen((AMapLocation loc) {
          if (!mounted) return;
          print(loc);
        });
        AMapLocationClient.startLocation();
      } catch (e) {
        print(e);
      }
      once = false;
    }

    setState(() {
      _counter++;
    });
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text(widget.title),
      ),
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: <Widget>[
            Text(
              'You have pushed PATHText $_counter the button this many times:',
            ),
            Text(
              '$_counter',
              style: Theme.of(context).textTheme.display1,
            ),
          ],
        ),
      ),
      floatingActionButton: FloatingActionButton(
        onPressed: _incrementCounter,
        tooltip: 'Increment',
        child: Icon(Icons.add),
      ),
    );
  }
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 本文先介绍一下 Flutter 的中使用高德地图amap_base库的简单使用,以及内部是什么结构,再探索下原生和...
    sun_argc阅读 4,150评论 1 5
  • 前言 在引入高德库的前提下,Flutter笔记-调用原生IOS高德地图sdk 以下贴上全部代码配置 Flutter...
    西北傻狍子阅读 1,998评论 0 1
  • 目前支持Flutter的第三方库还不多,地图作为一个高频使用的功能非常重要,但是国内常用的百度、高德都还没有官方的...
    夏_Leon阅读 35,296评论 13 13
  • 前言 一个应用程序主要由两部分内容组成:代码和资源。代码关注逻辑功能,而如图片、字符串、字体、配置文件等资源则关注...
    Eren丶耶格尔阅读 8,242评论 0 6
  • 从今天起,要记录自己的每日学习心得,值得表扬的和有待提升的都要有。因为你要有所作为! 字数格式随意。
    晨曦_13ef阅读 137评论 9 0