I\'m creating an app based on places search. I would like to know how can I add a search bar into my Google Map, where the user can select a Place, and I can capture what th
Yes, you can do that by make method for addMarker when you press on the place, You can use this code:
public class PlaceAutocompleteActivity extends AppCompatActivity implements OnMapReadyCallback {
private GoogleMap mMap;
PlaceAutocompleteFragment placeAutoComplete;
LatLng myLat;
Place placey;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_autocompleteplaces);
getSupportActionBar().setTitle("Search about a Place");
placeAutoComplete = (PlaceAutocompleteFragment) getFragmentManager().findFragmentById(R.id.place_autocomplete);
placeAutoComplete.setOnPlaceSelectedListener(new PlaceSelectionListener() {
@Override
public void onPlaceSelected(Place place) {
addMarker(place);
}
@Override
public void onError(Status status) {
Log.d("Maps", "An error occurred: " + status);
}
});
SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager()
.findFragmentById(R.id.mapplaces);
mapFragment.getMapAsync(this);
}
@Override
public void onMapReady(GoogleMap googleMap) {
mMap = googleMap;
}
public void addMarker(Place p){
MarkerOptions markerOptions = new MarkerOptions();
markerOptions.position(p.getLatLng());
markerOptions.title(p.getName()+"");
markerOptions.icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_AZURE));
mMap.addMarker(markerOptions);
mMap.moveCamera(CameraUpdateFactory.newLatLng(p.getLatLng()));
mMap.animateCamera(CameraUpdateFactory.zoomTo(13));
}
}