마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

네이버 지도에서 말풍선 클릭하면 상세 정보 뜰수 있게 하는거 어떻게 하나요?

0 추천

학교 과제로 어플을 작성중인데요..

제가 거리소개 컨셉으로해서 거리에서 마커를 찍고 말풍선을 클릭하면 그위치의 상세정보를 보게 할려고하는데 

네이버 지도를 사용햇는데 다른글들은 구글맵이더라고요ㅜㅜ

제가 머리가 나빠서 이해가 안가는데 어떤메서드를 써야하는건지돟 모르겟고

하 일단 제가 작성한 소스는요

 

대구 거리

 

package com.example.street;
 
 
 
 
import android.graphics.Rect;
import android.os.Bundle;
import android.view.MotionEvent;
import android.widget.LinearLayout;
 
import com.nhn.android.maps.NMapActivity;
import com.nhn.android.maps.NMapController;
import com.nhn.android.maps.NMapOverlay;
import com.nhn.android.maps.NMapOverlayItem;
import com.nhn.android.maps.NMapView;
import com.nhn.android.maps.NMapView.OnMapStateChangeListener;
import com.nhn.android.maps.NMapView.OnMapViewTouchEventListener;
import com.nhn.android.maps.maplib.NGeoPoint;
import com.nhn.android.maps.nmapmodel.NMapError;
import com.nhn.android.maps.overlay.NMapPOIdata;
import com.nhn.android.mapviewer.overlay.NMapCalloutOverlay;
import com.nhn.android.mapviewer.overlay.NMapOverlayManager;
import com.nhn.android.mapviewer.overlay.NMapOverlayManager.OnCalloutOverlayListener;
import com.nhn.android.mapviewer.overlay.NMapPOIdataOverlay;
import com.nhn.android.mapviewer.overlay.NMapPOIdataOverlay.OnStateChangeListener;
 
public class deaguActivity extends NMapActivity implements
OnMapStateChangeListener, OnMapViewTouchEventListener,
OnCalloutOverlayListener {
public static final String API_Key = "131c63370f4e33cb31937f93a2285751";
private static final String LOG_TAG = null;
private NMapView mMapView = null;
private NMapController mMapController = null;
LinearLayout MapContainer;
NMapViewerResourceProvider mMapViewerResourceProvider = null;
 
NMapOverlayManager mOverlayManager;
 
OnStateChangeListener onPOIdataStateChangeListener = null;
 
 
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.daegumain);
mMapView = new NMapView(this);
 
mMapView.setApiKey(API_Key);
setContentView(mMapView);
mMapView.setClickable(true);
mMapView.setOnMapStateChangeListener(this);
mMapView.setOnMapViewTouchEventListener(this);
mMapView.setBuiltInZoomControls(true, null);
mMapController = mMapView.getMapController();
 
 
// 오버래이 리소스 관리객체 할당
mMapViewerResourceProvider = new NMapViewerResourceProvider(this);
 
// 오버래이 관리자 추가
mOverlayManager = new NMapOverlayManager(this, mMapView,
mMapViewerResourceProvider);
 
// 오버래이에 표시하기 위한 마커 이미지의 id값 생성
int markerId = NMapPOIflagType.PIN;
 
// 표시할 위치 데이터를 지정한다. -- 마지막 인자가 오버래이를 인식하기 위한 id값
NMapPOIdata poiData = new NMapPOIdata(5, mMapViewerResourceProvider);
poiData.beginPOIdata(5);
poiData.addPOIitem(128.594783 , 35.868860 , "동성로 떡볶이", markerId, 0);
poiData.addPOIitem(128.598130 , 35.867769 , "모건이네 주방", markerId, 0);
poiData.addPOIitem(128.599010 , 35.867739 , "카페 빈", markerId, 0);
poiData.addPOIitem(128.598026 , 35.868378 , "스시 라스또", markerId, 0);
poiData.addPOIitem(128.598546 , 35.867743 , "미즈 컨테이너", markerId, 0);
poiData.endPOIdata();
 
// 위치 데이터를 사용하여 오버래이 생성
NMapPOIdataOverlay poiDataOverlay = mOverlayManager
.createPOIdataOverlay(poiData, null);
poiDataOverlay.showAllPOIdata(0);
 
 
}
 
 
 
 
 
 
@Override
public NMapCalloutOverlay onCreateCalloutOverlay(NMapOverlay arg0,
NMapOverlayItem arg1, Rect arg2) {
// TODO Auto-generated method stub
return null;
}
 
@Override
public void onLongPress(NMapView arg0, MotionEvent arg1) {
// TODO Auto-generated method stub
 
}
 
@Override
public void onLongPressCanceled(NMapView arg0) {
// TODO Auto-generated method stub
 
}
 
@Override
public void onScroll(NMapView arg0, MotionEvent arg1, MotionEvent arg2) {
// TODO Auto-generated method stub
 
}
 
@Override
public void onSingleTapUp(NMapView arg0, MotionEvent arg1) {
// TODO Auto-generated method stub
 
}
 
@Override
public void onTouchDown(NMapView arg0, MotionEvent arg1) {
// TODO Auto-generated method stub
 
}
 
@Override
public void onTouchUp(NMapView arg0, MotionEvent arg1) {
// TODO Auto-generated method stub
 
}
 
@Override
public void onAnimationStateChange(NMapView arg0, int arg1, int arg2) {
// TODO Auto-generated method stub
 
}
 
@Override
public void onMapCenterChange(NMapView arg0, NGeoPoint arg1) {
// TODO Auto-generated method stub
 
}
 
@Override
public void onMapCenterChangeFine(NMapView arg0) {
// TODO Auto-generated method stub
 
}
 
@Override
public void onMapInitHandler(NMapView mMapView, NMapError errorInfo) {
 
if (errorInfo == null) { // success
// mMapController.setMapCenter(
// new NGeoPoint(126.978371, 37.5666091), 11);
} else { // fail
android.util.Log.e("NMAP",
"onMapInitHandler: error=" + errorInfo.toString());
}
}
 
@Override
public void onZoomLevelChange(NMapView arg0, int arg1) {
// TODO Auto-generated method stub
 
}
 
}
 
이거든요 
여기서 어떤걸 해야 말풍선에서 상세 정보를 뜨게 할수 있을까요?
인텐드를 해야하는거 같은데 터치이벤트?? 이건 먼지 이해가 안가네요
도와주세요 ㅜㅜ
 
윤국형 (210 포인트) 님이 2013년 5월 28일 질문

1개의 답변

0 추천
 
채택된 답변

http://dev.naver.com/openapi/apis/map/android/example

가장 좋은 매뉴얼은 항상 가까이 있지요..

위 링크 여시고 setOnStateChangeListener 로 검색해보세요

블랙넥원 (9,600 포인트) 님이 2013년 5월 28일 답변
윤국형님이 2013년 5월 29일 채택됨
감사합니다 ㅜㅜ 이미 본내용을 모르고 있엇네요 님말듣고 다시보니 알거 같습니다.. 감사합니다
아 그리고 제가 말을 잘못햇는거 같은데 이방법으로 말풍선클릭시 다른액티비티로 넘어가서 그위치의 정보를 표시할려고 하거든요
예를들면 노래방을 지도에 마커해놓으면 마커클릭하면 말풍선뜨고 말풍선클릭하면 다른창이뜨게 할려고 하는거에여
가능하죠? ㅎㅎ
가능합니다! 말풍선을 클릭하면 다른 액티비티로 연결만 해주면 되니까요..^_^
...