Wubbalubbadubdub
Wubbalubbadubdub

Reputation: 2485

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

In my flutter app I have been using these following plugin permission_handler, geolocator and google_api_availibility. I could have added this plugin from flutter package from pubspec.yml, however, in my app i am using google_map_flutter plugin which has been using AndroidX support libraries. Due this reason I have added those library locally with some changes to work with AndroidX. So my app structure and pubspecs looks like this. enter image description here

So in my app pubspecs.yml

dev_dependencies:
  flutter_test:
    sdk: flutter
permission_handler:
  path: my_permission_handler
geolocator:
  path: flutter-geolocator

My my_permission_handler's pubspecs.yml

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

My api_availibility's pubspec.yml

flutter:
  plugin:
    androidPackage: com.baseflow.googleapiavailability
    pluginClass: GoogleApiAvailabilityPlugin

My geolocator's pubspec.yml

dependencies:
  meta: "^1.0.5"
  flutter:
    sdk: flutter
  permission_handler:
    path: ../my_permission_handler
  google_api_availability:
    path: ../flutter-google-api-availability

Now when in one of the project's classes I tried to import a model class from geolocator like this enter image description here

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

I have no idea what I'm doing wrong here, please help me.

Upvotes: 1

Views: 8162

Answers (1)

PuchkaIndur
PuchkaIndur

Reputation: 114

First of let's look into the code for package:geolocator/modles/position.dart

It says part of geolocator; at the very beginning of the file meaning this class is a part of the plugin which is exposed in the file package:geolocator/ like this part 'models/position.dart';. So here in your client code you don't need to import the class Position this way.

if you modify your import statement this way the error will be gone

import 'package:geolocator/geolocator.dart';

I hope it helps.

Upvotes: 6

Related Questions