【发布时间】:2021-12-03 00:49:23
【问题描述】:
我正在使用 geolocator: ^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 和 fluter 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
还有其他所有的安卓系统。依赖项已替换为它们的 AndroidX 对应项。
请问有人知道问题的原因吗?
谢谢。
【问题讨论】:
标签: android flutter dart geolocation geocoding