package jskim.lauraguide;
import android.os.Environment;
import android.os.Handler;
import android.os.Message;
import geoservice.blackpoint.MouseMode;
import geoservice.blackpoint.XrMap;
import geoservice.blackpoint.base.CoordMapper;
import geoservice.blackpoint.base.MBR;
import geoservice.blackpoint.managers.LayerManager;
import geoservice.blackpoint.view.layers.ShapeLayer;
public class MapLoadThread extends Thread {
private XrMap map = null;
public MapLoadThread(XrMap map) {
this.map = map;
}
public void run() {
map.setMouseMode(MouseMode.NoneMode);
LayerManager layerMan = map.getLayerManager();
String ess = Environment.getExternalStorageState();
String sdCardPath = null;
if(ess.equals(Environment.MEDIA_MOUNTED)){
sdCardPath = Environment.getExternalStorageDirectory().getAbsolutePath();
}
else {
sdCardPath = Environment.MEDIA_UNMOUNTED;
}
String rootDir = sdCardPath + "/mapdata/samples";
ShapeLayer lyr = new ShapeLayer("도로", rootDir + "/roads.shp");
layerMan.addLayer(lyr);
map.setMouseMode(MouseMode.MapViewMode);
handler.sendEmptyMessage(0);
}
private Handler handler = new Handler() {
public void handleMessage(Message msg) {
CoordMapper coordMapper = map.getCoordMapper();
LayerManager layerMan = map.getLayerManager();
MBR mbr = layerMan.getMBR();
coordMapper.zoomByMBR(mbr);
map.update();
}
};
}
현재 Blackpoint GIS엔진을 이용하여 GIS 앱을 개발중에 있습니다.
헌데 파일경로를 못읽는지 자꾸 에러가 뜨네요...
자꾸 중지되었습니다.. 라고 뜨는데..
스레드를 메인 엑티비티와 병행에서 띄우는 부분에 있는건지..
아니면 파일불러오는 부분에서 문제가 있는건지 알 수 없네요..
파일은 지정된 위치에 저장을 시켜놓았고요...
CatLog를 확인했을 경우에는 Environment에서 root값이 null 값이라고만 떠서 파일경로 문제겠거니 하고 있거든요..
이거 어떻게 처리해야 하나요?
참고로 기종은 갤럭시 노트2 입니다만.. 다른 기종에서도 변함없이 돌아가게 하려면 어떻게 해야 하나요?
혹시 파일을 res에 저장해서 참고하는 형식으로 가면 문제가 해결될까요???