반응형
|
안드로이드(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 |

