Импортированная библиотека 'package:geolocator/model/position.dart' не может иметь часть директивы
В моем приложении флаттера я использовал следующие плагин missions_handler, geolocator и google_api_availibility. Я мог бы добавить этот плагин из пакета flutter из pubspec.yml, однако в моем приложении я использую плагин google_map_flutter, который использует библиотеки поддержки AndroidX. По этой причине я добавил эти библиотеки локально с некоторыми изменениями для работы с AndroidX. Итак, структура моего приложения и pubspecs выглядит следующим образом.
Так в моем приложении pubspecs.yml
dev_dependencies:
flutter_test:
sdk: flutter
permission_handler:
path: my_permission_handler
geolocator:
path: flutter-geolocator
Мой my_permission_handler's pubspecs.yml
flutter:
plugin:
androidPackage: com.baseflow.permissionhandler
pluginClass: PermissionHandlerPlugin
Мой api_availibility's pubspec.yml
flutter:
plugin:
androidPackage: com.baseflow.googleapiavailability
pluginClass: GoogleApiAvailabilityPlugin
Pubspec.yml моего геолокатора
dependencies:
meta: "^1.0.5"
flutter:
sdk: flutter
permission_handler:
path: ../my_permission_handler
google_api_availability:
path: ../flutter-google-api-availability
Теперь, когда в одном из классов проекта я попытался импортировать класс модели из геолокации, как это
но он показывает эту ошибку . Импортированная библиотека 'package: geolocator / model / position.dart' не может иметь директиву part-of
Я понятия не имею, что я делаю не так, пожалуйста, помогите мне.
1 ответ
Сначала давайте рассмотрим код для пакета:geolocator/modles/position.dart
Это говорит part of geolocator;
в самом начале файла, означающего, что этот класс является частью плагина, который представлен в пакете файла : geolocator / like this part 'models/position.dart';
, Поэтому здесь, в вашем клиентском коде, вам не нужно импортировать класс Position таким образом.
если вы измените свой оператор импорта таким образом, ошибка исчезнет
import 'package:geolocator/geolocator.dart';
Я надеюсь, что это помогает.