Hi,
we put most of our efforts into the native maps which are what most developers prefer:
https://github.com/codenameone/codenameone-google-maps/1. It should work but coordinates use a somewhat different space for measurement. I don't recall exactly but there should be discussion of this in the forum/stackoverflow.
2. You can add overlays in any shape. Having the underlying map implementation do that is something else, I'm guessing you can subclass the map provider or replace it entirely.
3. You can use the auto complete field or just use a text field with a data change listener.