| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103 |
- import 'dart:async';
- import 'package:amap_location/amap_export.dart';
- import 'package:amap_location_example/map_view_page.dart';
- import 'package:flutter/cupertino.dart';
- import 'package:flutter/material.dart';
- import 'package:flutter/services.dart';
- void main() {
- WidgetsFlutterBinding.ensureInitialized();
- runApp(MyApp());
- }
- class MyApp extends StatelessWidget {
- @override
- Widget build(BuildContext context) {
- return MaterialApp(
- home: HomePage()
- );
- }
- }
- class HomePage extends StatefulWidget {
- @override
- State<StatefulWidget> createState() {
- return HomePageState();
- }
- }
- class HomePageState extends State<HomePage> {
- String _platformVersion = 'Unknown';
- @override
- void initState() {
- super.initState();
- initPlatformState();
- }
- // Platform messages are asynchronous, so we initialize in an async method.
- Future<void> initPlatformState() async {
- String platformVersion;
- // Platform messages may fail, so we use a try/catch PlatformException.
- try {
- platformVersion = await AmapLocation.platformVersion;
- } on PlatformException {
- platformVersion = 'Failed to get platform version.';
- }
- // If the widget was removed from the tree while the asynchronous platform
- // message was in flight, we want to discard the reply rather than calling
- // setState to update our non-existent appearance.
- if (!mounted) return;
- setState(() {
- _platformVersion = platformVersion;
- });
- }
- @override
- Widget build(BuildContext context) {
- return Scaffold(
- appBar: AppBar(
- title: const Text('Plugin example app'),
- ),
- body: Center(
- child: Column(
- mainAxisAlignment: MainAxisAlignment.center,
- children: <Widget>[
- RawMaterialButton(
- onPressed: () async {
- await AmapLocation.instance.startLocation(
- options: LocationOption(
- isOnceLocation: false,
- locationInterval: 5000,
- locationTimeOut: 10,
- locationMode: LocationMode.Battery_Saving,));
- AmapLocation.instance.locationStream.listen((d) {
- print(d.city);
- AmapLocation.instance.closeLocation();
- // stop location when isOnceLocation is true
- // AmapLocation.instance.disposed();
- });
- // await Future.delayed(Duration(seconds: 60));
- },
- child: Text("get lcoation"),
- ),
- SizedBox(height: 10,),
- RawMaterialButton(
- onPressed: () async {
- Navigator.of(context).push(MaterialPageRoute(builder: (ctx){
- return MapViewPage();
- }));
- },
- child: Text("jump to mapview"),
- ),
- ],
- ),
- ),
- );
- }
- }
|