앞서 포스팅을 해드렸듯이, 아이폰 OS 3.0에서는 심볼릭 링크를 제한하게되어 실제로 오프라인맵을 사용하기가 어렵습니다.

2009/07/10 - [.아이폰/아이팟터치Story.] - .아이폰/아이팟터치 펌웨어 3.0 오프라인맵 사용 실험기.

일단, 심볼릭 링크 문제로 수작업으로 만든 지도 데이타는 구글맵이 사용하는 구글 캐쉬 디렉토리에 업로드해야만 오프라인에서 구글지도를 볼 수 있습니다.

문제는 온라인 상태로 구글맵을 사용하게 되면, 업로드한 지도 데이타가 삭제됩니다.

그러면, 다시 구글 캐쉬 디렉토리로 지도 데이타를 업로드 해주거나, 다른 디렉토리에 임시로 보관했다가 구글 캐쉬 디렉토리로 복사해주어야하고 이런 과정 때문에 효용성이 떨어지게 됩니다.

새로운 오프라인맵 3.0 어플은 이 때문에, 복사하는 기능까지 추가되어 있습니다.

잠깐! 지도 데이타는 어떻게 만드는지 모르신다면 이곳을 먼저 보세요.
2009/03/13 - [.아이폰/아이팟터치어플Story./.Navigation.] - .아이팟터치 오프라인 구글맵(대한민국), OfflineMaps + GMDL.

이번 글에서는 온라인 상태에서 구글맵을 사용하여도 수동으로 업로드한 지도데이타가 지워지지 않고 보존하는 방법을 알려드리겠습니다.

사실 이번 방법은 더 이상 오프라인맵 어플을 사용하지도 않습니다. 해킹된(Jailbreak) 아이폰/아이팟터치만 적용할 수 있습니다.

디렉토리 Permission 수정으로 작업은 비교적 간단합니다.

1. 지도 데이타를 아이폰/아이팟터치 구글맵 캐쉬 디렉토리에 업로드

업로드 파일 : MapTiles.sqlitedb
업로드 디렉토리 : /var/mobile/Library/Caches/MapTiles

2. Putty와 같은 SSH 접속후 아래와 같이 입력해줍니다.

chmod 555 /var/mobile/Library/Caches/MapTiles

3. Putty가 없으면 iFile 같은 어플로 /var/mobile/Library/Caches/MapTiles 디렉토리의 쓰기 권한을 없애주고 읽기와 실행권한만을 남겨줍니다. (User, Group, World의 Read와 Excute만을 셋팅해주고 나머지는 해제합니다.)

2009/07/24 - [.아이폰/아이팟터치어플Story./.Utilities.] - .아이폰/아이팟터치 최고의 파일탐색기 :: iFile.

작업은 이것으로 끝입니다.
오프라인이건 온라인이건 구글 캐쉬 디렉토리에 있는 지도 데이타는 이제 삭제되지 않습니다.

이 해결책의 또 다른 문제는 온라인 상태에서도 지도 데이타에 없는 지역을 볼수가 없습니다. 새로운 지역을 구글맵이 저장할 수 없기 때문입니다. 새로운 지역을 보게되면, 구글맵 어플이 화면을 제대로 보여주지 못하니, 이때는 종료후 다시 실행해주면 원래 지도 데이타에 있는 지역은 다시 잘 보이게 됩니다.

온라인 상태에서도 지도 데이타에 없는 지역은 안봐도 상관 없으시다면,
이 방법으로 지도 데이타가 삭제되는 문제는 해결할 수 있습니다.

.원상복구 방법.

Putty와 같은 SSH 접속후 아래와 같이 입력해줍니다.
chmod 755 /var/mobile/Library/Caches/MapTiles

iFile을 사용하신다면 /var/mobile/Library/Caches/MapTiles 디렉토리의 User의 권한을 Read, Write, Excute로 셋팅합니다.

+ Recent posts