导入的库'package:geolocator/model/position.dart'不能有part-of指令

Wub*_*dub 1 cross-platform dart flutter flutter-dependencies flutter-packages

在我的flutter应用程序中,我一直在使用以下插件permission_handlergeolocatorgoogle_api_availibility我可以从pubspec.yml 的flutter 包中添加这个插件,但是,在我的应用程序中,我使用google_map_flutter插件,该插件一直在使用 AndroidX 支持库。由于这个原因,我在本地添加了这些库,并进行了一些更改以与 AndroidX 配合使用。所以我的应用程序结构和 pubspecs 看起来像这样。 在此输入图像描述

所以在我的应用程序 pubspecs.yml 中

dev_dependencies:
  flutter_test:
    sdk: flutter
permission_handler:
  path: my_permission_handler
geolocator:
  path: flutter-geolocator
Run Code Online (Sandbox Code Playgroud)

我的 my_permission_handler 的 pubspecs.yml

flutter:
 plugin:
   androidPackage: com.baseflow.permissionhandler
   pluginClass: PermissionHandlerPlugin
Run Code Online (Sandbox Code Playgroud)

我的 api_availability 的 pubspec.yml

flutter:
  plugin:
    androidPackage: com.baseflow.googleapiavailability
    pluginClass: GoogleApiAvailabilityPlugin
Run Code Online (Sandbox Code Playgroud)

我的地理定位器的 pubspec.yml

dependencies:
  meta: "^1.0.5"
  flutter:
    sdk: flutter
  permission_handler:
    path: ../my_permission_handler
  google_api_availability:
    path: ../flutter-google-api-availability
Run Code Online (Sandbox Code Playgroud)

现在,当在项目的一个类中时,我尝试从地理定位器导入模型类,如下所示 在此输入图像描述

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

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

Puc*_*dur 6

首先让我们看看包的代码:geolocator/models/position.dart

part of geolocator;在文件的开头表示,这意味着该类是插件的一部分,在文件package:geolocator/中公开,如下所示part 'models/position.dart';。因此,在您的客户端代码中,您不需要以这种方式导入 Position 类。

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

import 'package:geolocator/geolocator.dart';
Run Code Online (Sandbox Code Playgroud)

我希望它有帮助。