2011-08-01 3 views
1

iPad 용 HTML5 앱을 제작 중이며 기본 문맥 정보 용지도가 포함됩니다. 오프라인으로지도를 오프라인으로 캐시하는 방법이 필요합니다. 즉, 연결이없는 지역으로 가려고하므로 미리지도의 일부를 캐시에 남겨 둡니다.iPad 용 Openlayers 오프라인 캐싱

또는 내가 벡터에지도를 변환 얼마나 그들의 WebSQL 저장소에서 그 경우 벡터 레이어를 렌더링

감사 패닝 맵이 벡터를 표시 (사이 즉, 스왑 또는 너무 벡터 레이어를 추가) 할 수 있습니다 사전에

답변

2

일부 사람들은 2 월에 OpenLayers Mobile Codesprint를 통해 로컬 스토리지 지원을 실험하고있었습니다. 그들이 성취 한 것의 Here is an example. 나는 당신이 체크 아웃 jgrocha's sandbox를 추천하고 그들이 당신의 요구에 맞는 지보십시오.

+0

감사합니다. 전에 jgrocha의 예와 다른 것을 살펴 보았습니다. 기능을 오프라인으로 저장하는 데 문제가 없지만지도 타일을 저장하는 방법을 찾고 있습니다. – TheGwa

1

touchMapLite처럼 보이는 일부 오프라인 캐싱 기능이 있습니다. 내가 얼마나 잘 (또는 경우) 작동보고 너무 멀리에 파고하지 않은,하지만 당신은 내가를 사용한 캐시지도 타일

http://sourceforge.net/projects/touchmaplite/

+0

감사합니다. 멋지다. 나는 더 조사 할 것이고 당신에게 돌아갈 것이다. – TheGwa

0

을 채우고 검색의 예이 있다는 것을 코드에서 볼 수 있습니다 ipod touch 앱이 OffMaps라고 불렀습니다. 그것은 ipod에서 직접 보는 모든 것을 캐시하고 나중에 Wi-Fi에 있지 않을 때지도 프로그램을 사용할 수 있으며 그 타일은 여전히 ​​있습니다. 그들이 어떻게 그랬는지는 모르지만 그것은 가능하다는 것을 증명합니다.

1

나는 openlayers 샌드 박스에서 영감을 얻어 cloudmade tms layer togeteher를 사용하여이 작업을 수행했습니다.

즉, 레이어의 async 속성을 true로 설정하고 해당 레이어에 getURLasync 메서드를 제공해야합니다. 이 방법에서는 레이어가 로컬 저장소/웹 데이터베이스에 있는지 확인하고 웹에서 타일을로드 할 수 있습니다.

getURLasync 메서드는 이미지를 오프라인 캐쉬에 없으면 타일을 저장하는 데 필요한 dataurl 문자열로 변환 할 수있는 속성으로 사용할 수 있습니다.

당신은 여기에 몇 가지 예제 코드를 찾을 수 있습니다 응답을 http://allartk.nl/content/html5-offline-mapping