2014-02-22 2 views
0

온라인 및 오프라인지도, 온라인지도를 모두 사용할 수있는 응용 프로그램을 만들고 있습니다. Google지도 API를 사용합니다. 오프라인으로 거리지도를 사용합니다 (Google지도를 다운로드하거나 캐시 할 수 없음). 정책에 따라)지도를 부분적으로 다운로드하려면 어떻게해야합니까?부분적으로 안드로이드에서 열린 거리지도를 다운로드하십시오.

예를 들어, 좌표 x, y가있는 운명이 하나 있습니다.이 좌표 주위에서지도 영역을 다운로드하고 나중에 사용하기 위해 장치에 저장하려면 어떻게해야합니까? 나중에로드하는 방법은 무엇입니까?

현재지도보기로만 표시하고 확대 할 수 있습니다.

답변

0

tiles 또는 벡터지도로 구성된 래스터지도에 대해 이야기하고 있습니까? 공식 OSM 서버에서 많은 양의 타일을 다운로드하는 것은 tile usage policy에 대한 것이므로이 서버는 자금 지원 된 리소스에서 실행되기 때문입니다. 그러나 일 수 있습니다 (예 : TileMillMaperitive).

대신 벡터 맵을 사용하려면 OSM wiki으로 이동하고 앞 페이지의 Download 링크를 따르십시오.

아주 작은 영역의 경우 일부 거리에서 regular API을 사용할 수 있습니다. 더 큰 지역의 경우 도시를 말하면 Overpass API을 시도해야합니다. 그리고 무엇보다도 큰 것은 area or country extract을 사용하는 것입니다. 나중에 osmosis, pbftoosmosmconvert과 같은 도구를 사용하여 데이터를 추가로 처리 할 수 ​​있습니다.

이 원시 맵 데이터를 벡터 맵에 렌더링해야한다는 점에 유의하십시오.

0

openstreetmap.org의 wiki를 살펴보고 웹에서 "tiles offline osm"을 검색해야합니다.

그리고 osmdroid이라는 프로젝트가 있습니다. 그것은 Google Maps 위젯의 대부분의 기능을 갖춘 위젯을 가지고 있습니다. 다운로드 한 타일 (특수 도구로 만든 캐시 및 zip 파일)을 활용할 수있는 오프라인 타일 공급자가 있습니다.

이 영역에서 가장 큰 문제 중 하나는 대부분의 타일 서버가 오프라인 사용을 위해 큰 영역의 타일을 다운로드 할 수 없다는 것입니다. Mobile Atlas Creator과 같은 도구를 사용하는 경우 타일 서버가 차단되어 "차단되었습니다"라는 사진 만 다운로드하게됩니다.

이렇게하면 확대/축소 수준 (> 14)이 큰 앱을 사용자에게 제공하려는 경우 문제가 발생합니다. 그러나 작은 도시에 대한지도를 제공하는 경우 개방형 타일 서버 중 하나를 사용하거나 (AFAIK MapQuest는보다 자유로운 다운로드 정책이있는 사이트 중 하나임) 상업용 공급 업체에서 일정량의 타일을 구입할 수 있습니다 (wiki 참조). , 나는 여기에서 광고하고 싶지 않다).

현재지도를 피어 - 투 - 피어 파일로 공유하는 것이 좋을 것입니다. OSM의 라이센스 (적어도 내가 그것을 어떻게 이해했는지)는 OSM 데이터를 기반으로지도를 판매하는 것이 가능하지만 어떤 방식 으로든이지도를 공유하고 게시 할 수 있다고 말합니다.

아무도 AWS/제공 업체/cloudfront/... 비용이 많이 드는지도를 공유하는 솔루션을 찾으면 많은 안드로이드 애플 리케이션 프로그래머에게 흥미로울 것입니다. osmdroid의 장점은 설치된 모든 앱이 동일한지도를 다시 사용할 수 있다는 것입니다.

+0

저는 지금 osmaroid lib를 사용하고 있습니다. 몇 가지 문제가 있습니다. 1. 특정 지역의지도를 다운로드하려면 어떻게해야합니까? (지역 크기는 중요하지만 거리를 더 잘 확대 할 수는 있습니다.)), 어떤 형식으로 저장해야합니까, 2. 내가 그것을 사용하기를 원할 때 어떻게로드합니까? – user1452954

2

mapsforge을 권장합니다. 안드로이드 및 데스크탑 용 오프라인지도를 만들 수 있습니다. 높은 줌 레벨을 가진 타일에 비해 훨씬 적은 대역폭이 필요합니다.단점은 그래프 호퍼처럼 자신의 서버에서 영역 당 하나의지도를 만들어야한다는 것입니다.

+0

조언 해 주셔서 감사합니다.지도를 다운로드하고 만드는 방법에 대한 세부 단계가 있습니까? – user1452954

+0

오프 주제 : http://graphhopper.com/을 살펴 보았습니다. - 멋진 프로젝트! – hgoebl

+0

@ user1452954 mapsforge 맵 작성기로 맵을 만들고 API를 통해 android에로드합니다. 단순해야합니다. 그들의 메일 링리스트에서 물어보십시오. http://code.google.com/p/mapsforge/wiki/GettingStartedMapWriter 중요 : 올바른 버전의 삼투를 사용해야합니다. 0.40.1 만 생각하면 효과가 있습니다! – Karussell