Импортированная библиотека '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';

Я надеюсь, что это помогает.

Другие вопросы по тегам