In my application, I have added two places autocomplete fragments as source and destination search box for direction. I have added two markers to it but it only shows the location written in the box on the map. I tried adding polyline but it's not working. I have only added google maps, location and places API.
PlaceAutocompleteFragment autocompleteFragment = (PlaceAutocompleteFragment)
getFragmentManager().findFragmentById(R.id.place_autocomplete_fragment);
autocompleteFragment.setOnPlaceSelectedListener(new PlaceSelectionListener() {
@Override
public void onPlaceSelected(Place place) {
// TODO: Get info about the selected place.
addMarker(place);
// Log.i(TAG, "Place: " + place.getName());
String placeName = place.getName().toString();
place.getLatLng();
}
@Override
public void onError(Status status) {
}
});
PlaceAutocompleteFragment autocompleteFragments = (PlaceAutocompleteFragment)
getFragmentManager().findFragmentById(R.id.place_autocomplete_fragments);
autocompleteFragments.setOnPlaceSelectedListener(new PlaceSelectionListener() {
@Override
public void onPlaceSelected(Place places) {
addMarker(place);//used to add marker according to the given string
String placeName = places.getName().toString();
places.getLatLng();
}
@Override
public void onError(Status status) {
// TODO: Handle the error.
// Log.i(TAG, "An error occurred: " + status);
}
});
}
@Override
public void onMapReady(GoogleMap googleMap) {
mMap = googleMap;
mMap.addMarker(new MarkerOptions().position(new LatLng(0, 0)).title("Marker"));
if (ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
return;
}
mMap.setMyLocationEnabled(true);
}
public void addMarker(Place p){
MarkerOptions markerOptions=new MarkerOptions();
markerOptions.position(p.getLatLng()).title(p.getName()+"");
mMap.addMarker(markerOptions);
mMap.moveCamera(CameraUpdateFactory.newLatLng(p.getLatLng()));
mMap.animateCamera(CameraUpdateFactory.zoomTo(13));
PolylineOptions polylineOptions=new PolylineOptions();
//tried to add polyline but did not worked
polylineOptions.add(p.getLatLng()).width(5).color(Color.BLUE).geodesic(true);
mMap.addPolyline(polylineOptions);
//p.getLatLng() this is used to get the latlng but i dont know how to get a polyline between them
}
}