Como obter mapas para uso off-line?

15

Passei quase o dia inteiro procurando aplicativos decentes para mapas (decente = gratuito, atualizado, ser de código aberto é uma vantagem).

Acabei com o TrekBuddy, GoPenS , RMaps , Maverick, OruxMaps (os enfatizados parecem os melhores, na minha opinião).

No entanto, agora tenho outro problema - como preparar mapas para esses aplicativos (por favor me ajude com um e espero que eu gerencie o resto) para uso off-line?

Eu gostaria de dar uma volta, pegar o telefone em algum lugar da floresta e ver no mapa onde estou. Por enquanto, ele funciona apenas com conexão à Internet, mas sem ele eu tenho um mapa em grande escala e depois do espaço em branco ampliado ou do ícone "carregando".

Resumindo - PERGUNTA - como alimentar aplicativos / telefone com mapas, para que eu pudesse ampliar / reduzir o mapa livremente quando estiver em estado selvagem (offline)?

Eu gostaria de evitar truques como confiar no cache - portanto, a "solução" para digitalizar regiões interessantes com todas as escalas possíveis e, nesse caso, adquirir a versão off-line do mapa não é possível!

Esclarecimento: não estou procurando outro aplicativo (no entanto, obrigado pelas dicas / links), estou procurando por mapas (dados). Quero obter o mapa da versão on-line (que é baixada automaticamente) para a off-line.

greenoldman
fonte
11
Apenas para esclarecer: você deseja usar mapas offline, mas não deseja armazená-los com antecedência? Como isso deve funcionar?
Izzy
@ Izzy, quero armazená-los com antecedência, no entanto, por uma única ação, não pela varredura manual do mapa on-line, cm por cm apenas para criar cache no aplicativo especificado. Eu expliquei a diferença claramente?
greenoldman
mapas de osmand (quem foi que me falou sobre isso ?!) Seus mapas offline fwiw
t0mm13b 12/08/12
@ t0mm13b, osmand é um aplicativo, não um mapa. E estou procurando uma maneira de transferir mapas on-line para mapas off-line.
greenoldman
Pelo que vale a pena, o TomTom chegará ao Android em outubro .
ale

Respostas:

14

OsmAnd (na Play Store ou F-droid.org (a versão às vezes está um pouco atrasada)) tem os seguintes recursos:

  • Código aberto
  • Totalmente offline (com opção para alguns recursos online)
  • Play Store: Limitado a 16 downloads (gratuito) ou a custos ~ 6EUR (para financiamento)
    (construa você mesmo ou use uma compilação noturna se não quiser pagar ou usar a versão gratuita)
  • Mapas vetoriais offline:

  • Mapas online baseados em blocos (plug-in de cache de dados para GMaps / Bing / Yahoo / e 25? Outros)
  • Integração OSM (relatório de erro, uploads de GPX, edição ao vivo)
  • Navegação offline guiada por voz
  • Rastreamento GPX

O aplicativo ilimitado (no Google Play) custa uma pequena taxa (cerca de 3EUR) para financiar o projeto. Por favor, considere comprá-lo uma vez que você testou a versão gratuita e goste, e não apenas a sanguessuga todas as noites se não quiser apenas testar os recursos avançados. Obviamente, você também pode criar o seu próprio (seu software livre).

downloade de mapa offline no aplicativo

ce4
fonte
Muito obrigado, eu já joguei um pouco com os dados do OSM, baixei os mapas, eles são realmente offline e hoje salvou minha aparência (porque a GM excluiu o "cache" na atualização). Espero conseguir também suportar este aplicativo.
greenoldman
Enquanto eu esbarrei neste tópico, uma boa adição ao OsmAnd é o OsmTracker - IMHO é muito melhor do que o plugin do rastreador do OsmAnd. Pode-se anotar a pista em tempo real e, após terminar de andar / caminhar, faça o upload direto do traço no OSM para edição adicional, por exemplo.
greenoldman
O OpenStreetMap também tem um bom wiki de comparação .
ce4 11/11/12
ótimo aplicativo de fato
Francesco
11

Desde 27 de junho de 2012, o Google Maps para Android está em destaque offline.

Eles fornecem um raio de 16 quilômetros de cache do mapa e, como você pode apontar para diferentes locais e armazená-los em cache, você pode praticamente armazenar em cache o mundo inteiro.

  1. Abra o aplicativo Google Maps;
  2. Após o mapa carregar, pressione o botão de menu e selecione "Configurações";
  3. No painel "Configurações", selecione "laboratórios" e ative a opção "Área do mapa precache".
  4. Retorne à visualização do mapa, navegue até a área que deseja salvar para uso offline;
  5. Uma vez carregado, clique nele para abrir a visualização detalhada e selecione a opção "Área do mapa Precache".

Repita esse processo quantas vezes desejar para armazenar em cache todas as áreas desejadas.


Ligações

Instruções passo a passo mais detalhadas em: Como usar o recurso offline do Google Maps no Android .

Página oficial do Suporte do Google para mapas off-line aqui .

Zuul
fonte
Esta é a solução perfeita ...
Android Quesito
11
Ótima resposta, de fato, manterei a pergunta em aberto por um tempo, porque realmente gostaria de usar os aplicativos mencionados e também tenho medo da expiração de tais mapas. Veja aqui: android.stackexchange.com/questions/13641/…
greenoldman
Não é a solução perfeita: lembre-se de que, mesmo que você tenha baixado os mapas, procurar um endereço não funcionará. (Para não mencionar as direções ...)
fdierre
Meu medo era válido - a GM está em estágio muito alfa ou trata mapas offline como cache de propósito. De qualquer forma, após a atualização, descobri (quando eu já estava em algum lugar na pista) que meus mapas GM estão em branco e estou perdido no vazio. Felizmente, também tenho o OsmAnd instalado com mapas verdadeiramente off-line.
greenoldman
@macias Pessoalmente, eu uso Navfree para navegação off-line, eu tenho o mundo inteiro no meu telefone e não precisa de qualquer conexão com a internet :)
Zuul
5

Use mapas vetoriais em vez de fazer o pré-download ou o armazenamento em cache de blocos de mapas renderizados.

Mapas vetoriais versus bitmap, mapas pré-renderizados e lado a lado

Aqui está a diferença: o cache do Google Maps ou de qualquer outro mapa pré-renderizado armazena dezenas a milhares de blocos de imagens (bitmap) no seu dispositivo. Mesmo compactados, eles ocupam gigabytes de armazenamento, principalmente se você estiver armazenando mapas para um país inteiro.

Além disso, imagens de bitmap são exatamente isso: Imagens. Os aplicativos de mapeamento e especialmente de navegação não podem interpretar o que é exibido na imagem. Então eles não sabem sobre o posto de gasolina mais próximo, o ponto de ônibus, em que rio você está remando, etc.

Um mapa vetorial está em algum formato de dados especial. Para ser exibida, ela deve ser renderizada, o que significa que uma imagem deve ser calculada com base nos dados brutos primeiro. Portanto, a maior desvantagem é que os aplicativos que as utilizam podem consumir mais CPU. No entanto, dependendo da qualidade e dos recursos contidos no mapa vetorial, e da qualidade e recursos do aplicativo, é possível consultar o mapa para navegação de carro, a pé, de bota, de bicicleta. Você pode obter informações sobre os restaurantes mais próximos ou a caixa de correio mais próxima.

Outra vantagem principal dos mapas vetoriais é seu tamanho muito menor em comparação aos dados de bitmap. Enquanto uma imagem de bloco de mapa pré-renderizada pode conter alguns dados de pixel esverdeados e variáveis ​​para representar uma área arborizada que é linear proporcional à área coberta, o mesmo mapa vetorial pode apenas dizer "área arborizada" e armazenar as coordenadas do limite.

Outra vantagem, portanto, é que o aplicativo decide como renderizar a referida área arborizada e, assim, o usuário tem alguma influência sobre como ela gosta de mapas. Você pode dizer ao seu aplicativo de mapeamento para mudar para um esquema de cores vermelho / azul / preto durante a noite sem precisar fazer o download de um segundo conjunto de blocos de bitmap. Ele é recalculado em tempo real após a alteração de algumas configurações e não ocupa memória adicional.

A quantidade de armazenamento e o conjunto de recursos disponíveis são restritos pelos dados contidos no mapa vetorial. Portanto, dependendo das suas necessidades e dos aplicativos, alguns podem querer ter os dados completos do mapa de ruas abertas, enquanto outros se dão bem com apenas um conjunto básico.

Além disso, com mapas vetoriais e sua pequena quantidade de armazenamento e a capacidade de personalizar a renderização dentro de aplicativos, não há necessidade de usar nenhum aplicativo adicional na área de trabalho para preparar os mapas. Baixe arquivos e pronto. Enquanto na teoria isso funciona, na prática os arquivos de dados originais do projeto OpenStreetMap precisam ser convertidos em um formato sintaticamente diferente. Ver abaixo.

Voltando aos procedimentos e aplicativos, ainda sou iniciante no Android. Aqui está o que eu uso hoje.

O Open Street Map é um projeto para fornecer mapas vetoriais com todos os recursos gratuitamente. Como a Wikipedia, os dados do mapa podem ser aprimorados pelos usuários, e isso acontece o tempo todo.

Mapas vetoriais do Mapsforge

Os mapas vetoriais pré-montados do mapa de rua aberto podem ser encontrados como cortesia do projeto mapsforge , em http://download.mapsforge.org/maps/

Usando arquivos originais do Open Street Map

Os arquivos mapsforge acima podem ser usados ​​como estão e, portanto, são a solução mais conveniente. No entanto, se você deseja iniciar a partir dos arquivos originais do Open Street Map, siga este guia para converter os arquivos originais do formato PBF para o formato de mapa usando Osmose . Um exemplo típico de linha de comando seria:

osmosis --read-pbf "hungary.osm.pbf" --mapfile-writer file="hungary.osm.map"

Locus

Como um aplicativo de mapeamento, você pode usar o Locus Free . Baixar e instalar.

Faça o download de qualquer arquivo de mapas vetoriais e armazene-o no telefone na pasta /mnt/sdcard/Locus/MapsVector/_themes/. Pessoalmente, faço o download dos mapas no meu PC de mesa, armazeno-os em uma pasta que eu compartilho via Samba no Linux ou em uma máquina Windows. Então eu uso qualquer gerenciador de arquivos do Android ( Ghost Commander com plug-in Samba , ES File Explorer File Manager ) no meu telefone para copiar os arquivos do local compartilhado para a pasta de mapeamento do dispositivo Android.

OruxMaps

Você também pode usar o aplicativo OruxMaps . Infelizmente ainda não encontrei uma maneira de usar os dois aplicativos sem precisar armazenar os dados do mapa duas vezes. (Os cartões SD não suportam links simbólicos . Se você tiver os dados na memória interna, poderá usá-los e armazenar os mapas apenas uma vez). Você pode usar novamente o gerenciador de arquivos preferido no android para copiar os *.maparquivos da pasta Locus acima mencionada para a pasta em que o OruxMaps armazena seus arquivos de mapa. Por padrão, isso é/mnt/sdcard/oruxmaps/mapfiles

Mude para o novo mapa:

  1. Clique no ícone "mapa" no canto superior direito
  2. Clique em "novo mapa" no menu pop-up
  3. Clique em "offline" no canto superior direito
  4. Escolha qualquer um dos arquivos de mapa * .map

Observe que no OruxMaps você pode navegar pelas subpastas. Portanto, se quiser, use o gerenciador de arquivos para organizar mapas em subpastas. Dica: você pode copiar completamente os dados do mapsforge na pasta de mapas do OruxMaps e nunca mais se preocupar :-)

Observe também que, se você tiver o aplicativo OruxMaps aberto enquanto estiver copiando novos arquivos de mapa para a pasta de dados, talvez seja necessário clicar em "redefinir fontes de mapa" na caixa de diálogo "novo mapa" para garantir que ele releia a pasta de mapa para novos arquivos.

Aqui está um tutorial sobre esses dois aplicativos para temas dos seus mapas . Como mencionado anteriormente, dependendo do aplicativo, você pode influenciar a maneira como os mapas vetoriais são renderizados. Isso inclui configurações de cores, bem como quais dados devem ser incluídos na tela e quais não.

cfi
fonte
2

Graças ao seu esclarecimento, presumo que não há problema em adquirir os dados do mapa no aplicativo. Nesse caso, sugiro que você dê uma olhada no Locus Maps , que é uma excelente solução. Já possui muitas fontes de mapas integradas - e se isso não for suficiente para você, o Map Tweak Addon oferece fontes adicionais.

Recursos adicionais no Locus Maps incluem:

Eu poderia citar ainda mais recursos - e funcionará, se você desejar.

Izzy
fonte
Obrigado por essa resposta, tudo o que você escreveu é muito valioso, mas estou procurando uma maneira de transferir mapas do modo on-line para off-line, para não usar outro aplicativo de mapa - estou procurando dados, não um programa .
greenoldman
3
O problema aqui é se os dados são compatíveis com qual programa. Cada aplicativo usa seu próprio padrão, mais ou menos. Portanto, os dados adequados para um podem não ser adequados para outro - embora possam usar as mesmas fontes, eles podem diferir na maneira de armazenar o material. O mais maravilhoso do Locus é que você pode criar seu próprio KMZ, incluindo imagens (por exemplo, para POIs, etc.) e muito mais. Porém, no AFAIK, também existem alguns sites ou programas de PC que permitem preparar dados de mapa para Locus ou OruxMaps. Para o Locus, alguns deles são mencionados / descritos em seu fórum (o último link na minha resposta vai para lá).
Izzy
Muitos deles mencionam o OpenStreetMap, mas tudo o que vejo nas opções é o cache, não o download.
greenoldman
Essencialmente, é o mesmo (eles são baixados no cache). Na verdade, no Locus é chamado de "download", e eles são armazenados em bancos de dados especiais. Você pode até restringir o Locus para usar apenas esses dados de mapa baixados - ou deixá-lo verificar se há atualizações para a área em que você está.
Izzy
0

Sim, o HERE Maps é muito mais fácil de usar para esse fim. Basta baixar o aplicativo na Play Store e você pode baixar os mapas offline de qualquer estado ou país do mundo.

user44746
fonte
Bem-vindo aos entusiastas do Android. Notei que você mencionou AQUI os mapas também em sua outra resposta. Você é apenas um usuário feliz ou é afiliado a este produto? Observe que este site exige que você mencione qualquer afiliação.
THelper
não, é só que eu aconteço estar respondendo o mesmo tipo de perguntas :)
user44746
não, o HERE Maps não possui todos os países: o Japão e as duas Coréias estão ausentes.
Ccpizza 17/05