Freeform Drawing with Android Maps v2

2019-03-05 06:33发布

问题:

I have a maps application using the new v2 Google Maps API for Android. What I am trying to do is allow the user to draw a line on the map that follows the path of their finger. I understand I will probably need a button to enable/disable this functionality as it would obviously need to disable the pan/zoom controls. Once a user draws their line I need to be able to join the ends up to form a polygon. Does anybody know how this can be done? Really appreciate any help!

回答1:

I think you could achieve this by using a framelayout that overlays a view above the map fragment. Listen for touch events on that view and set it's visibility to GONE once the user wants to disable the drawing so it wont fire your touch listeners and instead fire the maps ones.

An alternative would be to use a marker instead of allowing freeform drawing, you can easily listen for marker drag events and draw lines when the drag events finish.

Closing the polygon would be as easy as drawing a line from the start to the last line's end.

This will allow you to raw on the map https://developers.google.com/maps/documentation/android/lines