import
android.os.Bundle;
import
android.widget.Toast;
import
androidx.fragment.app.FragmentActivity;
import
com.google.android.gms.maps.GoogleMap;
import
com.google.android.gms.maps.OnMapReadyCallback;
import
com.google.android.gms.maps.SupportMapFragment;
import
com.google.android.gms.maps.model.LatLng;
import
com.google.maps.android.SphericalUtil;
public
class
MapsActivity
extends
FragmentActivity
implements
OnMapReadyCallback {
private
GoogleMap mMap;
LatLng sydney =
new
LatLng(-
34
,
151
);
LatLng Brisbane =
new
LatLng(-
27.470125
,
153.021072
);
Double distance;
@Override
protected
void
onCreate(Bundle savedInstanceState) {
super
.onCreate(savedInstanceState);
setContentView(R.layout.activity_maps);
SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map);
mapFragment.getMapAsync(
this
);
}
/**
* Manipulates the map once available.
* This callback is triggered when the map is ready to be used.
* This is where we can add markers or lines, add listeners or move the camera. In this case,
* we just add a marker near Sydney, Australia.
* If Google Play services is not installed on the device, the user will be prompted to install
* it inside the SupportMapFragment. This method will only be triggered once the user has
* installed Google Play services and returned to the app.
*/
@Override
public
void
onMapReady(GoogleMap googleMap) {
mMap = googleMap;
distance = SphericalUtil.computeDistanceBetween(sydney, Brisbane);
Toast.makeText(
this
,
"Distance between Sydney and Brisbane is \n "
+ String.format(
"%.2f"
, distance /
1000
) +
"km"
, Toast.LENGTH_SHORT).show();
}
}