capacitor-community/google-maps

v2.0

Opened this issue ยท 23 comments

This plugin is already quite good. But IMHO it still misses a few things to be a full fletched alternative to cordova-plugin-googlemaps in production.

I like to propose the following issues to be added to a possible milestone for v2.0 of this package. I considered a major release tag since some of the changes below are braking to 'old' API.

  1. The API should be unified to be completely the same on Android and iOS. At the moment event listeners and API calls have different names on both platforms. They should be the same.
  2. (#8) Plugin classes should be split up in multiple classes
  3. Multiple map instances should be possible at once. The point above simplifies this. I already have a working proof-of-concept for Android.
  4. (#15 & #44) Custom marker icons should be refactored to be fully supported and support vectors (and when possible svg's, but I do not think that is a hard requirement).
  5. (#84) It should be possible for HTMLElements to overlap the map.
  6. Ideally, support for custom info windows is added. It would be even more interesting to support html content as an info window.
  7. Documentation should be updated. It should also be more clear. (#17 & #4) have a WIP on these but slow progress.
  8. (#2 & #3) Finish drawing methods. Working local prototypes, need to cleanup and push. Could be a part of v2.

When above issues are addressed it is pretty much on par with the cordova maps, I think. Also, point 1, 2 and 3 I am already working on.

What do you think about this? Do you have any other important issues in mind that should be addressed?

__

On a side note: when releasing v2.0, it might be a good idea to change the name to capacitor-community/google-maps. This change addresses possible confusing about "capacitor" being two times in the name. Above all, the omitting of the word "native" opens up possibilities to also support web in the future.

Sounds like a plan! I agree with all the points. Thanks a lot for chalking everything out in details.

Documentation should be updated. It should also be more clear.
(#17 & #4) have a WIP on these but slow progress.

Do you have any other important issues in mind that should be addressed?
(#2 and #3) have got working prototypes locally, need to cleanup and push. Could be a part of v2.

๐Ÿ‘ big thumbs up on the sidenote, we'll sync with Capacitor maintainers and get the renaming process done. I'm not sure how the npm rename mechanism will be like.

@tafelnl , pls feel free to ping me I can assist with anything. Really looking forward to this

@tafelnl - WIP is looking great! The CustomMapView file with the listeners is ๐Ÿ‘ . Just need the setOnCameraIdleListener also added there and I think we're almost golden from my initial look through

I tried the vue3 app in examples, looks perfect. @tafelnl can you please create a PR?

Also @tafelnl , could you please consider becoming a maintainer for this plugin? :) We could really use your expertise over here to move this project in a proper direction ๐Ÿ––

Thanks for testing them out @hemangsk ! I'd love to help out with maintaining this plugin. Can you add me as a collaborator?

Thank you for your work. I would stress that without #5 IMHO this library can't be considered as a production ready solution. #5 should be prioritized above #4 and #3. I have multiple production apps that need #5 implemented before we would be able to use this solution. I would be willing to donate / pay someone to work on getting #5 implemented ASAP.

Thank you for your work. I would stress that without #5 IMHO this library can't be considered as a production ready solution. #5 should be prioritized above #4 and #3. I have multiple production apps that need #5 implemented before we would be able to use this solution. I would be willing to donate / pay someone to work on getting #5 implemented ASAP.

@tafelnl i think @selected-pixel-jameson meant the issue #84 which is number five in your top comment list.

Ah my bad. In that case I can fully agree. I would be able to finish it. It's just that I am really busy with work. But I will see what I can do.

@tafelnl if you can point me in the right direction, i want to help, specially on the svg pointer since i really need it

@tafelnl if you can point me in the right direction, i want to help, specially on the svg pointer since i really need it

This fork already got svg icons implemented. Maybe SnowBases could create an PR.

Snowbases@7b924f4

@ChiKaLiO I've tagged you in a comment about this here: #15 (comment)

@tafelnl I'v been working with your fork, first impression is great.
I've seen in the Android module that you are using Android Maps SDK v3-beta (it also happens in this original library).

  1. Now it has been marked as deprecated. How does this affect the maintenance of the plugin in the long term?
  2. I don't know if Google is planning to incorporate v3 in the com.google.android.gms namespace or they are going to change it to the new com.google.android.libraries.maps. Apart of this, are you using features not available in v2?

Thanks in advance!

@hemangsk I contracted @tafelnl out to help build out the feature set laid out in this item within his feature branch. https://github.com/DutchConcepts/capacitor-google-maps/tree/next

According to @tafelnl this is nearly complete but the iOS portion is still not correctly passing touch events. He's gotten busy and just hasn't had time to finish it up.

I would like to figure out how we can move forward and get this forked version complete and released.

From my understanding it works with Android. Just not iOS.

Thanks for testing them out @hemangsk ! I'd love to help out with maintaining this plugin. Can you add me as a collaborator?

@tafelnl , First off sincere apologies for the delay here, due to some unforeseen situation. Well I received a response from Thomas (from Ionic Team) on discord https://discord.com/channels/520266681499779082/908092045992816660/939219912470175805.

I'll update the README.md and add you as a maintainer but I'm not sure if you have proper access to this repo and whether you are able to create branches in this repo, could you please check? If you're not able to, then I'll ping Thomas about granting repo permissions.

@hemangsk I do not have access to this repo yet.

@tafelnl , Thomas has added you to the repo! :) ๐Ÿš€

Awesome news: a (pretty stable) beta version 2 has been released to npm under the name @capacitor-community/google-maps. Extensive documentation can be found here: https://capacitor-community.github.io/google-maps/

@tafelnl , a question about the beta version 2, it feels like addListener doesn't work or am I missing something?
The only addListener method you can use seems to be the one where the event name has to be "didRequestElementFromPoint"?

Thanks

@trabdin Please refer to the documentation for the API reference. There's also an examples repo available. For your question, you could look at this line for example

Do you plan to support typescript in the next version?

Typescript is already included in the next version :) you can test it out by installing the beta version from NPM