GithubHelp home page GithubHelp logo

matanshukry / flutter_google_places_sdk Goto Github PK

View Code? Open in Web Editor NEW
29.0 29.0 65.0 553 KB

Flutter plugin for google places native sdk

Kotlin 8.89% Swift 8.33% Objective-C 0.46% Dart 58.23% HTML 0.63% Ruby 2.12% CMake 9.72% C++ 10.88% C 0.74%

flutter_google_places_sdk's People

Contributors

erdnj avatar fleoparra avatar matanshukry avatar mrcsilverfox avatar picaoao avatar seelrd avatar stevenspiel avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

flutter_google_places_sdk's Issues

Calling fetchPlace using web_sdk when running in --release or --profile mode throws errors.

Using flutter_google_places_sdk_web with --release or --profile throws errors about missing functions when calling fetchPlace. I tried looking into it a bit but I don't know a lot about the js/dart interop, but it seems to have something to do with the difference in dart2js and dartdevc output.

  // this call works in debug, throws in the browser in --release or --profile
  var placeDetails =  await  googlePlaces.fetchPlace(selectedPlace!.placeId!);

Desktop-screenshot (10)



[✓] Flutter (Channel stable, 2.5.1, on Ubuntu 21.04 5.11.0-37-generic, locale en_US.UTF-8)
    • Flutter version 2.5.1 at /home/doug/fvm/versions/2.5.1
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision ffb2ecea52 (10 days ago), 2021-09-17 15:26:33 -0400
    • Engine revision b3af521a05
    • Dart version 2.14.2

[iOS] Locale doesn't work on mobile

Setting up locale in FlutterGooglePlacesSdk doesn't work for Android and iOS because I always get response in English and not in set up locale. Also, updateSettings method doesn't work on mobile.
On the WEB everything works fine.
Anyone has the same issue with mobile?

Parse Issue (Xcode): Module 'flutter_google_places_sdk_ios' not found

Lately, when I try to build a deployable version of my iOS app depending on version 0.3.2+1 of this package, I get the following error:

Parse Issue (Xcode): Module 'flutter_google_places_sdk_ios' not found
/Users/sarbogast/dev/synkro/staff/ios/Runner/GeneratedPluginRegistrant.m:35:8

I have tried everything, to flutter clean my project, deleted Pods and Podfil.lock manually, archiving directly from Xcode, and I always get the same error.

Flutter web deploy issue on aws

i implement this pacakge in flutter web but when i try to deploy on aws then it will this error appear

image

this happens when i use flutter package without version

but i am using latest version flutter_google_places_sdk:0.3.7 then this happens

image

Duplicate classes then java.lang.ExceptionInInitializerError

I've been looking for something exactly like this package. I've been using Firebase and Firestore authentication, and am looking now for an auto-suggesting address box.
The issue is on build I've gotten the following error:
Pubspec.yaml

  firebase_core: ^1.10.6
  firebase_analytics: ^9.0.4
  firebase_auth: ^3.3.4
  google_sign_in: ^5.2.1
  cloud_firestore: ^3.1.5
  uuid: ^3.0.5
  google_fonts: ^2.1.1
  flutter_google_places_sdk: ^0.3.0+1

Then this is what errors out on build:

What went wrong:
Execution failed for task ':app:checkDebugDuplicateClasses'.
A failure occurred while executing com.android.build.gradle.internal.tasks.CheckDuplicatesRunnable
Duplicate class com.google.protobuf.AbstractMessageLite found in modules jetified-protobuf-javalite-3.17.2 (com.google.protobuf:protobuf-javalite:3.17.2) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
Duplicate class com.google.protobuf.AbstractMessageLite$Builder found in modules jetified-protobuf-javalite-3.17.2 (com.google.protobuf:protobuf-javalite:3.17.2) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
Duplicate class com.google.protobuf.AbstractMessageLite$Builder$LimitedInputStream found in modules jetified-protobuf-javalite-3.17.2 (com.google.protobuf:protobuf-javalite:3.17.2) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
Duplicate class com.google.protobuf.AbstractParser found in modules jetified-protobuf-javalite-3.17.2 (com.google.protobuf:protobuf-javalite:3.17.2) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
Duplicate class com.google.protobuf.AbstractProtobufList found in modules jetified-protobuf-javalite-3.17.2 (com.google.protobuf:protobuf-javalite:3.17.2) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
Duplicate class com.google.protobuf.BooleanArrayList found in modules jetified-protobuf-javalite-3.17.2 (com.google.protobuf:protobuf-javalite:3.17.2) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
Duplicate class com.google.protobuf.ByteBufferWriter found in modules jetified-protobuf-javalite-3.17.2 (com.google.protobuf:protobuf-javalite:3.17.2) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
Duplicate class com.google.protobuf.ByteOutput found in modules jetified-protobuf-javalite-3.17.2 (com.google.protobuf:protobuf-javalite:3.17.2) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
Duplicate class com.google.protobuf.ByteString found in modules jetified-protobuf-javalite-3.17.2 (com.google.protobuf:protobuf-javalite:3.17.2) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
Duplicate class com.google.protobuf.ByteString$1 found in modules jetified-protobuf-javalite-3.17.2 (com.google.protobuf:protobuf-javalite:3.17.2) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
Duplicate class com.google.protobuf.ByteString$ArraysByteArrayCopier found in modules jetified-protobuf-javalite-3.17.2 (com.google.protobuf:protobuf-javalite:3.17.2) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
Duplicate class com.google.protobuf.ByteString$BoundedByteString found in modules jetified-protobuf-javalite-3.17.2 (com.google.protobuf:protobuf-javalite:3.17.2) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
Duplicate class com.google.protobuf.ByteString$ByteArrayCopier found in modules jetified-protobuf-javalite-3.17.2 (com.google.protobuf:protobuf-javalite:3.17.2) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
Duplicate class com.google.protobuf.ByteString$ByteIterator found in modules jetified-protobuf-javalite-3.17.2 (com.google.protobuf:protobuf-javalite:3.17.2) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
Duplicate class com.google.protobuf.ByteString$CodedBuilder found in modules jetified-protobuf-javalite-3.17.2 (com.google.protobuf:protobuf-javalite:3.17.2) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
Duplicate class com.google.protobuf.ByteString$LeafByteString found in modules jetified-protobuf-javalite-3.17.2 (com.google.protobuf:protobuf-javalite:3.17.2) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
Duplicate class com.google.protobuf.ByteString$LiteralByteString found in modules jetified-protobuf-javalite-3.17.2 (com.google.protobuf:protobuf-javalite:3.17.2) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
Duplicate class com.google.protobuf.ByteString$Output found in modules jetified-protobuf-javalite-3.17.2 (com.google.protobuf:protobuf-javalite:3.17.2) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
Duplicate class com.google.protobuf.ByteString$SystemByteArrayCopier found in modules jetified-protobuf-javalite-3.17.2 (com.google.protobuf:protobuf-javalite:3.17.2) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
Duplicate class com.google.protobuf.CodedInputStream found in modules jetified-protobuf-javalite-3.17.2 (com.google.protobuf:protobuf-javalite:3.17.2) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
Duplicate class com.google.protobuf.CodedOutputStream found in modules jetified-protobuf-javalite-3.17.2 (com.google.protobuf:protobuf-javalite:3.17.2) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
Duplicate class com.google.protobuf.CodedOutputStream$1 found in modules jetified-protobuf-javalite-3.17.2 (com.google.protobuf:protobuf-javalite:3.17.2) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
Duplicate class com.google.protobuf.CodedOutputStream$AbstractBufferedEncoder found in modules jetified-protobuf-javalite-3.17.2 (com.google.protobuf:protobuf-javalite:3.17.2) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
Duplicate class com.google.protobuf.CodedOutputStream$ArrayEncoder found in modules jetified-protobuf-javalite-3.17.2 (com.google.protobuf:protobuf-javalite:3.17.2) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
Duplicate class com.google.protobuf.CodedOutputStream$ByteOutputEncoder found in modules jetified-protobuf-javalite-3.17.2 (com.google.protobuf:protobuf-javalite:3.17.2) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
Duplicate class com.google.protobuf.CodedOutputStream$OutOfSpaceException found in modules jetified-protobuf-javalite-3.17.2 (com.google.protobuf:protobuf-javalite:3.17.2) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
Duplicate class com.google.protobuf.CodedOutputStream$OutputStreamEncoder found in modules jetified-protobuf-javalite-3.17.2 (com.google.protobuf:protobuf-javalite:3.17.2) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
Duplicate class com.google.protobuf.DoubleArrayList found in modules jetified-protobuf-javalite-3.17.2 (com.google.protobuf:protobuf-javalite:3.17.2) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1) Duplicate class com.google.protobuf.ExperimentalApi found in modules jetified-protobuf-javalite-3.17.2 (com.google.protobuf:protobuf-javalite:3.17.2) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1) Duplicate class com.google.protobuf.ExtensionLite found in modules jetified-protobuf-javalite-3.17.2 (com.google.protobuf:protobuf-javalite:3.17.2) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
Duplicate class com.google.protobuf.ExtensionRegistryFactory found in modules jetified-protobuf-javalite-3.17.2 (com.google.protobuf:protobuf-javalite:3.17.2) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
Duplicate class com.google.protobuf.ExtensionRegistryLite found in modules jetified-protobuf-javalite-3.17.2 (com.google.protobuf:protobuf-javalite:3.17.2) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
Duplicate class com.google.protobuf.ExtensionRegistryLite$ObjectIntPair found in modules jetified-protobuf-javalite-3.17.2 (com.google.protobuf:protobuf-javalite:3.17.2) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
Duplicate class com.google.protobuf.FieldSet found in modules jetified-protobuf-javalite-3.17.2 (com.google.protobuf:protobuf-javalite:3.17.2) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
Duplicate class com.google.protobuf.FieldSet$1 found in modules jetified-protobuf-javalite-3.17.2 (com.google.protobuf:protobuf-javalite:3.17.2) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
Duplicate class com.google.protobuf.FieldSet$FieldDescriptorLite found in modules jetified-protobuf-javalite-3.17.2 (com.google.protobuf:protobuf-javalite:3.17.2) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
Duplicate class com.google.protobuf.FloatArrayList found in modules jetified-protobuf-javalite-3.17.2 (com.google.protobuf:protobuf-javalite:3.17.2) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
Duplicate class com.google.protobuf.GeneratedMessageLite found in modules jetified-protobuf-javalite-3.17.2 (com.google.protobuf:protobuf-javalite:3.17.2) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
Duplicate class com.google.protobuf.GeneratedMessageLite$1 found in modules jetified-protobuf-javalite-3.17.2 (com.google.protobuf:protobuf-javalite:3.17.2) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
Duplicate class com.google.protobuf.GeneratedMessageLite$Builder found in modules jetified-protobuf-javalite-3.17.2 (com.google.protobuf:protobuf-javalite:3.17.2) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
Duplicate class com.google.protobuf.GeneratedMessageLite$DefaultInstanceBasedParser found in modules jetified-protobuf-javalite-3.17.2 (com.google.protobuf:protobuf-javalite:3.17.2) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
Duplicate class com.google.protobuf.GeneratedMessageLite$ExtendableBuilder found in modules jetified-protobuf-javalite-3.17.2 (com.google.protobuf:protobuf-javalite:3.17.2) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
Duplicate class com.google.protobuf.GeneratedMessageLite$ExtendableMessage found in modules jetified-protobuf-javalite-3.17.2 (com.google.protobuf:protobuf-javalite:3.17.2) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
Duplicate class com.google.protobuf.GeneratedMessageLite$ExtendableMessage$ExtensionWriter found in modules jetified-protobuf-javalite-3.17.2 (com.google.protobuf:protobuf-javalite:3.17.2) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
Duplicate class com.google.protobuf.GeneratedMessageLite$ExtendableMessageOrBuilder found in modules jetified-protobuf-javalite-3.17.2 (com.google.protobuf:protobuf-javalite:3.17.2) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
Duplicate class com.google.protobuf.GeneratedMessageLite$ExtensionDescriptor found in modules jetified-protobuf-javalite-3.17.2 (com.google.protobuf:protobuf-javalite:3.17.2) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
Duplicate class com.google.protobuf.GeneratedMessageLite$GeneratedExtension found in modules jetified-protobuf-javalite-3.17.2 (com.google.protobuf:protobuf-javalite:3.17.2) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
Duplicate class com.google.protobuf.GeneratedMessageLite$MethodToInvoke found in modules jetified-protobuf-javalite-3.17.2 (com.google.protobuf:protobuf-javalite:3.17.2) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
Duplicate class com.google.protobuf.GeneratedMessageLite$SerializedForm found in modules jetified-protobuf-javalite-3.17.2 (com.google.protobuf:protobuf-javalite:3.17.2) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
Duplicate class com.google.protobuf.IntArrayList found in modules jetified-protobuf-javalite-3.17.2 (com.google.protobuf:protobuf-javalite:3.17.2) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
Duplicate class com.google.protobuf.Internal found in modules jetified-protobuf-javalite-3.17.2 (com.google.protobuf:protobuf-javalite:3.17.2) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
Duplicate class com.google.protobuf.Internal$BooleanList found in modules jetified-protobuf-javalite-3.17.2 (com.google.protobuf:protobuf-javalite:3.17.2) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
Duplicate class com.google.protobuf.Internal$DoubleList found in modules jetified-protobuf-javalite-3.17.2 (com.google.protobuf:protobuf-javalite:3.17.2) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
Duplicate class com.google.protobuf.Internal$EnumLite found in modules jetified-protobuf-javalite-3.17.2 (com.google.protobuf:protobuf-javalite:3.17.2) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
Duplicate class com.google.protobuf.Internal$EnumLiteMap found in modules jetified-protobuf-javalite-3.17.2 (com.google.protobuf:protobuf-javalite:3.17.2) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
Duplicate class com.google.protobuf.Internal$FloatList found in modules jetified-protobuf-javalite-3.17.2 (com.google.protobuf:protobuf-javalite:3.17.2) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
Duplicate class com.google.protobuf.Internal$IntList found in modules jetified-protobuf-javalite-3.17.2 (com.google.protobuf:protobuf-javalite:3.17.2) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
Duplicate class com.google.protobuf.Internal$ListAdapter found in modules jetified-protobuf-javalite-3.17.2 (com.google.protobuf:protobuf-javalite:3.17.2) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
Duplicate class com.google.protobuf.Internal$ListAdapter$Converter found in modules jetified-protobuf-javalite-3.17.2 (com.google.protobuf:protobuf-javalite:3.17.2) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
Duplicate class com.google.protobuf.Internal$LongList found in modules jetified-protobuf-javalite-3.17.2 (com.google.protobuf:protobuf-javalite:3.17.2) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
Duplicate class com.google.protobuf.Internal$MapAdapter found in modules jetified-protobuf-javalite-3.17.2 (com.google.protobuf:protobuf-javalite:3.17.2) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
Duplicate class com.google.protobuf.Internal$MapAdapter$1 found in modules jetified-protobuf-javalite-3.17.2 (com.google.protobuf:protobuf-javalite:3.17.2) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
Duplicate class com.google.protobuf.Internal$MapAdapter$Converter found in modules jetified-protobuf-javalite-3.17.2 (com.google.protobuf:protobuf-javalite:3.17.2) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
Duplicate class com.google.protobuf.Internal$MapAdapter$EntryAdapter found in modules jetified-protobuf-javalite-3.17.2 (com.google.protobuf:protobuf-javalite:3.17.2) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
Duplicate class com.google.protobuf.Internal$MapAdapter$IteratorAdapter found in modules jetified-protobuf-javalite-3.17.2 (com.google.protobuf:protobuf-javalite:3.17.2) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
Duplicate class com.google.protobuf.Internal$MapAdapter$SetAdapter found in modules jetified-protobuf-javalite-3.17.2 (com.google.protobuf:protobuf-javalite:3.17.2) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
Duplicate class com.google.protobuf.Internal$ProtobufList found in modules jetified-protobuf-javalite-3.17.2 (com.google.protobuf:protobuf-javalite:3.17.2) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
Duplicate class com.google.protobuf.InvalidProtocolBufferException found in modules jetified-protobuf-javalite-3.17.2 (com.google.protobuf:protobuf-javalite:3.17.2) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
Duplicate class com.google.protobuf.LazyField found in modules jetified-protobuf-javalite-3.17.2 (com.google.protobuf:protobuf-javalite:3.17.2) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
Duplicate class com.google.protobuf.LazyField$1 found in modules jetified-protobuf-javalite-3.17.2 (com.google.protobuf:protobuf-javalite:3.17.2) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
Duplicate class com.google.protobuf.LazyField$LazyEntry found in modules jetified-protobuf-javalite-3.17.2 (com.google.protobuf:protobuf-javalite:3.17.2) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
Duplicate class com.google.protobuf.LazyField$LazyIterator found in modules jetified-protobuf-javalite-3.17.2 (com.google.protobuf:protobuf-javalite:3.17.2) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
Duplicate class com.google.protobuf.LazyFieldLite found in modules jetified-protobuf-javalite-3.17.2 (com.google.protobuf:protobuf-javalite:3.17.2) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
Duplicate class com.google.protobuf.LazyStringArrayList found in modules jetified-protobuf-javalite-3.17.2 (com.google.protobuf:protobuf-javalite:3.17.2) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
Duplicate class com.google.protobuf.LazyStringArrayList$ByteArrayListView found in modules jetified-protobuf-javalite-3.17.2 (com.google.protobuf:protobuf-javalite:3.17.2) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
Duplicate class com.google.protobuf.LazyStringArrayList$ByteStringListView found in modules jetified-protobuf-javalite-3.17.2 (com.google.protobuf:protobuf-javalite:3.17.2) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
Duplicate class com.google.protobuf.LazyStringList found in modules jetified-protobuf-javalite-3.17.2 (com.google.protobuf:protobuf-javalite:3.17.2) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
Duplicate class com.google.protobuf.LongArrayList found in modules jetified-protobuf-javalite-3.17.2 (com.google.protobuf:protobuf-javalite:3.17.2) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
Duplicate class com.google.protobuf.MapEntryLite found in modules jetified-protobuf-javalite-3.17.2 (com.google.protobuf:protobuf-javalite:3.17.2) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
Duplicate class com.google.protobuf.MapEntryLite$1 found in modules jetified-protobuf-javalite-3.17.2 (com.google.protobuf:protobuf-javalite:3.17.2) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
Duplicate class com.google.protobuf.MapEntryLite$Metadata found in modules jetified-protobuf-javalite-3.17.2 (com.google.protobuf:protobuf-javalite:3.17.2) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
Duplicate class com.google.protobuf.MapFieldLite found in modules jetified-protobuf-javalite-3.17.2 (com.google.protobuf:protobuf-javalite:3.17.2) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
Duplicate class com.google.protobuf.MessageLite found in modules jetified-protobuf-javalite-3.17.2 (com.google.protobuf:protobuf-javalite:3.17.2) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
Duplicate class com.google.protobuf.MessageLite$Builder found in modules jetified-protobuf-javalite-3.17.2 (com.google.protobuf:protobuf-javalite:3.17.2) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
Duplicate class com.google.protobuf.MessageLiteOrBuilder found in modules jetified-protobuf-javalite-3.17.2 (com.google.protobuf:protobuf-javalite:3.17.2) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
Duplicate class com.google.protobuf.MessageLiteToString found in modules jetified-protobuf-javalite-3.17.2 (com.google.protobuf:protobuf-javalite:3.17.2) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
Duplicate class com.google.protobuf.MutabilityOracle found in modules jetified-protobuf-javalite-3.17.2 (com.google.protobuf:protobuf-javalite:3.17.2) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
Duplicate class com.google.protobuf.MutabilityOracle$1 found in modules jetified-protobuf-javalite-3.17.2 (com.google.protobuf:protobuf-javalite:3.17.2) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
Duplicate class com.google.protobuf.NioByteString found in modules jetified-protobuf-javalite-3.17.2 (com.google.protobuf:protobuf-javalite:3.17.2) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
Duplicate class com.google.protobuf.NioByteString$1 found in modules jetified-protobuf-javalite-3.17.2 (com.google.protobuf:protobuf-javalite:3.17.2) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1) Duplicate class com.google.protobuf.Parser found in modules jetified-protobuf-javalite-3.17.2 (com.google.protobuf:protobuf-javalite:3.17.2) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
Duplicate class com.google.protobuf.ProtobufArrayList found in modules jetified-protobuf-javalite-3.17.2 (com.google.protobuf:protobuf-javalite:3.17.2) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
Duplicate class com.google.protobuf.ProtocolStringList found in modules jetified-protobuf-javalite-3.17.2 (com.google.protobuf:protobuf-javalite:3.17.2) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
Duplicate class com.google.protobuf.RopeByteString found in modules jetified-protobuf-javalite-3.17.2 (com.google.protobuf:protobuf-javalite:3.17.2) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
Duplicate class com.google.protobuf.RopeByteString$1 found in modules jetified-protobuf-javalite-3.17.2 (com.google.protobuf:protobuf-javalite:3.17.2) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
Duplicate class com.google.protobuf.RopeByteString$Balancer found in modules jetified-protobuf-javalite-3.17.2 (com.google.protobuf:protobuf-javalite:3.17.2) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
Duplicate class com.google.protobuf.RopeByteString$PieceIterator found in modules jetified-protobuf-javalite-3.17.2 (com.google.protobuf:protobuf-javalite:3.17.2) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
Duplicate class com.google.protobuf.RopeByteString$RopeInputStream found in modules jetified-protobuf-javalite-3.17.2 (com.google.protobuf:protobuf-javalite:3.17.2) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
Duplicate class com.google.protobuf.SmallSortedMap found in modules jetified-protobuf-javalite-3.17.2 (com.google.protobuf:protobuf-javalite:3.17.2) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
Duplicate class com.google.protobuf.SmallSortedMap$1 found in modules jetified-protobuf-javalite-3.17.2 (com.google.protobuf:protobuf-javalite:3.17.2) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
Duplicate class com.google.protobuf.SmallSortedMap$EmptySet found in modules jetified-protobuf-javalite-3.17.2 (com.google.protobuf:protobuf-javalite:3.17.2) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
Duplicate class com.google.protobuf.SmallSortedMap$EmptySet$1 found in modules jetified-protobuf-javalite-3.17.2 (com.google.protobuf:protobuf-javalite:3.17.2) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
Duplicate class com.google.protobuf.SmallSortedMap$EmptySet$2 found in modules jetified-protobuf-javalite-3.17.2 (com.google.protobuf:protobuf-javalite:3.17.2) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
Duplicate class com.google.protobuf.SmallSortedMap$Entry found in modules jetified-protobuf-javalite-3.17.2 (com.google.protobuf:protobuf-javalite:3.17.2) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
Duplicate class com.google.protobuf.SmallSortedMap$EntryIterator found in modules jetified-protobuf-javalite-3.17.2 (com.google.protobuf:protobuf-javalite:3.17.2) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
Duplicate class com.google.protobuf.SmallSortedMap$EntrySet found in modules jetified-protobuf-javalite-3.17.2 (com.google.protobuf:protobuf-javalite:3.17.2) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
Duplicate class com.google.protobuf.TextFormatEscaper found in modules jetified-protobuf-javalite-3.17.2 (com.google.protobuf:protobuf-javalite:3.17.2) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
Duplicate class com.google.protobuf.TextFormatEscaper$1 found in modules jetified-protobuf-javalite-3.17.2 (com.google.protobuf:protobuf-javalite:3.17.2) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
Duplicate class com.google.protobuf.TextFormatEscaper$2 found in modules jetified-protobuf-javalite-3.17.2 (com.google.protobuf:protobuf-javalite:3.17.2) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
Duplicate class com.google.protobuf.TextFormatEscaper$ByteSequence found in modules jetified-protobuf-javalite-3.17.2 (com.google.protobuf:protobuf-javalite:3.17.2) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
Duplicate class com.google.protobuf.UninitializedMessageException found in modules jetified-protobuf-javalite-3.17.2 (com.google.protobuf:protobuf-javalite:3.17.2) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
Duplicate class com.google.protobuf.UnknownFieldSetLite found in modules jetified-protobuf-javalite-3.17.2 (com.google.protobuf:protobuf-javalite:3.17.2) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
Duplicate class com.google.protobuf.UnmodifiableLazyStringList found in modules jetified-protobuf-javalite-3.17.2 (com.google.protobuf:protobuf-javalite:3.17.2) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
Duplicate class com.google.protobuf.UnmodifiableLazyStringList$1 found in modules jetified-protobuf-javalite-3.17.2 (com.google.protobuf:protobuf-javalite:3.17.2) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
Duplicate class com.google.protobuf.UnmodifiableLazyStringList$2 found in modules jetified-protobuf-javalite-3.17.2 (com.google.protobuf:protobuf-javalite:3.17.2) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
Duplicate class com.google.protobuf.UnsafeByteOperations found in modules jetified-protobuf-javalite-3.17.2 (com.google.protobuf:protobuf-javalite:3.17.2) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
Duplicate class com.google.protobuf.UnsafeUtil found in modules jetified-protobuf-javalite-3.17.2 (com.google.protobuf:protobuf-javalite:3.17.2) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
Duplicate class com.google.protobuf.UnsafeUtil$1 found in modules jetified-protobuf-javalite-3.17.2 (com.google.protobuf:protobuf-javalite:3.17.2) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
Duplicate class com.google.protobuf.Utf8 found in modules jetified-protobuf-javalite-3.17.2 (com.google.protobuf:protobuf-javalite:3.17.2) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
Duplicate class com.google.protobuf.Utf8$Processor found in modules jetified-protobuf-javalite-3.17.2 (com.google.protobuf:protobuf-javalite:3.17.2) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
Duplicate class com.google.protobuf.Utf8$SafeProcessor found in modules jetified-protobuf-javalite-3.17.2 (com.google.protobuf:protobuf-javalite:3.17.2) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
Duplicate class com.google.protobuf.Utf8$UnpairedSurrogateException found in modules jetified-protobuf-javalite-3.17.2 (com.google.protobuf:protobuf-javalite:3.17.2) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
Duplicate class com.google.protobuf.Utf8$UnsafeProcessor found in modules jetified-protobuf-javalite-3.17.2 (com.google.protobuf:protobuf-javalite:3.17.2) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
Duplicate class com.google.protobuf.WireFormat found in modules jetified-protobuf-javalite-3.17.2 (com.google.protobuf:protobuf-javalite:3.17.2) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
Duplicate class com.google.protobuf.WireFormat$1 found in modules jetified-protobuf-javalite-3.17.2 (com.google.protobuf:protobuf-javalite:3.17.2) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
Duplicate class com.google.protobuf.WireFormat$FieldType found in modules jetified-protobuf-javalite-3.17.2 (com.google.protobuf:protobuf-javalite:3.17.2) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
Duplicate class com.google.protobuf.WireFormat$FieldType$1 found in modules jetified-protobuf-javalite-3.17.2 (com.google.protobuf:protobuf-javalite:3.17.2) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
Duplicate class com.google.protobuf.WireFormat$FieldType$2 found in modules jetified-protobuf-javalite-3.17.2 (com.google.protobuf:protobuf-javalite:3.17.2) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
Duplicate class com.google.protobuf.WireFormat$FieldType$3 found in modules jetified-protobuf-javalite-3.17.2 (com.google.protobuf:protobuf-javalite:3.17.2) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
Duplicate class com.google.protobuf.WireFormat$FieldType$4 found in modules jetified-protobuf-javalite-3.17.2 (com.google.protobuf:protobuf-javalite:3.17.2) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
Duplicate class com.google.protobuf.WireFormat$JavaType found in modules jetified-protobuf-javalite-3.17.2 (com.google.protobuf:protobuf-javalite:3.17.2) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
Duplicate class com.google.protobuf.WireFormat$Utf8Validation found in modules jetified-protobuf-javalite-3.17.2 (com.google.protobuf:protobuf-javalite:3.17.2) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
Duplicate class com.google.protobuf.WireFormat$Utf8Validation$1 found in modules jetified-protobuf-javalite-3.17.2 (com.google.protobuf:protobuf-javalite:3.17.2) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
Duplicate class com.google.protobuf.WireFormat$Utf8Validation$2 found in modules jetified-protobuf-javalite-3.17.2 (com.google.protobuf:protobuf-javalite:3.17.2) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
Duplicate class com.google.protobuf.WireFormat$Utf8Validation$3 found in modules jetified-protobuf-javalite-3.17.2 (com.google.protobuf:protobuf-javalite:3.17.2) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)`

I can get past this error temporarily by adding the following to my build.gradle file:
configurations { implementation.exclude module:'protobuf-lite' }

When I use the textbox I created, the following error throws after around 15 seconds, crashing the app:

E/AndroidRuntime( 9636): FATAL EXCEPTION: pool-7-thread-1
E/AndroidRuntime( 9636): Process: PROCESS NAME, PID: 9636
E/AndroidRuntime( 9636): java.lang.ExceptionInInitializerError
E/AndroidRuntime( 9636): at com.google.android.datatransport.cct.a.zze.zzb(com.google.android.datatransport:transport-backend-cct@@2.1.0:1)
E/AndroidRuntime( 9636): at com.google.android.datatransport.cct.zzc.send(com.google.android.datatransport:transport-backend-cct@@2.1.0:9)
E/AndroidRuntime( 9636): at com.google.android.datatransport.runtime.scheduling.jobscheduling.Uploader.logAndUpdateState(com.google.android.datatransport:transport-runtime@@2.1.0:121)
E/AndroidRuntime( 9636): at com.google.android.datatransport.runtime.scheduling.jobscheduling.Uploader.lambda$upload$1(com.google.android.datatransport:transport-runtime@@2.1.0:88)
E/AndroidRuntime( 9636): at com.google.android.datatransport.runtime.scheduling.jobscheduling.Uploader$$Lambda$1.run(Unknown Source:8)
E/AndroidRuntime( 9636): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
E/AndroidRuntime( 9636): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
E/AndroidRuntime( 9636): at java.lang.Thread.run(Thread.java:919)
E/AndroidRuntime( 9636): Caused by: java.lang.RuntimeException: Unable to get message info for com.google.android.datatransport.cct.a.zze
E/AndroidRuntime( 9636): at com.google.protobuf.GeneratedMessageInfoFactory.messageInfoFor(GeneratedMessageInfoFactory.java:62)
E/AndroidRuntime( 9636): at com.google.protobuf.ManifestSchemaFactory$CompositeMessageInfoFactory.messageInfoFor(ManifestSchemaFactory.java:143)
E/AndroidRuntime( 9636): at com.google.protobuf.ManifestSchemaFactory.createSchema(ManifestSchemaFactory.java:55)
E/AndroidRuntime( 9636): at com.google.protobuf.Protobuf.schemaFor(Protobuf.java:90)
E/AndroidRuntime( 9636): at com.google.protobuf.Protobuf.schemaFor(Protobuf.java:104)
E/AndroidRuntime( 9636): at com.google.protobuf.GeneratedMessageLite.makeImmutable(GeneratedMessageLite.java:175)
E/AndroidRuntime( 9636): at com.google.android.datatransport.cct.a.zze.(com.google.android.datatransport:transport-backend-cct@@2.1.0:2)
E/AndroidRuntime( 9636): ... 8 more
E/AndroidRuntime( 9636): Caused by: java.lang.UnsupportedOperationException
E/AndroidRuntime( 9636): at com.google.android.datatransport.cct.a.zze.dynamicMethod(com.google.android.datatransport:transport-backend-cct@@2.1.0:2)
E/AndroidRuntime( 9636): at com.google.protobuf.GeneratedMessageLite.dynamicMethod(GeneratedMessageLite.java:256)
E/AndroidRuntime( 9636): at com.google.protobuf.GeneratedMessageLite.buildMessageInfo(GeneratedMessageLite.java:286)
E/AndroidRuntime( 9636): at com.google.protobuf.GeneratedMessageInfoFactory.messageInfoFor(GeneratedMessageInfoFactory.java:60)
E/AndroidRuntime( 9636): ... 14 more
I/Process ( 9636): Sending signal. PID: 9636 SIG: 9
Lost connection to device.`

I'm pretty sure it is due to some versioning issues.

Flutter Web | Places Autocomplete Error | Expected a value of type 'Object', but got one of type 'Null'

Hi, and thank you for this package!

I have both places api and maps api enabled. I am on flutter 3.0.3.

After running the following line:
final response = await places.findAutocompletePredictions("place");
I get the error in the console. The error is the following:

FlutterGooglePlacesSdk::call error: Expected a value of type 'Object', but got one of type 'Null'
Error: Expected a value of type 'Object', but got one of type 'Null'
at Object.throw_ [as throw] (http://localhost:39703/dart_sdk.js:5080:11)
at Object.castError (http://localhost:39703/dart_sdk.js:5039:15)
at Object.cast [as as] (http://localhost:39703/dart_sdk.js:5356:17)
at Function.as (http://localhost:39703/dart_sdk.js:6603:31)
at Object.callMethod$ [as callMethod] (http://localhost:39703/dart_sdk.js:62331:14)
at Object.AutocompleteService$36Ext$124getPlacePredictions [as AutocompleteService$Ext|getPlacePredictions] (http://localhost:39703/packages/google_maps/src/generated/google_maps_places.js.g.dart.lib.js:782:107)
at flutter_google_places_sdk_web.FlutterGooglePlacesSdkWebPlugin.new.findAutocompletePredictions (http://localhost:39703/packages/flutter_google_places_sdk_web/flutter_google_places_sdk_web.dart.lib.js:337:94)
at findAutocompletePredictions.next ()
at http://localhost:39703/dart_sdk.js:40641:33
at _RootZone.runUnary (http://localhost:39703/dart_sdk.js:40511:59)
at _FutureListener.thenAwait.handleValue (http://localhost:39703/dart_sdk.js:35438:29)
at handleValueCallback (http://localhost:39703/dart_sdk.js:35999:49)
at Function._propagateToListeners (http://localhost:39703/dart_sdk.js:36037:17)
at async._AsyncCallbackEntry.new.callback (http://localhost:39703/dart_sdk.js:35753:27)
at Object._microtaskLoop (http://localhost:39703/dart_sdk.js:40778:13)
at _startMicrotaskLoop (http://localhost:39703/dart_sdk.js:40784:13)
at http://localhost:39703/dart_sdk.js:36261:9

Does anybody know why this is happening and the way to resolve it?

Feature Request: Add iOS Support

Hello @matanshukry ,
I loved the rational behind the package and believe this also solves the CORS issue on Flutter Web, right?
Anyway, my Flutter app is rolling out for Android, iOS and the web. Is there any chance iOS support will be added soon? I have no experience with iOS development nor Flutter platform channels so I'm afraid I wouldn't be able to help.

[FeatureRequest] fetchPlace on MacOS

Hello, first of all, thanks for your outstanding contributions to the open source.

But I have a question / feature request.

Any reason why fetchPlace is not implemented in flutter_google_places_sdk_http.dart?

  @override
  Future<inter.FetchPlaceResponse> fetchPlace(
    String placeId, {
    List<inter.PlaceField>? fields,
    bool? newSessionToken,
  }) async {
    throw UnimplementedError();
  }

FlutterGooglePlacesSdk::call error: UnimplementedError: initialize() has not been implemented.

This is my current code:
final FlutterGooglePlacesSdk _places = FlutterGooglePlacesSdk(FlavorConfig().googlePlacesApiKey);

 FindAutocompletePredictionsResponse res =
        await _places.findAutocompletePredictions(_searchText);
    print(res);
    setState(() {
      _predictions = res.predictions;
    });```

When I type a text in the TextField to request the predictions, the package is returning this error: 
`FlutterGooglePlacesSdk::call error: UnimplementedError: initialize() has not been implemented.`

Flutter Web: You have included the Google Maps JavaScript API multiple times on this page. This may cause unexpected errors.

When I define my <script src="https://maps.googleapis.com/maps/api/js?key=apiKey"></script> in web/index.html to show Google Map on screen and everything work as expect but when I call a function to search place that use your package it's will show "You have included the Google Maps JavaScript API multiple times on this page. This may cause unexpected errors." and then I can't use my moveCamera function at all (It's work before I calling findAutocompletePredictions function). But when I use hot reload in android studio everything works without an error but stop and run will make it happen again

Screenshot 2022-06-09 151153

Second error is when I call moveCamera Function after calling findAutocompletePredictions Function
Sorry for my bad English I hope you can help me.
Thank You.

Android: API_ERROR_AUTOCOMPLETE, 9011: This IP, site or mobile application is not authorized to use this API key.

This issue is only present on Android. My API key is restricted to my app's package name and SHA-1 certificate. I'm receiving this error:

FlutterGooglePlacesSdk::call error: PlatformException(API_ERROR_AUTOCOMPLETE, 9011: This IP, site or mobile application is not authorized to use this API key. Request received from IP address *********, with empty referer, {type: class com.google.android.gms.common.api.ApiException}, null)

Same problem here, but the user marked as completed without info on how it was fixed.

Issue null cannot be cast to non-null type kotlin.String

Hi

On android seems to have an issue. Used with physical phone

To reproduce
https://github.com/matanshukry/flutter_google_places_sdk/tree/master/flutter_google_places_sdk/example

E/MethodChannel#plugins.msh.com/flutter_google_places_sdk(32468): Failed to handle method call
E/MethodChannel#plugins.msh.com/flutter_google_places_sdk(32468): java.lang.NullPointerException: null cannot be cast to non-null type kotlin.String
E/MethodChannel#plugins.msh.com/flutter_google_places_sdk(32468): 	at com.msh.flutter_google_places_sdk.FlutterGooglePlacesSdkPlugin.readLocale(FlutterGooglePlacesSdkPlugin.kt:406)
E/MethodChannel#plugins.msh.com/flutter_google_places_sdk(32468): 	at com.msh.flutter_google_places_sdk.FlutterGooglePlacesSdkPlugin.onMethodCall(FlutterGooglePlacesSdkPlugin.kt:47)
E/MethodChannel#plugins.msh.com/flutter_google_places_sdk(32468): 	at io.flutter.plugin.common.MethodChannel$IncomingMethodCallHandler.onMessage(MethodChannel.java:262)
E/MethodChannel#plugins.msh.com/flutter_google_places_sdk(32468): 	at io.flutter.embedding.engine.dart.DartMessenger.invokeHandler(DartMessenger.java:295)
E/MethodChannel#plugins.msh.com/flutter_google_places_sdk(32468): 	at io.flutter.embedding.engine.dart.DartMessenger.lambda$dispatchMessageToQueue$0$io-flutter-embedding-engine-dart-DartMessenger(DartMessenger.java:319)
E/MethodChannel#plugins.msh.com/flutter_google_places_sdk(32468): 	at io.flutter.embedding.engine.dart.DartMessenger$$ExternalSyntheticLambda0.run(Unknown Source:12)
E/MethodChannel#plugins.msh.com/flutter_google_places_sdk(32468): 	at android.os.Handler.handleCallback(Handler.java:883)
E/MethodChannel#plugins.msh.com/flutter_google_places_sdk(32468): 	at android.os.Handler.dispatchMessage(Handler.java:100)
E/MethodChannel#plugins.msh.com/flutter_google_places_sdk(32468): 	at android.os.Looper.loop(Looper.java:214)
E/MethodChannel#plugins.msh.com/flutter_google_places_sdk(32468): 	at android.app.ActivityThread.main(ActivityThread.java:7397)
E/MethodChannel#plugins.msh.com/flutter_google_places_sdk(32468): 	at java.lang.reflect.Method.invoke(Native Method)
E/MethodChannel#plugins.msh.com/flutter_google_places_sdk(32468): 	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492)
E/MethodChannel#plugins.msh.com/flutter_google_places_sdk(32468): 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:935)

[iOS] Google Places -> Add arm64 support?

When compiling for ARM64 simulator (used with m1 Mac), the pod install fails because this package, I think, relies on Google Places pod which doesn't support ARM64. As a workaround, I could change my iOS app project's architecture I think but that's more of a temporarily workaround instead of a solution.

Is this an issue that can be resolved or do we need to open/find a PR at Google Places iOS package?

Logs:

Error (Xcode): Building for iOS Simulator, but linking in object file built for iOS, file '<path_to_flutter_project>/ios/Pods/GooglePlaces/Frameworks/GooglePlaces.framework/GooglePlaces' for architecture arm64

Could not build the application for the simulator.
Error launching application on iPhone 12 Pro.

I've found this PR with a comment that explains what is happening with Google Places:
googlemaps/google-maps-ios-utils#355 (comment)

That comment basically says that its not possible when using Google Places plugin from Cocoapods, but there are 2 other ways to get a beta version of this Google Places plugin installed that supports ARM64 natively with XCFramework:
https://developers.google.com/maps/documentation/ios-sdk/config#download-sdk

I guess it has nothing to do with @matanshukry's package, more of a Google Places issue 👎 . Any thoughts?

[Web] Changing the locale of FlutterGooglePlacesSdk doesn't work

Hi,

Users can change the locale of our app. When that happens, we make a new call to:
FlutterGooglePlacesSdk('keyXXX', locale: Get.locale)

The problem with flutter_google_places_sdk_web is that FlutterGooglePlacesSdkWebPlugin is a singleton and locale is only considered the first time locale is passed.

For subsequent instantiations of FlutterGooglePlacesSdk with different locales to the original one, those locales get ignored.

Thanks.

Web Errors/Exceptions cannot be caught when using parent plugin

First of all, thank you very much for this package which actually works for Flutter Web, it should be ranked much higher when searching in pub.dev.

When using the parent plugin flutter_google_places_sdk in a web platform (Flutter web project) it seems it is not possible to correctly catch errors/exceptions that are thrown at lower levels of the code. Although they are caught, the execution stops.

// The underlying Google Places API SDK using an invalid API key.
final FlutterGooglePlacesSdk googlePlacesApi = new FlutterGooglePlacesSdk("");

try {
      // Get the query response.
      print("Launching autocomplete query...");
      final FindAutocompletePredictionsResponse response = await googlePlacesApi.findAutocompletePredictions(
        input,
        countries: ['it'],
        placeTypeFilter: sdk.PlaceTypeFilter.ADDRESS,
      );
} catch (e) {
      print("Autocomplete query response FAILED");

      final String error = e.toString();
      if (error.contains('INVALID_REQUEST')) {
        // Indicate the API request was malformed, generally due to the missing input.
        print("Autocomplete API request was malformed");
      } else if (error.contains('OVER_QUERY_LIMIT')) {
        // Indicate exceeded the QPS limits or billing not enabled or a self-imposed usage cap exceeded, ...
        print("Autocomplete API query limit exceeded");
      } else if (error.contains('REQUEST_DENIED')) {
        // Indicate the request has been denied because API key is invalid.
        print("Autocomplete API key is invalid");
      } else {
        print("UNKNOWN error <$e>");
      }
}

Launching the following error:

You must use an API key to authenticate each request to Google Maps Platform APIs. For additional information, please refer to http://g.co/dev/maps-no-account For more information on authentication and Google Maps JavaScript API services please see: https://developers.google.com/maps/documentation/javascript/get-api-key
FlutterGooglePlacesSdk::call error: MapsRequestError: PLACES_AUTOCOMPLETE: REQUEST_DENIED: The application is not allowed to use the Place Service.
Error: MapsRequestError: PLACES_AUTOCOMPLETE: REQUEST_DENIED: The application is not allowed to use the Place Service.


    at Object.createErrorWithStack (http://localhost:45563/dart_sdk.js:5076:12)
    at Object._rethrow (http://localhost:45563/dart_sdk.js:40477:16)
    at async._AsyncCallbackEntry.new.callback (http://localhost:45563/dart_sdk.js:40473:13)
    at Object._microtaskLoop (http://localhost:45563/dart_sdk.js:40330:13)
    at _startMicrotaskLoop (http://localhost:45563/dart_sdk.js:40336:13)
    at http://localhost:45563/dart_sdk.js:35811:9

While the equivalent code can be correctly executed when directly using the flutter_google_places_web package. The error is caught and the code execution continuous normally.

// The underlying Google Places Web API SDK initialized using an invalid API key.
final FlutterGooglePlacesSdkWebPlugin googlePlacesWebApi = new FlutterGooglePlacesSdkWebPlugin();
googlePlacesApi.initialize("");

try {
      // Get the query response.
      print("Launching autocomplete query...");
      final FindAutocompletePredictionsResponse response = await googlePlacesWebApi.findAutocompletePredictions(
        input,
        countries: ['it'],
        placeTypeFilter: sdk.PlaceTypeFilter.ADDRESS,
      );
} catch (e) {
      print("Autocomplete query response FAILED");

      final String error = e.toString();
      if (error.contains('INVALID_REQUEST')) {
        // Indicate the API request was malformed, generally due to the missing input.
        print("Autocomplete API request was malformed");
      } else if (error.contains('OVER_QUERY_LIMIT')) {
        // Indicate exceeded the QPS limits or billing not enabled or a self-imposed usage cap exceeded, ...
        print("Autocomplete API query limit exceeded");
      } else if (error.contains('REQUEST_DENIED')) {
        // Indicate the request has been denied because API key is invalid.
        print("Autocomplete API key is invalid");
      } else {
        print("UNKNOWN error <$e>");
      }
}

[BUG] `placeTypesFilter` parameter not working in `findAutocompletePredictions`

I make the following call, but the results I am getting are not only the REGIONS. I am getting all the businesses as cafes as well.

_places.findAutocompletePredictions(
        searchQuery.text,
        countries: ['ch'],
        placeTypesFilter: [PlaceTypeFilter.REGIONS],
      )

Tested on iOS simulator. I tried putting GEOCODE and CITIES, but I got all the results regardless.

I saw that this enum is deprecated, but there is no alternative option in this Flutter package.

Getting internal error when fetching Place

I get the list of predictions successfully but when I try to fetch a place, I get an internal error.

Unhandled Exception: PlatformException(API_ERROR, The operation couldn’t be completed. An internal error occurred in the Places SDK library. If you believe this error represents a bug, please file a report using the instructions on our community and support page (https://developers.google.com/places/ios-sdk/support)., null, null)

Thanks

Error saying package has missing methods

I've used this package on another project a few months ago and has been working perfectly fine. Now that I've started a new project and wanted to import the code I wrote on the older one, the app crashes on startup. I've tried starting brand new clear projects with just this package installed and I still get the same error. I've asked my colleague to do the same, and he gets the same error.

image

This is what I have inside the package:

image

[iOS] Another crash on iOS

My flutter code:

static final FlutterGooglePlacesSdk googlePlacesSdk = FlutterGooglePlacesSdk('my-api-key');
final FindAutocompletePredictionsResponse response = await googlePlacesSdk.findAutocompletePredictions(
  'query-string',
  countries: <String>['de'],
  placeTypeFilter: PlaceTypeFilter.ADDRESS,
);

The following exception occurs and the app crashes:

2023-06-13 14:25:20.651729+0200 Runner[82021:4159105] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSCFBoolean objectForKey:]: unrecognized selector sent to instance 0x1165005e0'
*** First throw call stack:
(
	0   CoreFoundation                      0x000000011610278b __exceptionPreprocess + 242
	1   libobjc.A.dylib                     0x00000001115cdb73 objc_exception_throw + 48
	2   CoreFoundation                      0x00000001161118c4 +[NSObject(NSObject) instanceMethodSignatureForSelector:] + 0
	3   CoreFoundation                      0x0000000116106c66 ___forwarding___ + 1443
	4   CoreFoundation                      0x0000000116108e08 _CF_forwarding_prep_0 + 120
	5   Runner                              0x0000000104e78298 __51+[GMPx_GTMSessionFetcher appAllowsInsecureRequests]_block_invoke + 97
	6   libdispatch.dylib                   0x0000000112af37ec _dispatch_client_callout + 8
	7   libdispatch.dylib                   0x0000000112af4e85 _dispatch_once_callout + 66
	8   Runner                              0x0000000104e78235 +[GMPx_GTMSessionFetcher appAllowsInsecureRequests] + 41
	9   Runner                              0x0000000104e78c14 -[GMPx_GTMSessionFetcher beginFetchMayDelay:mayAuthorize:mayDecorate:] + 751
	10  Runner                              0x0000000104dde8a9 -[GMSPabloClient fetchRequest:callback:] + 150
	11  Runner                              0x0000000104ddc28d -[GMSPabloClient fetchAutocompletePredictionsForQuery:filter:sessionToken:requestSource:callback:] + 175
	12  Runner                              0x0000000104de80e5 -[GMSPlacesClient fetchAutocompletePredictionsForQuery:filter:sessionToken:requestSource:callback:] + 346
	13  Runner                              0x0000000104de7f85 -[GMSPlacesClient findAutocompletePredictionsFromQuery:filter:sessionToken:callback:] + 32
	14  Runner                              0x0000000104f06707 $s29flutter_google_places_sdk_ios36SwiftFlutterGooglePlacesSdkIosPluginC6handle_6resultySo0G10MethodCallC_yypSgctF + 6183
	15  Runner                              0x0000000104f09296 $s29flutter_google_places_sdk_ios36SwiftFlutterGooglePlacesSdkIosPluginC6handle_6resultySo0G10MethodCallC_yypSgctFTo + 118
	16  Flutter                             0x000000011b725d3d __45-[FlutterMethodChannel setMethodCallHandler:]_block_invoke + 168
	17  Flutter                             0x000000011acb9748 ___ZN7flutter25PlatformMessageHandlerIos21HandlePlatformMessageENSt21_LIBCPP_ABI_NAMESPACE10unique_ptrINS_15PlatformMessageENS1_14default_deleteIS3_EEEE_block_invoke + 94
	18  libdispatch.dylib                   0x0000000112af254f _dispatch_call_block_and_release + 12
	19  libdispatch.dylib                   0x0000000112af37ec _dispatch_client_callout + 8
	20  libdispatch.dylib                   0x0000000112b046e2 _dispatch_main_queue_drain + 1462
	21  libdispatch.dylib                   0x0000000112b0411e _dispatch_main_queue_callback_4CF + 31
	22  CoreFoundation                      0x00000001160606cc __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ + 9
	23  CoreFoundation                      0x000000011605afbe __CFRunLoopRun + 2429
	24  CoreFoundation                      0x000000011605a264 CFRunLoopRunSpecific + 560
	25  GraphicsServices                    0x000000011ac6524e GSEventRunModal + 139
	26  UIKitCore                           0x000000012fc9c7bf -[UIApplication _run] + 994
	27  UIKitCore                           0x000000012fca15de UIApplicationMain + 123
	28  Runner                              0x0000000104ace96f main + 63
	29  dyld                                0x000000010e09e384 start_sim + 10
	30  ???                                 0x0000000205d6041f 0x0 + 8687846431
)
libc++abi: terminating due to uncaught exception of type NSException
Message from debugger: Terminated due to signal 6

I have seen #7 and tried setting newSessionToken to true or false, same error.

AutocompletionRequest is missing a few params

AutocompletionRequest is missing a few params, I added them in because I needed to restrict the search. I also modified findPlaces to pass these params down to the AutocompletionRequest.

I would do a pull request but I have no idea if it is the right way to fix the problem, I just know it works :).

@JS('google.maps.places')
library places;

import 'package:js/js.dart';

/// google.maps.places.AutocompletionRequest interface
///
/// Ref: https://developers.google.com/maps/documentation/javascript/reference/places-autocomplete-service#AutocompletionRequest
@JS()
@anonymous
class AutocompletionRequest {
  /// Create an AutocompletionRequest

  // added in types and componentRestrictions params
  external factory AutocompletionRequest({String input,List<String> types, ComponentRestrictions componentRestrictions});

  /// The user entered input string.
  external String get input;
 // I added these
  external List<String> get types;
  external ComponentRestrictions get componentRestrictions;
}


// Added component restrictions class.
@JS()
@anonymous
class ComponentRestrictions {
  external factory ComponentRestrictions();
  external Object get country;
  external  void set country(Object country);

}

Upgrade Gradle plugin

Latest Flutter version demands an upgrade in the Gradle plugin version, otherwise the plugin will hold up the build process.

I have implemented a quick fix, but it requires a new release of the Android plugin and the core plugin.

Crash on iOS

Thanks a lot for this awesome plugin!
Sadly i get a crash on iOS when I try to get autocomplete predictions.
The app immediately shuts down. I made sure that the key works, this cannot be the problem.
Do you have any idea?
Thanks!

Output:
Could not cast value of type 'NSNull' (0x2013b71a8) to 'NSNumber' (0x2013b78b8).

  • thread #1, queue = 'com.apple.main-thread', stop reason = signal SIGABRT
    frame #0: 0x00000001dac777b0 libsystem_kernel.dylib__pthread_kill + 8 libsystem_kernel.dylib__pthread_kill:
    -> 0x1dac777b0 <+8>: b.lo 0x1dac777cc ; <+36>
    0x1dac777b4 <+12>: stp x29, x30, [sp, #-0x10]!
    0x1dac777b8 <+16>: mov x29, sp
    0x1dac777bc <+20>: bl 0x1dac541fc ; cerror_nocancel
    Target 0: (Runner) stopped.
    Lost connection to device.

Export flutter_google_places_sdk_platform_interface package

Thank you for this package. The only issue currently is that the models used by the package are defined in the platform interface package, but since they are not exported in the main package they must be manually imported every time because the dart linter cannot find them. Thanks!

[Android] get warning 'toUpperCase(Locale): String' is deprecated

Warning when i run my app with this package on android:
/Users/******/.pub-cache/hosted/pub.dartlang.org/flutter_google_places_sdk_android-0.1.2+3/android/src/main/kotlin/com/msh/flutter_google_places_sdk/FlutterGooglePlacesSdkPlugin.kt:182:49: warning: 'toUpperCase(Locale): String' is deprecated. Use uppercase() instead.
val typeFilterStrUpper = typeFilterStr?.toUpperCase(Locale.getDefault())

thank you

Feature request: language option

Hello,

First of all, thank you for building this plugin, the only one I found working correctly for web.

I wonder if you would consider adding a language option in one of the next releases ?

I thought about contributing a PR, but I think one would be needed for each of the platforms, so it might be easier to add it with other planned changes.

Bests,
Sylvain

[iOS] Viewport is null on iOS

Hello,

I need some help. For me on iOS viewport is returning null. Am I doing something wrong?

final List fields = [
PlaceField.Viewport,
PlaceField.Location,
];
FetchPlaceResponse response = await _places.fetchPlace(placeId, fields: fields);

Thank you for your help!

Invalid request(Android)

I'm getting an invalid request whenever I use [PlacesTypesFilter.CITIES] as the filter on v0.3.6

Please check the error below

I/flutter (19910): FlutterGooglePlacesSdk._callMethod (package:flutter_google_places_sdk/flutter_google_places_sdk.dart:64:12)

findAutoCompletePredictions Exception: com.google.android.gms.common.api.ApiException: 9012: INVALID_REQUEST[OkHttp] sendRequest>>

[iOS] Allow to provide multiple type filters for autocomplete search

[iOS] Implement updateSettings

updateSettings is an interface method that can be used to update the settings (api key & locale) after the 1st initialization.

[Feature Request] Current place ios/android

I looked in the package and didn't find the current place, any scenario for implementation? My application implements search by address, but I need the current place for the address in user coordinates.

Missing ID Field on Place Object Despite Being Listed in PlaceField Enum

While using the flutter_google_places_sdk plugin, I noticed that the PlaceField enum lists an Id option. However, the Place object doesn't seem to have a corresponding ID field.

Code Snippets

The PlaceField enum includes an Id:

enum PlaceField {
  Address,
  AddressComponents,
  BusinessStatus,
  Id,
  @JsonValue('LAT_LNG') Location,
  // ... rest of the fields
}

The Place object definition doesn't have a field for ID:

@freezed
class Place with _$Place {
  const factory Place({
    required String? address,
    required List<AddressComponent>? addressComponents,
    // ... rest of the fields
  }) = _Place;
}

Suggested Solution

To make the API consistent, it would be beneficial to include an ID field in the Place class. This would align with the options available in PlaceField enum.

Error while fetching Place (v0.3.5)

Description:
I'm encountering a type mismatch error when trying to parse the API response from the Google Places SDK using the FlutterGooglePlacesSdk package. The error message indicates that a type _Map<Object?, Object?> is not a subtype of Map<String, dynamic> in a type cast. This error occurs when i'm calling fetchPlace(placeId,fields: []) function.

Flutter Version: 3.10.2
FlutterGooglePlacesSdk Version: 0.3.5
Platform: iOS/Android/Web
Error Message:
flutter: FlutterGooglePlacesSdk::call error: type '_Map<Object?, Object?>' is not a subtype of type 'Map<String, dynamic>' in type cast
[VERBOSE-2:dart_vm_initializer.cc(41)] Unhandled Exception: type '_Map<Object?, Object?>' is not a subtype of type 'Map<String, dynamic>' in type cast
#0 _$$_PlaceFromJson (package:flutter_google_places_sdk_platform_interface/src/types/place.g.dart:21:44)
#1 new _$_Place.fromJson (package:flutter_google_places_sdk_platform_interface/src/types/place.freezed.dart:391:7)
#2 _$PlaceFromJson (package:flutter_google_places_sdk_platform_interface/src/types/place.freezed.dart:18:17)
#3 new Place.fromJson (package:flutter_google_places_sdk_platform_interface/src/types/place.dart:45:7)
#4 FlutterGooglePlacesSdkMethodChannel._responseFromPlaceDetails (package:flutter_google_places_sdk_platform_interface/method_channel_flutter_google_places_sdk.dart:106:38)

#5 FlutterGooglePlacesSdk._callMethod (package:flutter_google_places_sdk/flutter_google_places_sdk.dart:88:12)

I was using 0.3.2+9 version and everything was working fine few days ago.

Accessing place photos (flutter web in chrome with flutter_google_places_sdk: ^0.3.0+1)

It seems that the photo metadata are incomplete

var response = await this.googlePlace.fetchPlace(placeId, fields: [
        PlaceField.PhotoMetadatas,
]);
for (var photo in resonce.place!.photoMetadatas!) {
        print(photo);
}
// PhotoMetadata{attributions: <a href="https://maps.google.com/maps/contrib/104830505324877229444">Instinct Origine</a>, width: 2316, height: 2048}
// PhotoMetadata{attributions: <a href="https://maps.google.com/maps/contrib/104830505324877229444">Instinct Origine</a>, width: 4200, height: 3360}
// PhotoMetadata{attributions: <a href="https://maps.google.com/maps/contrib/104830505324877229444">Instinct Origine</a>, width: 2991, height: 3769}

The medata only contains the link to the contrib page.
I was expecting the url to the images. I am missing something ?

Thank you for your lib

[web]: session token is never used

I noticed that the web implementation does not use the session token.
The _lastSessionToken is declared optional but it is never used. Also there is no getSessionToken method to check the whether the session should be reset (this method is included in the iOS and Android implementations).

[BUG] PlusCode can be null

Experiencing this unhandled exception when requesting details of some places with plusCode and the Places API doesn't provide plus code information:

E/flutter (28807): [ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: type 'Null' is not a subtype of type 'String' in type cast
E/flutter (28807): #0      _$$_PlusCodeFromJson (package:flutter_google_places_sdk_platform_interface/src/types/plus_code.g.dart:10:42)
E/flutter (28807): #1      new _$_PlusCode.fromJson (package:flutter_google_places_sdk_platform_interface/src/types/plus_code.freezed.dart:115:7)
E/flutter (28807): #2      _$PlusCodeFromJson (package:flutter_google_places_sdk_platform_interface/src/types/plus_code.freezed.dart:18:20)
E/flutter (28807): #3      new PlusCode.fromJson (package:flutter_google_places_sdk_platform_interface/src/types/plus_code.dart:22:7)
E/flutter (28807): #4      _$$_PlaceFromJson (package:flutter_google_places_sdk_platform_interface/src/types/place.g.dart:37:22)
E/flutter (28807): #5      new _$_Place.fromJson (package:flutter_google_places_sdk_platform_interface/src/types/place.freezed.dart:405:7)
E/flutter (28807): #6      _$PlaceFromJson (package:flutter_google_places_sdk_platform_interface/src/types/place.freezed.dart:18:17)
E/flutter (28807): #7      new Place.fromJson (package:flutter_google_places_sdk_platform_interface/src/types/place.dart:46:7)
E/flutter (28807): #8      FlutterGooglePlacesSdkMethodChannel._responseFromPlaceDetails (package:flutter_google_places_sdk_platform_interface/method_channel_flutter_google_places_sdk.dart:106:38)
E/flutter (28807): <asynchronous suspension>
E/flutter (28807): #9      FlutterGooglePlacesSdk._callMethod (package:flutter_google_places_sdk/flutter_google_places_sdk.dart:64:12)
E/flutter (28807): <asynchronous suspension>
E/flutter (28807): ...

Re-produce example:

  1. Go to "Bowen, Queensland 4805 Australia"
  2. Do a location bias search for "Dog off-leash Beach"
  3. There are 3 of them in the suburb and requesting details for any of them are throwing the above exception.

The error is on specific type casting:

compoundCode: json['compoundCode'] as String,

which is null sometimes.

Retrieving place photos

Is there any particular reason why you return only the string value of photo attributions in metadata instead of the full link? Because according to Google Places rules, we are supposed to include a tappable link to those attributions when presenting the image.

Also, is there any particular reason why image is returned as an Image widget instead of directly as a Uint8List? If is was possible to get the raw image data, we could do something else with it, store it somewhere (but maybe that's against the ToS, I don't know), or build our own memory image with custom parameters (especially for fit).

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.