Nuke Olaf - Log Store
[Android] 안드로이드 - google map 사용법 본문
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_shop);
// 구글 맵 프래그먼트를 띄운다
// SupprotMapFragment 를 통해 레이아웃에 만든 fragment 의 ID 를 참조하고
// 구글맵을 호출한다.
SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager()
.findFragmentById(R.id.shop_map);
// getMapAsync 는 무조건 main Thread 에서 호출되어야한다
mapFragment.getMapAsync(this);
}
@Override
public void onMapReady(GoogleMap googleMap) {
map = googleMap;
map.setMapType(GoogleMap.MAP_TYPE_NORMAL);
oneMarker();
}
public void oneMarker() {
// 서울 여의도에 대한 위치 설정
LatLng seoul = new LatLng(37.52487, 126.92723);
// 구글맵에 표시할 마커에 대한 옵션 설정
MarkerOptions markerOptions = new MarkerOptions();
markerOptions
.position(seoul)
.title("원하는 위치(위도, 경도)에 마커를 표시했습니다")
.snippet("여기는 여의도입니다")
.icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_BLUE))
.alpha(0.5f); // 알파는 좌표의 투명도
// 마커를 생성한다
map.addMarker(markerOptions); // .showInfoWindow() 를 쓰면 처음부터 마커에 상세정보가 뜬다
// 정보창 클릭리스너
map.setOnInfoWindowClickListener(infoWindowClickListener);
// 마커 클릭 리스너
map.setOnMarkerClickListener(markerClickListener);
// 카메라를 여의도 위치로 옮겨준다
map.moveCamera(CameraUpdateFactory.newLatLngZoom(seoul, 16));
map.setOnMarkerClickListener(new GoogleMap.OnMarkerClickListener() {
@Override
public boolean onMarkerClick(Marker marker) {
Toast.makeText(ShopActivity.this, "눌렀습니다!!", Toast.LENGTH_LONG);
return false;
}
});
}
// 정보창 클릭 리스너
GoogleMap.OnInfoWindowClickListener infoWindowClickListener = new GoogleMap.OnInfoWindowClickListener() {
@Override
public void onInfoWindowClick(Marker marker) {
String markerId = marker.getId();
Toast.makeText(ShopActivity.this, "정보창 클릭 Marker ID : "
+ markerId, Toast.LENGTH_SHORT).show();
}
};
// 마커 클릭 리스너
GoogleMap.OnMarkerClickListener markerClickListener = new GoogleMap.OnMarkerClickListener() {
@Override
public boolean onMarkerClick(Marker marker) {
String markerId = marker.getId();
// 선택한 타겟의 위치
LatLng location = marker.getPosition();
Toast.makeText(ShopActivity.this, "마커 클릭 Marker ID : "
+ markerId + "(" + location.latitude + " " + location.longitude + ")",
Toast.LENGTH_SHORT).show();
return false;
}
};
참고한 사이트 >>>
https://mailmail.tistory.com/18?category=719923
'Android' 카테고리의 다른 글
[Android] 안드로이드 - google map marker 검색 (0) | 2020.01.15 |
---|---|
[Android] 안드로이드 - google map 에 검색창 추가하기 (0) | 2020.01.15 |
[Android] 안드로이드 - API 란 무엇인가? (0) | 2020.01.15 |
[Android] 안드로이드 - Google map api 란 무엇인가? (0) | 2020.01.15 |
[Android] 안드로이드 - 기기의 가장 최근 사진을 가져오는 방법 (2) | 2020.01.14 |
Comments