import
android.os.Bundle;
import
android.widget.Toast;
import
androidx.fragment.app.FragmentActivity;
import
com.google.android.gms.maps.CameraUpdateFactory;
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.android.gms.maps.model.Marker;
import
com.google.android.gms.maps.model.MarkerOptions;
import
java.util.ArrayList;
public
class
MapsActivity
extends
FragmentActivity
implements
OnMapReadyCallback {
private
GoogleMap mMap;
LatLng sydney =
new
LatLng(-
34
,
151
);
LatLng TamWorth =
new
LatLng(-
31.083332
,
150.916672
);
LatLng NewCastle =
new
LatLng(-
32.916668
,
151.750000
);
LatLng Brisbane =
new
LatLng(-
27.470125
,
153.021072
);
private
ArrayList<LatLng> latLngArrayList;
private
ArrayList<String> locationNameArraylist;
@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
);
latLngArrayList =
new
ArrayList<>();
locationNameArraylist =
new
ArrayList<>();
latLngArrayList.add(sydney);
locationNameArraylist.add(
"Sydney"
);
latLngArrayList.add(TamWorth);
locationNameArraylist.add(
"TamWorth"
);
latLngArrayList.add(NewCastle);
locationNameArraylist.add(
"New Castle"
);
latLngArrayList.add(Brisbane);
locationNameArraylist.add(
"Brisbane"
);
}
@Override
public
void
onMapReady(GoogleMap googleMap) {
mMap = googleMap;
for
(
int
i =
0
; i < latLngArrayList.size(); i++) {
mMap.addMarker(
new
MarkerOptions().position(latLngArrayList.get(i)).title(
"Marker in "
+ locationNameArraylist.get(i)));
mMap.moveCamera(CameraUpdateFactory.newLatLng(sydney));
}
mMap.setOnMarkerClickListener(
new
GoogleMap.OnMarkerClickListener() {
@Override
public
boolean
onMarkerClick(Marker marker) {
String markerName = marker.getTitle();
Toast.makeText(MapsActivity.
this
,
"Clicked location is "
+ markerName, Toast.LENGTH_SHORT).show();
return
false
;
}
});
}
}