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

네이버 지도 api 질문입니다...

0 추천
현재 학교에서 어플관련 프로젝트 과제 진행중인 대학생입니다 ㅠㅠ
제가 네이버 지도 API 예제를 통해 지도를 구현했고
개발중인 어플에 네이버 지도를 넣었는데
줌컨트롤러라거나 marker는 다 표시가 되는데 지도만 안나옵니다....
API키 패키지명 맞게 줘서 발급 받았는데
지도를 따로 다른 프로젝트에서 돌렸을때는 지도가 표시됐는데
어플에 넣으니까 지도가 안나오네요.... 아래 사진처럼..
소스 첨부했어요 부탁드리겠습니다 ㅠㅠㅠ
 
//소스 코드
public class StoreMap extends NMapActivity implements OnMapStateChangeListener, OnCalloutOverlayListener {
private NMapView mMapView; 
private NMapController mMapController;
NMapViewerResourceProvider mMapViewerResourceProvider = null;
NMapOverlayManager mOverlayManager;
String API_KEY = "b17185a061a959ffc84a43b1185442ac";
 
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_storemap);
   LinearLayout linear = (LinearLayout)findViewById(R.id.map);
   mMapView = new NMapView(this);
   mMapView.setApiKey(API_KEY);
mMapView.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, 0, 1));
   linear.addView(mMapView);
   
        mMapView.setClickable(true); 
        // register listener for map state changes 
        mMapView.setBuiltInZoomControls(true,null);
        mMapView.setOnMapStateChangeListener(new OnMapStateChangeListener(){

            @Override 
            public void onZoomLevelChange(NMapView arg0, int arg1) { 
                // TODO Auto-generated method stub 
            }
            @Override 
            public void onMapInitHandler(NMapView arg0, NMapError errorInfo) { 
                // TODO Auto-generated method stub 
                if (errorInfo == null) { // success 
                    mMapController.setMapCenter(new NGeoPoint(129.2561333, 35.5437482), 11); 
                } else { // fail 
                    Log.e("NMap", "onMapInitHandler: error=" + errorInfo.toString()); 
                    // errInfo -> errorInfo
                }
            }
            @Override 
            public void onMapCenterChangeFine(NMapView arg0) { 
                // TODO Auto-generated method stub 
            } 
            @Override 
            public void onMapCenterChange(NMapView arg0, NGeoPoint arg1) { 
                // TODO Auto-generated method stub 
            } 
            @Override 
            public void onAnimationStateChange(NMapView arg0, int arg1, int arg2) { 
                // TODO Auto-generated method stub 
            } 
        });
     mMapView.setOnMapViewTouchEventListener(new OnMapViewTouchEventListener() { 
            
        @Override 
            public void onTouchUp(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 onSingleTapUp(NMapView arg0, MotionEvent arg1) { 
                // TODO Auto-generated method stub 
            } 

            @Override 
            public void onScroll(NMapView arg0, MotionEvent arg1, 
                    MotionEvent arg2) { 
                // TODO Auto-generated method stub 
            } 

            @Override 
            public void onLongPressCanceled(NMapView arg0) { 
                // TODO Auto-generated method stub 
            } 
            @Override 
            public void onLongPress(NMapView arg0, MotionEvent arg1) { 
                // TODO Auto-generated method stub 
            } 
        });
  // use map controller to zoom in/out, pan and set map center, zoom level 
     // etc. 
     mMapController = mMapView.getMapController(); 
     
     mMapViewerResourceProvider = new NMapViewerResourceProvider(this);
     
     mOverlayManager = new NMapOverlayManager(this, mMapView, mMapViewerResourceProvider);
     
     int markerId = NMapPOIflagType.PIN;
     
     NMapPOIdata poiData = new NMapPOIdata(2, mMapViewerResourceProvider);
     poiData.beginPOIdata(2);
     poiData.addPOIitem(127.0630205, 37.5091300, "음식점1", markerId, 0);
     poiData.addPOIitem(127.061,37.51, "음식점2", markerId,0);
     poiData.endPOIdata();
     
     NMapPOIdataOverlay poiDataOverlay = mOverlayManager.createPOIdataOverlay(poiData, null);
     
     poiDataOverlay.showAllPOIdata(0);
     
     mOverlayManager.setOnCalloutOverlayListener(this);
     
    
  
   
findViewById(R.id.storebackbtn4).setOnClickListener(mClickListener);
} // end onCreate() 
Button.OnClickListener mClickListener = new Button.OnClickListener(){
public void onClick(View v){
if(v.getId() == R.id.storebackbtn4){
finish();
}
}
};
@Override
public NMapCalloutOverlay onCreateCalloutOverlay(NMapOverlay arg0,
NMapOverlayItem arg1, Rect arg2) {
// TODO Auto-generated method stub
return null;
}
@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 arg0, NMapError arg1) {
// TODO Auto-generated method stub
}
@Override
public void onZoomLevelChange(NMapView arg0, int arg1) {
// TODO Auto-generated method stub
}
}

 

 

익명사용자 님이 2013년 12월 22일 질문
<uses-permission android:name="android.permission.INTERNET"/>
이거 AndroidManifest.xml에 추가 안해줘서 그런걸로 알고 있어요

1개의 답변

0 추천
지도를 따로 다른 프로젝트에서 돌렸을때는 지도가 표시됐는데
어플에 넣으니까 지도가 안나오네요.... 아래 사진처럼.
=> 요기서 좀 의심스러운 부분이,
네이버 API 키 등록시 패키지 네임을 등록하는데,
아마 키가 다른 프로젝트에서 등록된 패키지 네임으로 등록이 된게 아닌가 보네요.
키에 해당하는 패키지 네임 확인해보세요.
이스트플랙 (2,510 포인트) 님이 2013년 12월 27일 답변
...