Hi,
I think I can help for the question in number 3.
For number 1 and 2, I'm also having the same problem.
Luckily I found a Google Map Places API but couldn't find a Navigation one.
Places API:
https://developers.google.com/places/documentation/[
^]
So the above API is used on Servers(You'll read more).
For Question number 3:
private void setUpMarker() {
GoogleMap gMap = ((SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.gMap)).getMap();
LatLng NAIROBI = new LatLng(-1.283, 36.817);
Marker gMarker = gMap.addMarker(new MarkerOptions()
.position(NAIROBI)
.title("Kenya")
.snippet("Nairobi, Kenya!")
.icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_AZURE)));
}
Then call the above method where you wish.
If anything isn't straight, let me know, I'll explain.