airbnb/AirMapView

android-maps-utils compatibility

acq opened this issue · 4 comments

acq commented

Google provides a utility library named android-map-utils, which includes many features not included directly in Google Maps, like :

  • clustering
  • heat maps
  • GeoJSON support
  • KML support

Obviously, this library expects the APIs from Google Maps, so it cannot work with AirMapView.

Since this library is open-source, I started integrating it in AirMapView. A working demo can be found at this address : https://github.com/acq/AirMapView/tree/map-utils. The only feature that does not work yet is custom tiles (and others require more work, like custom images for markers). Here are some screenshots:



In this proof of concept, several features needed to be added or reworked in order the library to work. This includes ground overlays, custom image markers on web maps, changed APIs (for example: AirMapPolyline), various bug fixes, ...

This code is not ready to be merged, but raises several questions:

  • are you interested in having those features? part of those features?
  • do you want them inside of AirMapView or in their own library (like android-map-utils exists currently), in order to keep AirMapView light?
  • I modified the package of these utils, so this library could exist in the same environment than the "old" android-map-utils. What package should be used?
  • are you open to the modification of current AirMapView APIs?

Thanks!

This is pretty interesting. I think a separate module would be the ideal solution, since probably not everyone will need these features so we don't want to bloat the library with additional stuff that you don't need.
Please feel free to submit a Pull Request, it sounds great to me. @petzel and @nwadams might want to chime in as well

I really like the idea of having these. I agree that having them as a separate module that could be optionally added would be cool. Long term I think the 'core' Airmapview should contain only a few map packages and basic api, and have extensions that are build on top that can be included as needed. These map utils could be separate extensions to the base api. There may be core api changes required to support this and I am open to modifying the core api if required.

Feel free to open a PR so we can see what kind of changes would be required. Hopefully no breaking api changes though.

acq commented

Good!
I think that multiple small pull requests will be better for everyone's sanity than a giant one, so I started splitting the work over multiple PRs.
The first 3 have been pushed : #76, #77, #78.
Most features will depend on these being merged first, so they will have to wait for now

Closing since this is already being tracked by each individual Pull Request