microg / GmsCore

Free implementation of Play Services
https://microg.org
Apache License 2.0
7.91k stars 1.65k forks source link

A few bugs in Maps implementation #1118

Open paulo-raca opened 4 years ago

paulo-raca commented 4 years ago

Hello!

First of all, thank you for this awesome project. I can't imagine the amount of work in it. :heart:

I was testing Google Maps component with microG, and found a few misbehaviours.

My test code can be found here. It isn't anywhere near a complete test of the Google Maps APIs, but it uncovers some bugs in microG. In summary:

fynngodau commented 1 year ago

@paulo-raca A few weeks of effort were invested into improving maps, and the following issues were tackled along the way:

  • Marker's infobox are never displayed, even by calling marker.showInfoWindow()

InfoWindows are now implemented.

  • Dragable markers don't seem to be supported

Draggable markers should be supported but can cause a few bugs. There was a problem with draggable markers, because the MarkerImpl object was not updated.

  • Circle radius is given in meters, not in screen size: It should scale with the map zoom level

Proper circles are now implemented.

paulo-raca commented 1 year ago

Great, thank you!

fynngodau commented 11 months ago
  • Marker are invisible unless you set an icon explicitly

  • No stroke is drawn between the last and first points of Polygons

These are addressed with https://gitlab.e.foundation/e/os/GmsCore/-/merge_requests/84 and https://gitlab.e.foundation/e/os/GmsCore/-/merge_requests/81, included in https://github.com/microg/GmsCore/pull/2016.

  • Markers should be drawn on top of other shapes (polygons, polylines, etc)

Do you have any documentation on how exactly this is supposed to behave? I suppose that z layer is respected across shape types, and that markers are on top by default.

Z layers will be much better supported with future MapLibre versions in accordance with https://github.com/maplibre/maplibre-native/blob/main/design-proposals/2023-06-17-android-annotations.md.

  • Default Marker colors don't quite match those from GMS (e.g., BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_YELLOW)) is brown-ish, while Google's is actually yellow)

I'm not sure whether this can be improved with the current way that one existing icon is tinted in different colors, but I haven't investigated it further as it is not as important to me.