导入的库 'package:geolocator/model/position.dart' 不能有部分指令

The imported library 'package:geolocator/model/position.dart' can't have a part-of directive

在我的 flutter 应用程序中,我一直在使用以下插件 permission_handler, geolocator and google_api_availibility。 我本可以从 flutter package from 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的pubspecs.yml

flutter:
 plugin:
   androidPackage: com.baseflow.permissionhandler
   pluginClass: PermissionHandlerPlugin

我的api_availibility的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

现在,在项目的 classes 之一中,我尝试从这样的地理定位器中导入模型 class

但显示此错误导入的库'package:geolocator/model/position.dart'不能有部分指令

我不知道我做错了什么,请帮助我。

首先让我们看一下 package:geolocator/modles/position.dart

的代码

它在文件的最开头说 part of geolocator; 意味着这个 class 是插件的一部分,它在文件 package:geolocator/ 像这样 part 'models/position.dart';。因此,在您的客户端代码中,您不需要以这种方式导入 class Position。

如果您以这种方式修改导入语句,错误将会消失

import 'package:geolocator/geolocator.dart';

希望对您有所帮助。