You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
76 lines
2.6 KiB
76 lines
2.6 KiB
import 'package:aku_new_community/widget/bee_scaffold.dart';
|
|
import 'package:aku_new_community/widget/others/bee_search_text_field.dart';
|
|
import 'package:aku_new_community/widget/others/user_tool.dart';
|
|
import 'package:amap_flutter_base/amap_flutter_base.dart';
|
|
import 'package:amap_flutter_map/amap_flutter_map.dart';
|
|
// import 'package:amap_search_fluttify/amap_search_fluttify.dart' as search;
|
|
import 'package:flutter/material.dart';
|
|
import 'package:permission_handler/permission_handler.dart';
|
|
|
|
class LocationView extends StatefulWidget {
|
|
const LocationView({Key? key}) : super(key: key);
|
|
|
|
@override
|
|
_LocationViewState createState() => _LocationViewState();
|
|
}
|
|
|
|
class _LocationViewState extends State<LocationView> {
|
|
AMapController? _mapController;
|
|
var poiList = [];
|
|
LatLng? _target;
|
|
|
|
@override
|
|
void initState() {
|
|
Future.delayed(Duration(seconds: 0), () async {
|
|
var location = await Permission.locationWhenInUse.isGranted;
|
|
if (!location) {
|
|
await Permission.locationWhenInUse.request();
|
|
}
|
|
_target = LatLng(
|
|
(UserTool.appProveider.location?['latitude'] ?? 0) as double,
|
|
(UserTool.appProveider.location?['longitude'] ?? 0) as double,
|
|
);
|
|
// poiList = await search.AmapSearch.instance.searchAround(search.LatLng(
|
|
// (UserTool.appProveider.location?['latitude'] ?? 0) as double,
|
|
// (UserTool.appProveider.location?['longitude'] ?? 0) as double,
|
|
// ));
|
|
// print(poiList.length);
|
|
});
|
|
super.initState();
|
|
}
|
|
|
|
@override
|
|
Widget build(BuildContext context) {
|
|
return BeeScaffold(
|
|
title: BeeSearchTextField(),
|
|
body: Stack(
|
|
children: [
|
|
AMapWidget(
|
|
privacyStatement: AMapPrivacyStatement(
|
|
hasContains: true, hasShow: true, hasAgree: true),
|
|
onMapCreated: (controller) {
|
|
// final appProvider =
|
|
// Provider.of<AppProvider>(context, listen: false);
|
|
// LatLng _target = LatLng(
|
|
// (appProvider.location?['latitude'] ?? 0) as double,
|
|
// (appProvider.location?['longitude'] ?? 0) as double,
|
|
// );
|
|
_mapController = controller;
|
|
_mapController!.moveCamera(
|
|
CameraUpdate.newCameraPosition(
|
|
CameraPosition(target: _target!, zoom: 18),
|
|
),
|
|
);
|
|
},
|
|
myLocationStyleOptions: MyLocationStyleOptions(
|
|
true,
|
|
circleFillColor: Theme.of(context).primaryColor.withOpacity(0.2),
|
|
circleStrokeColor: Theme.of(context).primaryColor,
|
|
),
|
|
),
|
|
],
|
|
),
|
|
);
|
|
}
|
|
}
|