地理编码 Flutter,无法导入 'package:geocoding/geocoding.dart'

geocoding Flutter, can't import 'package:geocoding/geocoding.dart'

我正在使用地理定位器:^7.7.0 来获取经度和纬度坐标,这样我就可以使用 placemarkFromCoordinates() 获取地址。

一切顺利:

Position position = await Geolocator.getCurrentPosition(desiredAccuracy: LocationAccuracy.high);
print('Latitude: ${position.latitude}, Longitude: ${position.longitude}');

如您所见,我可以获得经度和纬度坐标。问题是,当我尝试导入 'package:geocoding/geocoding.dart' 以使用 placemarkFromCoordinates() 时,出现以下错误:

Target of URI doesn't exist: 'package:geocoding/geocoding.dart'. Try creating the file referenced by the URI, or Try using a URI for a file that does exist. (darturi_does_not_exist)

我已经尝试过 flutter clean 和 flutter build apk,下面是:

Note: C:\REMSYSTEMFIRE-FIXOS\Componentes\flutter\.pub-cache\hosted\pub.dartlang.org\geocoding-2.0.1\android\src\main\java\com\baseflow\geocoding\Geding\GeocodingPlugin.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.

我的 pubspec.yaml 依赖项有:

geolocator: ^7.7.0
geocoding: ^2.0.1

我的 AndroidManifest.xml 权限:

<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

build.gradle:

compileSdkVersion 31
minSdkVersion 21
targetSdkVersion 30

gradle.properties:

android.useAndroidX=true
android.enableJetifier=true

以及所有其他 android。依赖项已替换为其 AndroidX 对应项。

请问有人知道这个问题的原因吗?

谢谢。

确保正确声明地理定位器:^7.7.0,地理编码:^2.0.1。和 运行 flutter packages get

还有一些额外的步骤:

  1. 颤动干净
  2. 关闭 Android Studio 或 Vs Code
  3. 删除构建文件夹
  4. 删除 .idea 文件夹
  5. 手指交叉!