2012-08-26 3 views
4

Android는 버전 (4+?)에서 오프라인지도를 소개합니다. 휴대 전화에서 캐시 할 영역을 선택하면 Google지도에서지도 데이터를 핸드셋에 다운로드 할 수 있습니다.앱이 Android 4 이상의 Google 오프라인지도를 사용하려면 어떻게해야하나요?

의견 : 데이터를 사용하고 싶습니다. 이미 내 장치에 있습니다 (사용자가 오프라인지도를 다운로드하기 전에 사용했던 경우). Google 서버에 새로운 데이터 연결을 열지 마십시오 (예 : 데이터 요금이 부과 될 수 있음).

내지도에서지도 데이터를 사용할 수 있습니까? 예 : 지도 앱을 전송하여 (아마도 오버레이가있는) 영역을 표시합니까? 또는 내 앱에서지도 위젯을 사용 하시겠습니까?

내가 내 응용 프로그램에 Google 서버에서 일부 타일을 다운로드에 대해서 이야기하고 있지 않다

+0

Google 서버의 일부 타일을 앱에 다운로드하는 것에 대해 이야기하는 것이 아니라 "오프라인지도"가하는 것과 정확히 같습니다. 어쨌든, 이것은 법적 질문입니까? 도둑을 훔치는 것이 괜찮은지 묻고 있습니까? ;-) – Marcelo

+0

의도를 통한 표시가 가능하지만 앱에서 해당 데이터를 사용할 수 없습니다. – Gogu

+0

+ Marcelo : Google지도 앱이 이미 다운로드 한 타일을 사용하고 싶습니다. –

답변

3

내가 사용할 수 이 내 응용 프로그램 내에서지도 데이터 - 예를 들어, 지도 앱을 전송하여 (아마도 오버레이가있는) 영역을 표시합니까?

글쎄, 당신은 ACTION_VIEW하고 geo:Intent를 사용하여지도 응용 프로그램을 호출 할 수 있습니다. 캐시 된 영역을 볼 수 있는지 여부는 사용자가 사용하는지도 응용 프로그램과 사용자가 지정된 위도 및 경도 주변의 영역을 캐시했는지 여부에 따라 다릅니다.

또는 내 앱에서지도 위젯을 사용 하시겠습니까? 앱에서 MapView를 통합 할 수 있지만

는,이 캐시 된 데이터를 사용하지 않습니다. 부분적으로는 MapView 코드가이 캐싱 항목보다 선행하기 때문입니다. 부분적으로는 캐시 된 데이터가 다른 프로세스 (지도 앱)에서 소유하고 있으므로 액세스 할 수 없기 때문입니다.

+0

geo : intent가 마커 또는 오버레이를 지원하지 않습니다. 그렇지 않으면지도 응용 프로그램이 작동하는 것처럼 보입니다. 물론 사용자는 데이터를 먼저 다운로드해야합니다. –

+0

@HeikoRupp : "지리 정보 : 모든 마커 또는 오버레이를 지원하지 않습니다."- 정확합니다. 지도에 그려야한다면'MapView'가 필요합니다.이 경우 오프라인 캐시를 잃게됩니다. 또는 자체 캐시 (예 : OpenStreetMap 및 OSMDroid)를 제공하는 다른 매핑 솔루션으로 전환하십시오. – CommonsWare

+0

OSM에 대해 알고 있지만 실제로 이것은 사용자를위한 추가 단계를 의미합니다. 나는/그냥 "Google"이 고정 될 때까지 기다릴 필요가있는 것처럼 보입니다. –

관련 문제