supasintatiyanupanwong / map-kit-android Goto Github PK
View Code? Open in Web Editor NEWAn extensive framework for map development in Android.
License: Apache License 2.0
An extensive framework for map development in Android.
License: Apache License 2.0
Fatal Exception: android.view.InflateException: Binary XML file line #18: Error inflating class fragment
Fatal Exception: android.view.InflateException: Binary XML file line #18: Error inflating class fragment
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:713)
at android.view.LayoutInflater.inflate(LayoutInflater.java:469)
at android.view.LayoutInflater.inflate(LayoutInflater.java:397)
at dev.supasintatiyanupanwong.libraries.android.kits.maps.MapFragment.onCreateView(MapFragment.java:73)
at androidx.fragment.app.Fragment.performCreateView(Fragment.java:2963)
at androidx.fragment.app.FragmentStateManager.createView(FragmentStateManager.java:518)
at androidx.fragment.app.FragmentStateManager.moveToExpectedState(FragmentStateManager.java:282)
at androidx.fragment.app.FragmentStore.moveToExpectedState(FragmentStore.java:112)
at androidx.fragment.app.FragmentManager.moveToState(FragmentManager.java:1647)
at androidx.fragment.app.FragmentManager.dispatchStateChange(FragmentManager.java:3128)
at androidx.fragment.app.FragmentManager.dispatchResume(FragmentManager.java:3086)
at androidx.fragment.app.Fragment.performResume(Fragment.java:3048)
at androidx.fragment.app.FragmentStateManager.resume(FragmentStateManager.java:607)
at androidx.fragment.app.FragmentStateManager.moveToExpectedState(FragmentStateManager.java:306)
at androidx.fragment.app.FragmentStore.moveToExpectedState(FragmentStore.java:112)
at androidx.fragment.app.FragmentManager.moveToState(FragmentManager.java:1647)
at androidx.fragment.app.FragmentManager.dispatchStateChange(FragmentManager.java:3128)
at androidx.fragment.app.FragmentManager.dispatchResume(FragmentManager.java:3086)
at androidx.fragment.app.Fragment.performResume(Fragment.java:3048)
at androidx.fragment.app.FragmentStateManager.resume(FragmentStateManager.java:607)
at androidx.fragment.app.FragmentStateManager.moveToExpectedState(FragmentStateManager.java:306)
at androidx.fragment.app.SpecialEffectsController$FragmentStateManagerOperation.complete(SpecialEffectsController.java:745)
at androidx.fragment.app.SpecialEffectsController$Operation.completeSpecialEffect(SpecialEffectsController.java:672)
at androidx.fragment.app.DefaultSpecialEffectsController$SpecialEffectsInfo.completeSpecialEffect(DefaultSpecialEffectsController.java)
at androidx.fragment.app.DefaultSpecialEffectsController$2.onAnimationEnd(DefaultSpecialEffectsController.java:190)
at android.animation.AnimatorSet$AnimatorSetListener.onAnimationEnd(AnimatorSet.java:818)
at android.animation.AnimatorSet$AnimatorSetListener.onAnimationEnd(AnimatorSet.java:818)
at android.animation.ValueAnimator.endAnimation(ValueAnimator.java:1056)
at android.animation.ValueAnimator.access$400(ValueAnimator.java:50)
at android.animation.ValueAnimator$AnimationHandler.doAnimationFrame(ValueAnimator.java:644)
at android.animation.ValueAnimator$AnimationHandler.run(ValueAnimator.java:660)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:788)
at android.view.Choreographer.doCallbacks(Choreographer.java:591)
at android.view.Choreographer.doFrame(Choreographer.java:559)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:774)
at android.os.Handler.handleCallback(Handler.java:808)
at android.os.Handler.dispatchMessage(Handler.java:103)
at android.os.Looper.loop(Looper.java:193)
at android.app.ActivityThread.main(ActivityThread.java:5292)
at java.lang.reflect.Method.invokeNative(Method.java)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:824)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:640)
at dalvik.system.NativeStart.main(NativeStart.java)
Rather than the code throwing an exception, how about adding an if condition check so we can customize our own actions for it.
onCreateView
method in this library is final to prevent the method overriding in subclass
But in my use case, I have a reason to override this method. I have another wrapper view to handle the user gesture on the map by itself.
For example
class CustomMapFragment: MapFragment() {
override fun onCreateView(
inflater: LayoutInflater,
container: ViewGroup?,
savedInstanceState: Bundle?
) {
val mapView = inflater.inflate(MapsPlatform.get().getFragmentLayoutId(), container, false)
val wrapperView = WrapperView(requireContext())
wrapperView.addView(mapView)
return wrapperView
}
}
Can you remove final
in onCreateView
method or is there any solution?
possible to add a generic of this class? Both google and huawei have their own separate classes for SupportMapFragment
com.huawei.hms.maps.SupportMapFragment
om.google.android.gms.maps.SupportMapFragment
Hi, I got an error after upgrading to AGP version 4.1.0:
java.lang.RuntimeException: Unable to get provider me.tatiyanupanwong.supasin.android.libraries.kits.maps.MapKitInitProvider: java.lang.IllegalStateException: Can't find supported platform, make sure to include one of the next artifacts: ':maps-amazon', ':maps-google', or ':maps-huawei'
However, I did not change anything related to artifacts.
I have resolved the issue by adding following line to proguard rules:
-keep public class me.tatiyanupanwong.supasin.android.libraries.kits.maps.** { *; }
I'm trying to remove JCenter, given it's now at end of life. Is there a plan to migrate away from it?
Can you provide a sample featuring a Fragment that contains the MapFragment? The samples are all Activities.
Currently the project is published in JCenter repository. However, starting with Android Gradle Plugin 4.2.0 JCenter is deprecated because it became read-only. All the artifacts should be migrated to Maven Central https://developer.android.com/studio/build/jcenter-migration
Did the method in google maps platform change perhaps in the new maps?
keeps crashing because of this
Process: org.droidgox.phivolcs, PID: 9109
java.lang.RuntimeException: Unable to get provider dev.supasintatiyanupanwong.libraries.android.kits.maps.MapKitInitProvider: java.lang.IllegalStateException: Can't find supported platform, make sure to include one of the next artifacts: ':maps-amazon', ':maps-google', or ':maps-huawei'
at android.app.ActivityThread.installProvider(ActivityThread.java:8173)
at android.app.ActivityThread.installContentProviders(ActivityThread.java:7709)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:7573)
at android.app.ActivityThread.access$2600(ActivityThread.java:260)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2435)
at android.os.Handler.dispatchMessage(Handler.java:110)
at android.os.Looper.loop(Looper.java:219)
at android.app.ActivityThread.main(ActivityThread.java:8668)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:513)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1109)
Caused by: java.lang.IllegalStateException: Can't find supported platform, make sure to include one of the next artifacts: ':maps-amazon', ':maps-google', or ':maps-huawei'
at dev.supasintatiyanupanwong.libraries.android.kits.maps.MapsPlatform.findPlatform(MapsPlatform.java:68)
at dev.supasintatiyanupanwong.libraries.android.kits.maps.MapsPlatform.init(MapsPlatform.java:39)
at dev.supasintatiyanupanwong.libraries.android.kits.maps.MapKitInitProvider.attachInfo(MapKitInitProvider.java:34)
at android.app.ActivityThread.installProvider(ActivityThread.java:8168)
at android.app.ActivityThread.installContentProviders(ActivityThread.java:7709)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:7573)
at android.app.ActivityThread.access$2600(ActivityThread.java:260)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2435)
at android.os.Handler.dispatchMessage(Handler.java:110)
at android.os.Looper.loop(Looper.java:219)
at android.app.ActivityThread.main(ActivityThread.java:8668)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:513)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1109)
Hi, is cluster feature available in the lib?
I've been reviewing the examples and I cannot find any example.
Thank you
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.