public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map);
// 지도 준비되면 해달라는 함수
mapFragment.getMapAsync(new OnMapReadyCallback() {
@Override
public void onMapReady(@NonNull GoogleMap googleMap) {
// 맵이 준비되면 내 위치를 중심으로 지도가 나오게 해라 라는 코드 작성
// 화면을 띄울때 하고 싶은 일
// 37.5428, 126.6772
// 1. 특정 위도 경도 값으로 지도의 위치를 적용시키는 코드
LatLng myLocation = new LatLng(37.5428, 126.6772);
//newLatLngZoom() 지도 가까워지게 만든다 (줌이 작을수록 멀리, 줌이 커질수록 가깝게)
googleMap.moveCamera(CameraUpdateFactory.newLatLngZoom(myLocation, 17));
// 2. 마커를 만들어서, 지도에 표시하는 방법
MarkerOptions markerOptions = new MarkerOptions();
markerOptions.position(myLocation).title("연희직업전문학교");
googleMap.addMarker(markerOptions).setTag(0);
// 3. 마커를 클릭하면, 동작하는 코드 작성
// 중요! 위에서 MarkerOptons 를 만들때, 태그를 달아줘서 구분해 줘야 한다.
googleMap.setOnMarkerClickListener(new GoogleMap.OnMarkerClickListener() {
@Override
public boolean onMarkerClick(@NonNull Marker marker) {
int tag = (int) marker.getTag();
// if(tag == 0){
// }
Toast.makeText(MainActivity.this, "제가 누른 마커의 태그는 : "+tag+", 타이틀은 : "+marker.getTitle(), Toast.LENGTH_LONG).show();
return false;
}
});
// 4. 지도의 타입을 설정하는 코드
// MAP_TYPE_SATELLITE 위성
googleMap.setMapType(GoogleMap.MAP_TYPE_SATELLITE);
}
});
}
}