안드로이드 맵을 프래그먼트로 바꾸고
탭을 이용해서 연동을 하려고 하는데 자꾸 에러나네요.ㅠ...ㅠ
탭으로 연동하지 않고 그냥 프래그먼트를 사용하면 제대로 실행되는데
탭으로 연동할때만 에러가 나요.. 혹시 무슨 에러인지 알수 있을까요??..
코드
public class Map extends Fragment implements OnMapClickListener,LocationListener,OnMarkerClickListener{
MapFragment mapFragment;
GoogleMap mGooglemap;
LatLng my_location;
double [] my_gps;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
{
View view = inflater.inflate(R.layout.map, container, false);
mapFragment = (MapFragment)getFragmentManager().findFragmentById(R.id.mmap);
mGooglemap = mapFragment.getMap();
setUpMapIfNeeded();
return view;
}
private void setUpMapIfNeeded(){ //맵이 켜져있는지 안켜져있는지 비교
if(mGooglemap != null){
setUpMap();
}
}
private void setUpMap(){ //맵을 시작할때 seting 해줌
my_gps = Mylocation.getMyLocation(getActivity());
my_location = new LatLng(my_gps[0],my_gps[1]);
mGooglemap.moveCamera(CameraUpdateFactory.newLatLngZoom(my_location, 15));
mGooglemap.setOnMapClickListener(this);
mGooglemap.setMyLocationEnabled(true);
mGooglemap.getMyLocation();
mGooglemap.setOnMarkerClickListener(this);
}
public void onMapClick(LatLng point) { //지도를 클릭 했을때 실행
Toast.makeText(getActivity(), "위도 : " + point.latitude + "\n경도 : "+point.longitude,
Toast.LENGTH_SHORT).show();
}
public void onLocationChanged(Location location) {}
public void onProviderDisabled(String provider) { }
public void onProviderEnabled(String provider) {}
public void onStatusChanged(String provider, int status, Bundle extras) {}
public boolean onMarkerClick(Marker marker) { // 마커를 클릭했을때 실행
return true;
}
연동 부분
Map mf = new Map();
FragmentTransaction transaction = getFragmentManager().beginTransaction();
transaction.add(R.id.tab_layout, mf);
transaction.commit();
tabhost.setCurrentTab(3);
로그
05-23 18:53:57.466: D/AndroidRuntime(31057): Shutting down VM
05-23 18:53:57.466: W/dalvikvm(31057): threadid=1: thread exiting with uncaught exception (group=0x417972a0)
05-23 18:53:57.496: E/AndroidRuntime(31057): FATAL EXCEPTION: main
05-23 18:53:57.496: E/AndroidRuntime(31057): java.lang.RuntimeException: Unable to start activity ComponentInfo{project.coffee/project.coffee.CoffeeTab}: android.view.InflateException: Binary XML file line #6: Error inflating class fragment
05-23 18:53:57.496: E/AndroidRuntime(31057): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2110)
05-23 18:53:57.496: E/AndroidRuntime(31057): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2135)
05-23 18:53:57.496: E/AndroidRuntime(31057): at android.app.ActivityThread.access$700(ActivityThread.java:140)
05-23 18:53:57.496: E/AndroidRuntime(31057): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1237)
05-23 18:53:57.496: E/AndroidRuntime(31057): at android.os.Handler.dispatchMessage(Handler.java:99)
05-23 18:53:57.496: E/AndroidRuntime(31057): at android.os.Looper.loop(Looper.java:137)
05-23 18:53:57.496: E/AndroidRuntime(31057): at android.app.ActivityThread.main(ActivityThread.java:4921)
05-23 18:53:57.496: E/AndroidRuntime(31057): at java.lang.reflect.Method.invokeNative(Native Method)
05-23 18:53:57.496: E/AndroidRuntime(31057): at java.lang.reflect.Method.invoke(Method.java:511)
05-23 18:53:57.496: E/AndroidRuntime(31057): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1027)
05-23 18:53:57.496: E/AndroidRuntime(31057): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:794)
05-23 18:53:57.496: E/AndroidRuntime(31057): at dalvik.system.NativeStart.main(Native Method)
05-23 18:53:57.496: E/AndroidRuntime(31057): Caused by: android.view.InflateException: Binary XML file line #6: Error inflating class fragment
05-23 18:53:57.496: E/AndroidRuntime(31057): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:704)
05-23 18:53:57.496: E/AndroidRuntime(31057): at android.view.LayoutInflater.rInflate(LayoutInflater.java:746)
05-23 18:53:57.496: E/AndroidRuntime(31057): at android.view.LayoutInflater.inflate(LayoutInflater.java:489)
05-23 18:53:57.496: E/AndroidRuntime(31057): at android.view.LayoutInflater.inflate(LayoutInflater.java:396)
05-23 18:53:57.496: E/AndroidRuntime(31057): at project.coffee.Map.onCreateView(Map.java:58)
05-23 18:53:57.496: E/AndroidRuntime(31057): at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:829)
05-23 18:53:57.496: E/AndroidRuntime(31057): at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1035)
05-23 18:53:57.496: E/AndroidRuntime(31057): at android.app.BackStackRecord.run(BackStackRecord.java:635)
05-23 18:53:57.496: E/AndroidRuntime(31057): at android.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1399)
05-23 18:53:57.496: E/AndroidRuntime(31057): at android.app.Activity.performStart(Activity.java:5215)
05-23 18:53:57.496: E/AndroidRuntime(31057): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2083)
05-23 18:53:57.496: E/AndroidRuntime(31057): ... 11 more
05-23 18:53:57.496: E/AndroidRuntime(31057): Caused by: java.lang.RuntimeException: API key not found. Check that <meta-data android:name="com.google.android.maps.v2.API_KEY" android:value="your API key"/> is in the <application> element of AndroidManifest.xml
05-23 18:53:57.496: E/AndroidRuntime(31057): at maps.aj.ay.a(Unknown Source)
05-23 18:53:57.496: E/AndroidRuntime(31057): at maps.aj.ay.a(Unknown Source)
05-23 18:53:57.496: E/AndroidRuntime(31057): at maps.aj.al.a(Unknown Source)
05-23 18:53:57.496: E/AndroidRuntime(31057): at maps.aj.bf.a(Unknown Source)
05-23 18:53:57.496: E/AndroidRuntime(31057): at maps.aj.be.a(Unknown Source)
05-23 18:53:57.496: E/AndroidRuntime(31057): at bcw.onTransact(SourceFile:107)
05-23 18:53:57.496: E/AndroidRuntime(31057): at android.os.Binder.transact(Binder.java:326)
05-23 18:53:57.496: E/AndroidRuntime(31057): at com.google.android.gms.maps.internal.IMapFragmentDelegate$a$a.onCreateView(Unknown Source)
05-23 18:53:57.496: E/AndroidRuntime(31057): at com.google.android.gms.maps.MapFragment$a.onCreateView(Unknown Source)
05-23 18:53:57.496: E/AndroidRuntime(31057): at com.google.android.gms.internal.bb$4.b(Unknown Source)
05-23 18:53:57.496: E/AndroidRuntime(31057): at com.google.android.gms.internal.bb.a(Unknown Source)
05-23 18:53:57.496: E/AndroidRuntime(31057): at com.google.android.gms.internal.bb.onCreateView(Unknown Source)
05-23 18:53:57.496: E/AndroidRuntime(31057): at com.google.android.gms.maps.MapFragment.onCreateView(Unknown Source)
05-23 18:53:57.496: E/AndroidRuntime(31057): at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:807)
05-23 18:53:57.496: E/AndroidRuntime(31057): at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1013)
05-23 18:53:57.496: E/AndroidRuntime(31057): at android.app.FragmentManagerImpl.addFragment(FragmentManager.java:1112)
05-23 18:53:57.496: E/AndroidRuntime(31057): at android.app.Activity.onCreateView(Activity.java:4857)
05-23 18:53:57.496: E/AndroidRuntime(31057): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:680)
05-23 18:53:57.496: E/AndroidRuntime(31057): ... 21 more