我正在使用 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 和 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" />
構建.gradle:
compileSdkVersion 31
minSdkVersion 21
targetSdkVersion 30
gradle.properties:
android.useAndroidX=true
android.enableJetifier=true
和所有其他機器人。依賴項被替換為他們的 AndroidX 對應項。
拜托,有人知道那個問題的原因嗎?
謝謝。
uj5u.com熱心網友回復:
確保正確宣告地理定位器:^7.7.0,地理編碼:^2.0.1。并運行flutter packages get
還有一些額外的步驟:
- 顫振清潔
- 關閉 Android Studio 或 Vs Code
- 洗掉構建檔案夾
- 洗掉 .idea 檔案夾
- 手指交叉!
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/314880.html
