이게 제 소스인데 오류가 나는데 어디서나는지는 알겠는데 왜 null오류가 나는지 모르겠어요ㅠㅠ
package com.inhatc.map;
import java.io.*;
import java.util.*;
import com.google.android.maps.*;
import com.inhatc.book.*;
import com.inhatc.bookandlibrary.*;
import android.content.*;
import android.graphics.drawable.*;
import android.location.*;
import android.os.Bundle;
import android.util.*;
import android.view.*;
import android.view.ViewGroup.LayoutParams;
import android.widget.*;
public class Map extends MapActivity {
private MapView objMapView;
private double country;
private double area;
private GeoPoint objGP;
private List<Address> addr;
private ImageView marker;
private String lib_name;
private String data;
private Book book;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.mapview);
objMapView = (MapView)findViewById(R.id.mapView);
objMapView.setStreetView(true); //지도 View
objMapView.setBuiltInZoomControls(true); //Zoom in/out 설정
marker = new ImageView(this); //marker생성
marker.setImageResource(R.drawable.marker); //marker이미지 id값 저장
book = new Book();
data = book.libname.get(0).address.toString(); //여기서 nullPointerException오류가 나네요 왜그렇죠??ㅠㅠ
try {
Geocoder geo = new Geocoder(this, Locale.KOREAN ); //한국으로 지역설정
addr = geo.getFromLocationName(data, 5); //찾을 위치
if (addr.size() > 0) {
country = addr.get(0).getLatitude()*1E6; //위도
area = addr.get(0).getLongitude()*1E6; //경도
objGP = new GeoPoint((int)country, (int)area); //표시할 위치
MapController objMC = objMapView.getController();
objMC.animateTo(objGP);
objMC.setCenter(objGP);
objMC.setZoom(16);
MapView.LayoutParams lp = new MapView.LayoutParams(LayoutParams.WRAP_CONTENT,
LayoutParams.WRAP_CONTENT, objGP, MapView.LayoutParams.CENTER);
objMapView.addView(marker, lp);
} else {
Toast toast=Toast.makeText(this, "찾을 수 없습니다.", Toast.LENGTH_SHORT);
toast.show();
}
} catch (IOException e) {
Toast toast=Toast.makeText(this, "Failed to bringing location", Toast.LENGTH_SHORT);
toast.show();
}
}
@Override
protected boolean isRouteDisplayed() {
return false;
}
@Override
public boolean onCreateOptionsMenu(Menu menu) { //메뉴 생성
super.onCreateOptionsMenu(menu);
menu.add(0,1,0, "지도모드"); //streetview
menu.add(0,2,0, "위성모드"); //statellite
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) { //메뉴선택 속성
switch(item.getItemId()){
case 1: //지도
objMapView.setStreetView(true);
objMapView.setSatellite(false);
return true;
case 2: //위성
objMapView.setStreetView(false);
objMapView.setSatellite(true);
return true;
}
return false;
}
}
이건 Logcat오류 입니다.
06-27 06:09:49.046: E/AndroidRuntime(9917): FATAL EXCEPTION: main
06-27 06:09:49.046: E/AndroidRuntime(9917): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.inhatc.bookandlibrary/com.inhatc.map.Map}: java.lang.NullPointerException
06-27 06:09:49.046: E/AndroidRuntime(9917): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1651)
06-27 06:09:49.046: E/AndroidRuntime(9917): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1667)
06-27 06:09:49.046: E/AndroidRuntime(9917): at android.app.ActivityThread.access$1500(ActivityThread.java:117)
06-27 06:09:49.046: E/AndroidRuntime(9917): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:935)
06-27 06:09:49.046: E/AndroidRuntime(9917): at android.os.Handler.dispatchMessage(Handler.java:99)
06-27 06:09:49.046: E/AndroidRuntime(9917): at android.os.Looper.loop(Looper.java:130)
06-27 06:09:49.046: E/AndroidRuntime(9917): at android.app.ActivityThread.main(ActivityThread.java:3687)
06-27 06:09:49.046: E/AndroidRuntime(9917): at java.lang.reflect.Method.invokeNative(Native Method)
06-27 06:09:49.046: E/AndroidRuntime(9917): at java.lang.reflect.Method.invoke(Method.java:507)
06-27 06:09:49.046: E/AndroidRuntime(9917): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:847)
06-27 06:09:49.046: E/AndroidRuntime(9917): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:605)
06-27 06:09:49.046: E/AndroidRuntime(9917): at dalvik.system.NativeStart.main(Native Method)
06-27 06:09:49.046: E/AndroidRuntime(9917): Caused by: java.lang.NullPointerException
06-27 06:09:49.046: E/AndroidRuntime(9917): at com.inhatc.map.Map.onCreate(Map.java:39)
06-27 06:09:49.046: E/AndroidRuntime(9917): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1050)
06-27 06:09:49.046: E/AndroidRuntime(9917): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1615)
06-27 06:09:49.046: E/AndroidRuntime(9917): ... 11 more



