Exibindo arquivo local no Google Maps?


46

Como posso exibir um arquivo KML / KMZ no Google Maps sem um servidor Web público?


O aspecto irônico da sua pergunta é que você está conectado à Internet. Como você obtém o Google Maps?
22410 CrazyEnigma

por "sem um servidor público", você quer dizer que o kml precisa estar na máquina local ou que você não precisa se preocupar em instalar / configurar / comprar um site público? E o mapa personalizado que você deseja criar precisa ser visto por outras pessoas ou apenas por você?
27510 Matthews wilkie

A situação é "eu posso acessar a internet, mas a internet não pode acessar a mim". Nesse caso, você não pode usar o suporte a arquivos KML na API do Google Maps.
Christopher Schmidt

display-kml.appspot.com é outra opção, suponho.
Karl Henselin 29/09

Você pode baixar KML / KMZ para o Google Drive, ele suporta nativamente visualização docs.google.com/file/d/0B9sBXp66G86xWmlRbkZiYlRNdmc/edit
KindDragon

Respostas:


32

Para abrir um arquivo KML ou KMZ no Google Maps, anexo o seguinte prefixo a um link online do arquivo KML:

http://maps.google.com/maps?q=

Normalmente, coloco o KML ou KMZ na minha caixa de depósito e copio / colo o link público no final do trecho acima. Depois, posso enviar por e-mail esse link para quem quiser, ou publicá-lo online em algum lugar. Também usei o Google Docs para armazenar os KMLs e uma página de Links no meu site para distribuir os links.

Exemplo:

Caminhada na Montanha Harvey:

http://maps.google.com/maps?q=http://dl.dropbox.com/u/359140/KML/HarveyMountainHike.kmz


14
Essa abordagem parece não funcionar mais. Ao clicar no link acima, recebo o google maps com o link do seu dropbox na caixa de pesquisa.
Derek Greer

7
Trabalhar com o KML em maps.google.com será descontinuado em breve: support.google.com/maps/answer/41136?hl=pt-BR
Koen.

1
Descobri que você pode simplesmente clicar no link de compartilhamento do Google Drive e o KMZ será carregado automaticamente no Google Maps sem nenhuma outra necessidade de extensão. Testado no Chrome e no Explorer.
Emil Brundage

10
O Google Maps quebrou / descontinuou esse recurso.
hendry

5
Abril de 2017 ATUALIZAÇÃO: você pode importar diretamente um arquivo KML para o recurso "Meus Mapas" do Google Maps e ele exibirá todos os seus dados KML em um formato do Google Maps.
precisa saber é

31

Isso é para algo que você deseja disponibilizar permanentemente para outras pessoas ou apenas para visualização temporária?

Um dos truques que eu uso com frequência é colocar o arquivo KML na minha pasta pública do DropBox (encontrar alguém com uma conta para indicar você; ele receberá 250Mb extras para você e eles) e colar esse URL no Google Maps para visualize e compartilhe com outras pessoas a curto prazo.

A longo prazo, você tem a opção de criar um novo mapa "Meus Mapas" do Google e importar KML, KMZ ou GeoRSS para ele. Depois de concluído, você pode compartilhar o mapa resultante usando as ferramentas padrão do My Maps.

Você também pode usar o Google Docs para armazenar e compartilhar arquivos KML com outras pessoas. Minha técnica recomendada é:

  1. Crie uma pasta e marque-a para acesso público.
  2. Use o link Upload para enviar seus arquivos KML para esta pasta sem conversão e compartilhados com o mundo
  3. Vá para o link Download, copie-o e cole-o na caixa de pesquisa do Google Maps

Gostaria de saber quanto tempo até o Google permitir a edição interativa e colaborativa de documentos KML via Google Docs? Agora isso seria legal ...


Uma coisa a ter em conta: se você alterar o arquivo (e isso pode incluir "salvar como" com o mesmo nome de arquivo), o Dropbox alterará a ID do arquivo (a parte do hash) no link. A abertura e o salvamento regulares (em um editor de texto, por exemplo) não parecem apresentar problemas.
heltonbiker

26

Você pode enviar um arquivo KML para o Google Maps:

  1. Faça login na sua Conta do Google e acesse http://maps.google.com
  2. Clique em My Maps
  3. Clique Create a new map
  4. Adicionar título e descrição
  5. Clique Import
  6. Clique em Choose file, selecione o KML a ser carregado e clique emUpload from file

Meus mapas

Crie um novo mapa

Importar

Envio

Agora você está pronto :)


Interessante, esta é a resposta que mais aborda diretamente a questão.
MarkBostleman

Não funciona para o KMZ que contém um arquivo KML que excede 5 MiB.
Sussch

6

Você não pode

Google:

A partir de fevereiro de 2015, os mapas criados no Google Maps clássico - https://maps.google.com/ - não carregarão mais arquivos KML / KMZ de sites externos. No entanto, sabemos que os arquivos KML são uma maneira realmente útil de trabalhar com dados geográficos. Por isso, adicionamos o KML ao Google My Maps e continuamos a oferecer suporte a esse formato com outras APIs do Google Maps. Esperamos que uma dessas opções atenda às suas necessidades.

https://developers.google.com/maps/support/kmlmaps

Eu costumava exibir arquivos .kml e .kmz locais no google maps, mas agora não posso :(


1
Como você mencionou, o suporte foi transferido para Meus Mapas.
MastaBaba

Os arquivos KML podem não importar todos os dados, incluindo: balões de informações com HTML ou JavaScript, tours KML, elementos baseados em tempo, sobreposições de imagem e tela, MultiGeometries, modelos 3D, desenvolvedores de
Dale

4

A resposta curta é: você não pode. O uso de um arquivo local com o aplicativo da web antigo e simples do Google Maps violaria o sandbox do navegador e a mesma política de origem .

Uma opção, por mais cara que seja, é que você poderá usar o Google Maps Premier para hospedar o maps-x.js no sistema de arquivos local, juntamente com o KML associado.

Outra opção é usar um servidor Web público existente, como o Google Sites .

Além disso, lembre-se de que você pode usar o OpenLayers como uma alternativa ao Google Maps Premier.


2
Os OpenLayers serão limitados (em navegadores modernos) a URLs que não são de arquivo, pelo menos no Firefox, mas você pode configurar um servidor da web local / não público e usá-lo. Observe que o "Sandboxing" não é realmente o motivo pelo qual você não pode fazer o que deseja com o Google: se uma página HTML estiver hospedada no servidor local, o JS poderá ler um arquivo no servidor local. Você só não pode porque o Google analisa todos os arquivos no servidor - portanto, o servidor deles precisa conversar com o servidor, o que não pode.
Christopher Schmidt

Ah, bom argumento. Eu estava pensando na linha de um arquivo no sistema de arquivos local, em vez de um httpd local.
precisa

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.