먼저 액티비티의 화면을 구성하는 xml 파일의 코드는 아래 블록을 참고하며
실제 도움말 문서에서도 다음과 같이 안내하고 있다.
<?xml version="1.0" encoding="utf-8"?>
<fragment xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:map="http://schemas.android.com/apk/res-auto"
android:name="com.google.android.gms.maps.SupportMapFragment"
android:id="@+id/map"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
구글맵을 사용하는 간단한 액티비티의 코드는 다음과 같다.
주석을 참고하자.
// implement로 구글맵의 기능을 가져온다.
public class MainActivity extends AppCompatActivity implements OnMapReadyCallback, GoogleMap.OnMarkerClickListener {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// onCreate에는 구글맵을 사용하겠다는 코드를 작성.
SupportMapFragment mapFragment = (SupportMapFragment)getSupportFragmentManager().findFragmentById(R.id.map);
mapFragment.getMapAsync(this );
}
@Override
public void onMapReady(@NonNull GoogleMap googleMap) {
// 구글맵을 실제 어떻게 사용할지는 onMapReady 에 작성.
// 시작 위치를 정하기 위한 객체 생성
LatLng myLocation = new LatLng(37.579617, 126.977041);
// googleMap.moveCamera(CameraUpdateFactory.newLatLng( myLocation ));
// 위는 시작할 때 대륙도 보일 정도로 크게 시작함 아래 메소드를 사용해 적절한 시작 위치를 정하자.
googleMap.moveCamera(CameraUpdateFactory.newLatLngZoom( myLocation , 14));
// 지도에 표시되는 마커를 생성하는 코드
googleMap.addMarker(new MarkerOptions().position(myLocation).title("경복궁")).setTag(0);
// googleMap.addMarker(new MarkerOptions().position(myLocation).title("경복궁 옆에")).setIcon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_CYAN));
googleMap.addMarker(new MarkerOptions()
.position(new LatLng(37.5428428, 126.6762096)).title("연희직업전문학교")).setTag(1);
// 구글맵의 지도 형태 바꾸기, 파라미터 값을 변경하여 형태를 바꿀 수 있다.
googleMap.setMapType(GoogleMap.MAP_TYPE_NORMAL);
// 아래의 마커 클릭 코드를 실행하는 메소드
googleMap.setOnMarkerClickListener(this);
}
@Override
public boolean onMarkerClick(@NonNull Marker marker) {
// 마커 클릭 시 액션 코드 입력
int index = (int) marker.getTag();
if(index == 0){
Toast.makeText(this, "GOOD~~~~~", Toast.LENGTH_SHORT).show();
}else {
Toast.makeText(this, "Hello~~~~", Toast.LENGTH_SHORT).show();
}
return false;
}
}
참고로 myLocation 객체에 입력한 곳은 경복궁이며,
아래는 에뮬레이터로 실행한 앱의 실제 시작화면이다.
'Android' 카테고리의 다른 글
Android Studio - 안드로이드에서 구글 Maps SDK for Android 라이브러리 사용하기 (0) | 2022.07.29 |
---|---|
Android Studio - 에뮬레이터의 Location 설정하기 (0) | 2022.07.29 |
Android Studio - Location 으로 위도, 경도 구하기 (0) | 2022.07.29 |
Android Studio - No speakable text present 에러 없애기 (0) | 2022.07.28 |
Android Studio - Fragment 와 Activity 연결 (0) | 2022.07.27 |
댓글