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

구글맵v2 에러문제좀 부탁드립니다 꼭좀 부탁드립니다

0 추천

제가 구글맵 처음하는거라 그냥 예제를 복사붙여넣기해서 수정했는데 키면꺼지네요..

public class Map extends FragmentActivity implements LocationListener {
    private GoogleMap mmap;
    private LocationManager locationManager;
    private String provider;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.map);
        
      GooglePlayServicesUtil.isGooglePlayServicesAvailable(Map.this);
        locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
        Criteria criteria = new Criteria();
        provider = locationManager.getBestProvider(criteria, true);
        
        if(provider==null){  //위치정보 설정이 안되어 있으면 설정하는 엑티비티로 이동합니다
          new AlertDialog.Builder(Map.this)
       .setTitle("위치서비스 동의")
       .setNeutralButton("이동" ,new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
startActivityForResult(new Intent(android.provider.Settings.ACTION_LOCATION_SOURCE_SETTINGS), 0);
}
}).setOnCancelListener(new DialogInterface.OnCancelListener() {
@Override
public void onCancel(DialogInterface dialog) {
finish();
}
})
       .show();
        }else{   //위치 정보 설정이 되어 있으면 현재위치를 받아옵니다
    locationManager.requestLocationUpdates(provider, 1, 1, Map.this);
        setUpMapIfNeeded();
        }
        
    }
    
    @Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {//위치설정 엑티비티 종료 후 
super.onActivityResult(requestCode, resultCode, data);
switch (requestCode) {
case 0:
locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
       Criteria criteria = new Criteria();
       provider = locationManager.getBestProvider(criteria, true);
       if(provider==null){//사용자가 위치설정동의 안했을때 종료 
finish();
}else{//사용자가 위치설정 동의 했을때 
locationManager.requestLocationUpdates(provider, 1L, 2F, Map.this);
        setUpMapIfNeeded();
}
break;
}
}
    
    @Override
public void onBackPressed() {
this.finish();
}
 
    @Override
    protected void onResume() {
        super.onResume();
        setUpMapIfNeeded();
        
    }
 
    @Override
    protected void onPause() {
        super.onPause();
        locationManager.removeUpdates(this);
    }
    
    private void setUpMapIfNeeded() {
if (mmap == null) {
mmap = ((SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map2)).getMap();
if (mmap != null) {
setUpMap();
}
}
}
    
    private void setUpMap() {
    mmap.setMyLocationEnabled(true);
mmap.getMyLocation();
 
}
 
 
 
    boolean locationTag=true;
    
    @Override
    public void onLocationChanged(Location location) {
    if(locationTag){//한번만 위치를 가져오기 위해서 tag를 주었습니다
    Log.d("myLog"  , "onLocationChanged: !!"  + "onLocationChanged!!");
       double lat =  location.getLatitude();
       double lng = location.getLongitude();
    
Toast.makeText(Map.this, "위도  : " + lat +  " 경도: "  + lng ,  Toast.LENGTH_SHORT).show();
      locationTag=false;
    }
 
    }
 
 
 

 

지미니v (1,080 포인트) 님이 2013년 12월 6일 질문
로그
12-05 13:04:14.754: W/dalvikvm(1135): threadid=1: thread exiting with uncaught exception (group=0xb1ae1b90)
12-05 13:04:14.844: E/AndroidRuntime(1135): FATAL EXCEPTION: main
12-05 13:04:14.844: E/AndroidRuntime(1135): Process: com.example.jimin7, PID: 1135
12-05 13:04:14.844: E/AndroidRuntime(1135): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.jimin7/com.example.jimin7.Map}: android.view.InflateException: Binary XML file line #6: Error inflating class fragment
12-05 13:04:14.844: E/AndroidRuntime(1135):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2176)
12-05 13:04:14.844: E/AndroidRuntime(1135):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2226)
12-05 13:04:14.844: E/AndroidRuntime(1135):  at android.app.ActivityThread.access$700(ActivityThread.java:135)
12-05 13:04:14.844: E/AndroidRuntime(1135):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1397)
12-05 13:04:14.844: E/AndroidRuntime(1135):  at android.os.Handler.dispatchMessage(Handler.java:102)
12-05 13:04:14.844: E/AndroidRuntime(1135):  at android.os.Looper.loop(Looper.java:137)
12-05 13:04:14.844: E/AndroidRuntime(1135):  at android.app.ActivityThread.main(ActivityThread.java:4998)
12-05 13:04:14.844: E/AndroidRuntime(1135):  at java.lang.reflect.Method.invokeNative(Native Method)
12-05 13:04:14.844: E/AndroidRuntime(1135):  at java.lang.reflect.Method.invoke(Method.java:515)
12-05 13:04:14.844: E/AndroidRuntime(1135):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:777)
12-05 13:04:14.844: E/AndroidRuntime(1135):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:593)
12-05 13:04:14.844: E/AndroidRuntime(1135):  at dalvik.system.NativeStart.main(Native Method)
12-05 13:04:14.844: E/AndroidRuntime(1135): Caused by: android.view.InflateException: Binary XML file line #6: Error inflating class fragment
12-05 13:04:14.844: E/AndroidRuntime(1135):  at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:713)
12-05 13:04:14.844: E/AndroidRuntime(1135):  at android.view.LayoutInflater.rInflate(LayoutInflater.java:755)
12-05 13:04:14.844: E/AndroidRuntime(1135):  at android.view.LayoutInflater.inflate(LayoutInflater.java:492)
12-05 13:04:14.844: E/AndroidRuntime(1135):  at android.view.LayoutInflater.inflate(LayoutInflater.java:397)
12-05 13:04:14.844: E/AndroidRuntime(1135):  at android.view.LayoutInflater.inflate(LayoutInflater.java:353)
12-05 13:04:14.844: E/AndroidRuntime(1135):  at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:290)
12-05 13:04:14.844: E/AndroidRuntime(1135):  at android.app.Activity.setContentView(Activity.java:1928)
12-05 13:04:14.844: E/AndroidRuntime(1135):  at com.example.jimin7.Map.onCreate(Map.java:42)
12-05 13:04:14.844: E/AndroidRuntime(1135):  at android.app.Activity.performCreate(Activity.java:5243)
12-05 13:04:14.844: E/AndroidRuntime(1135):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
12-05 13:04:14.844: E/AndroidRuntime(1135):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2140)
12-05 13:04:14.844: E/AndroidRuntime(1135):  ... 11 more
12-05 13:04:14.844: E/AndroidRuntime(1135): Caused by: java.lang.IllegalStateException: The meta-data tag in your app's AndroidManifest.xml does not have the right value.  Expected 4030500 but found 0.  You must have the following declaration within the <application> element:     <meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" />
12-05 13:04:14.844: E/AndroidRuntime(1135):  at com.google.android.gms.common.GooglePlayServicesUtil.n(Unknown Source)
12-05 13:04:14.844: E/AndroidRuntime(1135):  at com.google.android.gms.common.GooglePlayServicesUtil.isGooglePlayServicesAvailable(Unknown Source)
12-05 13:04:14.844: E/AndroidRuntime(1135):  at com.google.android.gms.maps.internal.q.v(Unknown Source)
12-05 13:04:14.844: E/AndroidRuntime(1135):  at com.google.android.gms.maps.internal.q.u(Unknown Source)
12-05 13:04:14.844: E/AndroidRuntime(1135):  at com.google.android.gms.maps.MapsInitializer.initialize(Unknown Source)
12-05 13:04:14.844: E/AndroidRuntime(1135):  at com.google.android.gms.maps.SupportMapFragment$b.cE(Unknown Source)
12-05 13:04:14.844: E/AndroidRuntime(1135):  at com.google.android.gms.maps.SupportMapFragment$b.a(Unknown Source)
12-05 13:04:14.844: E/AndroidRuntime(1135):  at com.google.android.gms.dynamic.a.a(Unknown Source)
12-05 13:04:14.844: E/AndroidRuntime(1135):  at com.google.android.gms.dynamic.a.onInflate(Unknown Source)
12-05 13:04:14.844: E/AndroidRuntime(1135):  at com.google.android.gms.maps.SupportMapFragment.onInflate(Unknown Source)
12-05 13:04:14.844: E/AndroidRuntime(1135):  at android.support.v4.app.FragmentActivity.onCreateView(FragmentActivity.java:290)
12-05 13:04:14.844: E/AndroidRuntime(1135):  at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:685)
12-05 13:04:14.844: E/AndroidRuntime(1135):  ... 21 more

1개의 답변

0 추천
건방진프로그래머 (26,630 포인트) 님이 2013년 12월 6일 답변
...