解决首页天气定位错误的问题

master
zhangmeng 4 years ago
parent 15e36d3808
commit 06154c382c

@ -22,6 +22,7 @@ import 'package:extended_image/extended_image.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:get/get.dart' hide Response; import 'package:get/get.dart' hide Response;
import 'package:permission_handler/permission_handler.dart'; import 'package:permission_handler/permission_handler.dart';
import 'package:power_logger/power_logger.dart';
import 'package:sharesdk_plugin/sharesdk_plugin.dart'; import 'package:sharesdk_plugin/sharesdk_plugin.dart';
import 'package:recook/base/base_store_state.dart'; import 'package:recook/base/base_store_state.dart';
@ -117,6 +118,9 @@ class _HomePageState extends BaseStoreState<HomePage>
// //
HomeWeatherModel _homeWeatherModel; HomeWeatherModel _homeWeatherModel;
WeatherCityModel _weatherCityModel; WeatherCityModel _weatherCityModel;
//
AMapFlutterLocation _amapFlutterLocation;
// //
double screenWidth = 0; double screenWidth = 0;
double weatherHeight = 0; double weatherHeight = 0;
@ -154,13 +158,26 @@ class _HomePageState extends BaseStoreState<HomePage>
@override @override
void initState() { void initState() {
super.initState(); super.initState();
//native
// AMapFlutterLocation.setApiKey(
// '7225bca14fe7493f9f469315a933f99c', 'e8a8057cfedcdcadcf4e8f2c7f8de982');
_amapFlutterLocation = AMapFlutterLocation();
requestPermission().then((value) { requestPermission().then((value) {
if (value) { if (value) {
AMapFlutterLocation().setLocationOption(AMapLocationOption()); //
AMapFlutterLocation().startLocation(); _amapFlutterLocation.onLocationChanged().listen(
AMapFlutterLocation().onLocationChanged().listen((event) { (event) {
_weatherLocation = event; _weatherLocation = event;
}); _getWeather();
},
);
_amapFlutterLocation
.setLocationOption(AMapLocationOption(onceLocation: true));
_amapFlutterLocation.startLocation();
} else {
ReToast.err(text: '未获取到定位权限,请先在设置中打开定位权限');
} }
}); });
@ -241,7 +258,6 @@ class _HomePageState extends BaseStoreState<HomePage>
// //
_updateSource() { _updateSource() {
_getWeather();
_getActiviteList(); _getActiviteList();
_getBannerList(); _getBannerList();
_getPromotionList(); _getPromotionList();
@ -265,8 +281,8 @@ class _HomePageState extends BaseStoreState<HomePage>
@override @override
void dispose() { void dispose() {
_tabController.dispose(); _tabController.dispose();
AMapFlutterLocation().stopLocation(); _amapFlutterLocation?.stopLocation();
AMapFlutterLocation().destroy(); _amapFlutterLocation?.destroy();
WidgetsBinding.instance.removeObserver(this); WidgetsBinding.instance.removeObserver(this);
super.dispose(); super.dispose();
} }
@ -1369,8 +1385,9 @@ class _HomePageState extends BaseStoreState<HomePage>
_getWeather() async { _getWeather() async {
// if (_weatherLocation==null) // if (_weatherLocation==null)
//cityidcityip3ipcityid
String url = String url =
"https://tianqiapi.com/api?version=v61&appid=81622428&appsecret=AxKzYWq3"; "https://v0.yiketianqi.com/api?version=v61&appid=81622428&appsecret=AxKzYWq3";
if (_weatherCityModel != null && !TextUtils.isEmpty(_weatherCityModel.id)) { if (_weatherCityModel != null && !TextUtils.isEmpty(_weatherCityModel.id)) {
url = "$url&cityid=${_weatherCityModel.id}"; url = "$url&cityid=${_weatherCityModel.id}";
} else if (_weatherCityModel != null && } else if (_weatherCityModel != null &&
@ -1387,7 +1404,8 @@ class _HomePageState extends BaseStoreState<HomePage>
if (res == null) { if (res == null) {
return; return;
} }
Map map = json.decode(res.toString()); LoggerData.addData(res);
Map map = json.decode(res.data.toString());
_homeWeatherModel = HomeWeatherModel.fromJson(map); _homeWeatherModel = HomeWeatherModel.fromJson(map);
UserManager.instance.homeWeatherModel = _homeWeatherModel; UserManager.instance.homeWeatherModel = _homeWeatherModel;
if (mounted) setState(() {}); if (mounted) setState(() {});

@ -14,7 +14,7 @@ packages:
name: amap_flutter_location name: amap_flutter_location
url: "https://pub.flutter-io.cn" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "1.0.1" version: "2.0.0"
analyzer: analyzer:
dependency: transitive dependency: transitive
description: description:
@ -295,6 +295,48 @@ packages:
url: "https://pub.flutter-io.cn" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "2.0.1" version: "2.0.1"
device_info_plus:
dependency: transitive
description:
name: device_info_plus
url: "https://pub.flutter-io.cn"
source: hosted
version: "1.0.1"
device_info_plus_linux:
dependency: transitive
description:
name: device_info_plus_linux
url: "https://pub.flutter-io.cn"
source: hosted
version: "1.0.1"
device_info_plus_macos:
dependency: transitive
description:
name: device_info_plus_macos
url: "https://pub.flutter-io.cn"
source: hosted
version: "1.0.1"
device_info_plus_platform_interface:
dependency: transitive
description:
name: device_info_plus_platform_interface
url: "https://pub.flutter-io.cn"
source: hosted
version: "1.0.2"
device_info_plus_web:
dependency: transitive
description:
name: device_info_plus_web
url: "https://pub.flutter-io.cn"
source: hosted
version: "1.0.1"
device_info_plus_windows:
dependency: transitive
description:
name: device_info_plus_windows
url: "https://pub.flutter-io.cn"
source: hosted
version: "1.0.1"
dio: dio:
dependency: "direct main" dependency: "direct main"
description: description:
@ -818,6 +860,48 @@ packages:
url: "https://pub.flutter-io.cn" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "2.0.0" version: "2.0.0"
package_info_plus:
dependency: transitive
description:
name: package_info_plus
url: "https://pub.flutter-io.cn"
source: hosted
version: "1.0.1"
package_info_plus_linux:
dependency: transitive
description:
name: package_info_plus_linux
url: "https://pub.flutter-io.cn"
source: hosted
version: "1.0.2"
package_info_plus_macos:
dependency: transitive
description:
name: package_info_plus_macos
url: "https://pub.flutter-io.cn"
source: hosted
version: "1.1.1"
package_info_plus_platform_interface:
dependency: transitive
description:
name: package_info_plus_platform_interface
url: "https://pub.flutter-io.cn"
source: hosted
version: "1.0.1"
package_info_plus_web:
dependency: transitive
description:
name: package_info_plus_web
url: "https://pub.flutter-io.cn"
source: hosted
version: "1.0.1"
package_info_plus_windows:
dependency: transitive
description:
name: package_info_plus_windows
url: "https://pub.flutter-io.cn"
source: hosted
version: "1.0.1"
package_signature: package_signature:
dependency: "direct main" dependency: "direct main"
description: description:
@ -966,7 +1050,7 @@ packages:
name: power_logger name: power_logger
url: "https://pub.flutter-io.cn" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "1.0.1-nullsafety.1" version: "1.2.1"
process: process:
dependency: transitive dependency: transitive
description: description:

@ -19,7 +19,7 @@ dependencies:
timeline_tile: 0.1.2 timeline_tile: 0.1.2
# 高德定位 # 高德定位
# amap_location_fluttify: ^0.18.0 # amap_location_fluttify: ^0.18.0
amap_flutter_location: ^1.0.1 amap_flutter_location: ^2.0.0
# icons # icons
flutter_icons: 1.1.0 flutter_icons: 1.1.0
# 拼音 # 拼音
@ -231,7 +231,7 @@ dependencies:
animations: animations:
device_info: ^2.0.0 device_info: ^2.0.0
clipboard_listener: ^1.0.0 clipboard_listener: ^1.0.0
power_logger: ^1.0.1-nullsafety.1 power_logger: ^1.2.1
bot_toast: ^3.0.5 bot_toast: ^3.0.5
get: ^3.26.0 get: ^3.26.0

Loading…
Cancel
Save