【发布时间】:2019-07-16 05:48:45
【问题描述】:
首先导入并初始化位置包:
import 'package:location/location.dart' as locationPackage;
locationPackage.Location location = new locationPackage.Location();
在android上运行代码:
try {
await location.getLocation().then((pos) {
setState(() {
print(pos.runtimeType);
_center = LatLng(pos.latitude, pos.longitude);;
_lastMapPosition = _center;
});
});
} catch (e) {
print(e);
if (e.code == 'PERMISSION_DENIED') {
print("Permission Denied");
}
}
}
给出错误:
I/flutter ( 4326): NoSuchMethodError: Class 'int' has no instance method 'cast'.
I/flutter ( 4326): Receiver: 1
I/flutter ( 4326): Tried calling: cast<String, double>()
E/flutter ( 4326): [ERROR:flutter/lib/ui/ui_dart_state.cc(148)] Unhandled Exception: NoSuchMethodError: Class 'NoSuchMethodError' has no instance getter 'code'.
E/flutter ( 4326): Receiver: Instance of 'NoSuchMethodError'
E/flutter ( 4326): Tried calling: code
E/flutter ( 4326): #0 Object.noSuchMethod (dart:core-patch/object_patch.dart:50:5)
E/flutter ( 4326): #1 _MapsSearchPageState._getLocation (package:Bartr/maps.dart:486:13)
E/flutter ( 4326): <asynchronous suspension>
E/flutter ( 4326): #2 _MapsSearchPageState.initState (package:Bartr/maps.dart:500:5)
E/flutter ( 4326): #3 StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:3846:58)
E/flutter ( 4326): #4 ComponentElement.mount (package:flutter/src/widgets/framework.dart:3717:5)
E/flutter ( 4326): #5 Element.inflateWidget (package:flutter/src/widgets/framework.dart:2961:14)
E/flutter ( 4326): #6 Element.updateChild (package:flutter/src/widgets/framework.dart:2764:12)
E/flutter ( 4326): #7 SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:4876:14)
E/flutter ( 4326): #8 Element.inflateWidget (package:flutter/src/widgets/framework.dart:2961:14)
E/flutter ( 4326): #9 Element.updateChild (package:flutter/src/widgets/framework.dart:2764:12)
E/flutter ( 4326): #10 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3750:16)
E/flutter ( 4326): #11 Element.rebuild (package:flutter/src/widgets/framework.dart:3565:5)
E/flutter ( 4326): #12 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3722:5)
E/flutter ( 4326): #13 ComponentElement.mount (package:flutter/src/widgets/framework.dart:3717:5)
E/flutter ( 4326): #14 Element.inflateWidget (package:flutter/src/widgets/framework.dart:2961:14)
E/flutter ( 4326): #15 Element.updateChild (package:flutter/src/widgets/framework.dart:2764:12)
E/flutter ( 4326): #16 SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:4876:14)
E/flutter ( 4326): #17 Element.inflateWidget (package:flutter/src/widgets/framework.dart:2961:14)
E/flutter ( 4326): #18 Element.updateChild (package:flutter/src/widgets/framework.dart:2764:12)
E/flutter ( 4326): #19 SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:4876:14)
E/flutter ( 4326): #20 Element.inflateWidget (package:flutter/src/widgets/framework.dart:2961:14)
E/flutter ( 4326): #21 Element.updateChild (package:flutter/src/widgets/framework.dart:2764:12)
E/flutter ( 4326): #22 SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:4876:14)
E/flutter ( 4326): #23 Element.inflateWidget (package:flutter/src/widgets/framework.dart:2961:14)
E/flutter ( 4326): #24 Element.updateChild (package:flutter/src/widgets/framework.dart:2764:12)
E/flutter ( 4326): #25 SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:4876:14)
E/flutter ( 4326): #26 Element.inflateWidget (package:flutter/src/widgets/framework.dart:2961:14)
E/flutter ( 4326): #27 Element.updateChild (package:flutter/src/widgets/framework.dart:2764:12)
E/flutter ( 4326): #28 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3750:16)
E/flutter ( 4326): #29 Element.rebuild (package:flutter/src/widgets/framework.dart:3565:5)
E/flutter ( 4326): #30 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3722:5)
E/flutter ( 4326): #31 StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:3864:11)
E/flutter ( 4326): #32 ComponentElement.mount (package:flutter/src/widgets/framework.dart:3717:5)
E/flutter ( 4326): #33 Element.inflateWidget (package:flutter/src/widgets/framework.dart:2961:14)
E/flutter ( 4326): #34 Element.updateChild (package:flutter/src/widgets/framework.dart:2764:12)
E/flutter ( 4326): #35 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3750:16)
E/flutter ( 4326): #36 Element.rebuild (package:flutter/src/widgets/framework.dart:3565:5)
E/flutter ( 4326): #37 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3722:5)
E/flutter ( 4326): #38 ComponentElement.mount (package:flutter/src/widgets/framework.dart:3717:5)
E/flutter ( 4326): #39 Element.inflateWidget (package:flutter/src/widgets/framework.dart:2961:14)
E/flutter ( 4326): #40 Element.updateChild (package:flutter/src/widgets/framework.dart:2764:12)
E/flutter ( 4326): #41 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3750:16)
E/flutter ( 4326): #42 Element.rebuild (package:flutter/src/widgets/framework.dart:3565:5)
E/flutter ( 4326): #43 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3722:5)
E/flutter ( 4326): #44 StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:3864:11)
E/flutter ( 4326): #45 Componen
这只发生在安卓上。 Firebase 和所有其他软件包似乎都在工作。我遵循package:location/location.dart 的最现代安装规则。我使用的是 2.3.5 版本,flutter doctor 显示了所有用于 android 开发的复选标记。任何想法为什么会发生这种情况?
【问题讨论】:
-
请分享您使用的代码
cast方法 -
@PhanVanLinh 我不使用“cast”方法。我知道是这段代码导致了错误,就好像我替换了这个块一样,而是用硬编码的位置初始化 _center 没有给出错误。
-
你能分享代码吗?
_getLocation -
忽略上面的评论。我认为这将是您的某些代码造成的。一旦我查看了插件代码,似乎是插件导致了转换错误。