google-maps icon indicating copy to clipboard operation
google-maps copied to clipboard

v2.0

Open tafelnl opened this issue 3 years ago • 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.

tafelnl avatar Jun 17 '21 07:06 tafelnl

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.

hemangsk avatar Jun 17 '21 08:06 hemangsk

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

hemangsk avatar Jun 17 '21 08:06 hemangsk

https://github.com/tiaanduplessis/pkg-rename 😄

hemangsk avatar Jun 17 '21 08:06 hemangsk

Progress can be seen here: https://github.com/DutchConcepts/capacitor-google-maps/tree/next

New API proposal: https://github.com/DutchConcepts/capacitor-google-maps/blob/next/API_REFERENCE.md

tafelnl avatar Jun 28 '21 07:06 tafelnl

@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

J-Gonzalez avatar Jun 28 '21 20:06 J-Gonzalez

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 🖖

hemangsk avatar Jul 03 '21 10:07 hemangsk

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

tafelnl avatar Jul 05 '21 13:07 tafelnl

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.

selected-pixel-jameson avatar Jul 09 '21 21:07 selected-pixel-jameson

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.

DwieDima avatar Jul 09 '21 22:07 DwieDima

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 avatar Jul 10 '21 14:07 tafelnl

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

ChiKaLiO avatar Jul 12 '21 14:07 ChiKaLiO

@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.

https://github.com/SnowBases/capacitor-googlemaps-native/commit/7b924f4bf4f91a2595da70058ebd1dc5b03b13fc

DwieDima avatar Jul 12 '21 22:07 DwieDima

@ChiKaLiO I've tagged you in a comment about this here: https://github.com/capacitor-community/capacitor-googlemaps-native/issues/15#issuecomment-878850636

tafelnl avatar Jul 13 '21 07:07 tafelnl

@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!

R-lagoman avatar Sep 15 '21 11:09 R-lagoman

@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.

selected-pixel-jameson avatar Nov 17 '21 14:11 selected-pixel-jameson

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 avatar Feb 04 '22 19:02 hemangsk

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

tafelnl avatar Feb 08 '22 15:02 tafelnl

@tafelnl , Thomas has added you to the repo! :) 🚀

hemangsk avatar Feb 09 '22 16:02 hemangsk

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 avatar Mar 16 '22 15:03 tafelnl

@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 avatar Apr 04 '22 11:04 trabdin

@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

tafelnl avatar Apr 04 '22 12:04 tafelnl

Do you plan to support typescript in the next version?

TartanLeGrand avatar Apr 16 '22 16:04 TartanLeGrand

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

tafelnl avatar Apr 16 '22 17:04 tafelnl