반응형
안드로이드(Android) 맵구현시 해당하는 이벤트 구현 예제 |
개발환경 : window 7 64bit, Eclipse Kepler, Android 4.2.2 |
이번에 구현 예제는 맵에서 주로 사용하는 이벤트들에 대한 예제이다.
어떤 이벤트가 있으며 어떻게 사용하는지 간단하게 함수로 화면에
지도 위치값을 나타내주는 예제를 구현하였다.
// 마커 클릭 리스너 mGoogleMap.setOnMarkerClickListener(new OnMarkerClickListener() { public boolean onMarkerClick(Marker marker) { String text = "[마커 클릭 이벤트] latitude =" + marker.getPosition().latitude + ", longitude =" + marker.getPosition().longitude; Toast.makeText(getApplicationContext(), text, Toast.LENGTH_LONG) .show(); return false; } });
// 클릭이벤트 mGoogleMap.setOnMapClickListener(new OnMapClickListener() { public void onMapClick(LatLng point) { String text = "[단시간 클릭시 이벤트] latitude =" + point.latitude + ", longitude =" + point.longitude; Toast.makeText(getApplicationContext(), text, Toast.LENGTH_LONG) .show(); } });
// 클릭을 오래 했을때 mGoogleMap.setOnMapLongClickListener(new OnMapLongClickListener() { public void onMapLongClick(LatLng point) { String text = "[장시간 클릭시 이벤트] latitude =" + point.latitude + ", longitude =" + point.longitude; Toast.makeText(getApplicationContext(), text, Toast.LENGTH_LONG) .show(); } });
// 카메라 이동 확대 축소가 있을때 이벤트 발생 mGoogleMap.setOnCameraChangeListener(new OnCameraChangeListener() { public void onCameraChange(CameraPosition position) { LatLng point = position.target; String text = "[카메라 이동 이벤트] latitude =" + point.latitude + ", longitude =" + point.longitude; Toast.makeText(getApplicationContext(), text, Toast.LENGTH_LONG) .show(); } });
아래는 위의 내용을 구현한 함수 전체 내용이다.
private void init() { Intent getI = getIntent(); String title = getI.getStringExtra("marker test 1"); String coordinates[] = { "37.517180", "127.041268" }; double lat = Double.parseDouble(coordinates[0]); double lng = Double.parseDouble(coordinates[1]); LatLng position = new LatLng(lat, lng); GooglePlayServicesUtil.isGooglePlayServicesAvailable(MainActivity.this); mGoogleMap = ((SupportMapFragment) getSupportFragmentManager() .findFragmentById(R.id.map)).getMap(); // 터치이벤트 설정 mGoogleMap.setOnMapClickListener(this); // 맵 위치이동. mGoogleMap.moveCamera(CameraUpdateFactory.newLatLngZoom(position, 15)); // 첫번째 마커 설정. MarkerOptions optFirst = new MarkerOptions(); optFirst.position(position);// 위도 • 경도 optFirst.title(title);// 제목 미리보기 optFirst.snippet("Snippet"); optFirst.icon(BitmapDescriptorFactory .fromResource(R.drawable.ic_launcher)); mGoogleMap.addMarker(optFirst).showInfoWindow(); // 두번째 마커 설정. MarkerOptions optSecond = new MarkerOptions(); optSecond.position(new LatLng(37.521280, 127.041268));// 위도 • 경도 optSecond.title(title); // 제목 미리보기 optSecond.snippet("Snippet2"); mGoogleMap.addMarker(optSecond).showInfoWindow(); // 마커 클릭 리스너 mGoogleMap.setOnMarkerClickListener(new OnMarkerClickListener() { public boolean onMarkerClick(Marker marker) { String text = "[마커 클릭 이벤트] latitude =" + marker.getPosition().latitude + ", longitude =" + marker.getPosition().longitude; Toast.makeText(getApplicationContext(), text, Toast.LENGTH_LONG) .show(); return false; } }); // 클릭이벤트 mGoogleMap.setOnMapClickListener(new OnMapClickListener() { public void onMapClick(LatLng point) { String text = "[단시간 클릭시 이벤트] latitude =" + point.latitude + ", longitude =" + point.longitude; Toast.makeText(getApplicationContext(), text, Toast.LENGTH_LONG) .show(); } }); // 클릭을 오래 했을때 mGoogleMap.setOnMapLongClickListener(new OnMapLongClickListener() { public void onMapLongClick(LatLng point) { String text = "[장시간 클릭시 이벤트] latitude =" + point.latitude + ", longitude =" + point.longitude; Toast.makeText(getApplicationContext(), text, Toast.LENGTH_LONG) .show(); } }); // 카메라 이동 확대 축소가 있을때 이벤트 발생 mGoogleMap.setOnCameraChangeListener(new OnCameraChangeListener() { public void onCameraChange(CameraPosition position) { LatLng point = position.target; String text = "[카메라 이동 이벤트] latitude =" + point.latitude + ", longitude =" + point.longitude; Toast.makeText(getApplicationContext(), text, Toast.LENGTH_LONG) .show(); } }); }
반응형
'안드로이드 개발' 카테고리의 다른 글
지니모션(Genymotion) 실행시 player.exe 작동 중지 에러 날 때 (3) | 2014.03.23 |
---|---|
안드로이드(Android) TextView 에 Html 표현하기 (0) | 2014.03.20 |
안드로이드(android) GoogleMap 지도위에 도형이미지 그리기 (3) | 2014.03.15 |
안드로이드(android) GoogleMap 구현시 각종 표시 유형에 대해 알아본다 (0) | 2014.03.13 |
안드로이드(android) 프로그레시브바를 이용한 파일 다운로드 구현 (0) | 2014.03.04 |
안드로이드(Android) 에서 제공하는 시간위젯 TimePicker 사용법 (0) | 2014.03.02 |
안드로이드(Android) 컴퓨터와 연결하여 화면 캡쳐하기 (0) | 2014.02.22 |
안드로이드(Android) 에서 MapView 를 이용해 구글맵 구현하기 (5) | 2014.02.19 |