AndroidManifest.
xml
<uses-permission android:name="[Link].ACCESS_FINE_LOCATION" />
<uses-permission android:name="[Link].ACCESS_COARSE_LOCATION" />
<uses-permission android:name="[Link]" />
activity_main.xml
<fragment
android:id="@+id/map"
android:name="[Link]"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<EditText
android:id="@+id/editText"
android:hint="Search Location" />
<Button
android:onClick="searchLocation"
android:text="Search" />
</LinearLayout>
</fragment>
[Link]
import [Link];
import [Link].*;
import [Link].*;
public class MapsActivity extends FragmentActivity implements OnMapReadyCallback,
LocationListener {
private GoogleMap mMap;
private GoogleApiClient mGoogleApiClient;
@Override
protected void onCreate(Bundle savedInstanceState) {
[Link](savedInstanceState);
setContentView([Link].activity_maps);
((SupportMapFragment)
getSupportFragmentManager().findFragmentById([Link])).getMapAsync(this);
}
@Override
public void onMapReady(GoogleMap googleMap) {
mMap = googleMap;
if ([Link](this,
[Link].ACCESS_FINE_LOCATION) == PackageManager.PERMISSION_GRANTED) {
[Link](true);
buildGoogleApiClient();
}
}
protected synchronized void buildGoogleApiClient() {
mGoogleApiClient = new
[Link](this).addApi([Link]).build();
[Link]();
}
@Override
public void onLocationChanged(Location location) {
LatLng latLng = new LatLng([Link](),
[Link]());
[Link](new MarkerOptions().position(latLng).title("Current
Position").icon([Link](BitmapDescriptorFactory.HUE_G
REEN)));
[Link]([Link](latLng, 11));
[Link](mGoogleApiClient,
this);
}
public void searchLocation(View view) {
String location = ((EditText)
findViewById([Link])).getText().toString();
if (![Link]()) {
try {
List<Address> addressList = new
Geocoder(this).getFromLocationName(location, 1);
Address address = [Link](0);
LatLng latLng = new LatLng([Link](),
[Link]());
[Link](new
MarkerOptions().position(latLng).title(location));
[Link]([Link](latLng));
[Link](this, [Link]() + " " +
[Link](), Toast.LENGTH_LONG).show();
} catch (IOException e) {
[Link]();
}
}
}
}