¿Mostrando archivo local en Google Maps?

46

¿Cómo puedo obtener un archivo KML / KMZ para mostrar en Google Maps sin un servidor web público?

Chris M
fuente
Lo irónico de su pregunta es que está conectado a Internet. ¿Cómo se obtiene Google Maps?
CrazyEnigma
por "sin un servidor público" ¿quiere decir que el kml tiene que estar en la máquina local, o que no quiere tener que molestarse en instalar / configurar / comprar un sitio web público? Y, ¿el mapa personalizado que desea hacer debe ser visto por otros o solo por usted?
Matt wilkie
La situación es "puedo acceder a internet, pero internet no puede llegar a mí". En ese caso, no puede utilizar la compatibilidad con archivos KML en la API de Google Maps.
Christopher Schmidt
display-kml.appspot.com es otra opción, supongo.
Karl Henselin
Puede descargar KML / KMZ a Google Drive, de forma nativa admite la visualización docs.google.com/file/d/0B9sBXp66G86xWmlRbkZiYlRNdmc/edit
KindDragon

Respuestas:

32

Para abrir un archivo KML o KMZ en Google Maps, agrego el siguiente prefijo a un enlace en línea del archivo KML:

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

Por lo general, pongo el KML o KMZ en mi buzón y luego copio / pego el enlace público al final del fragmento anterior. Entonces puedo enviar ese enlace a quien quiera, o publicarlo en línea en algún lugar. También he usado Google Docs para almacenar los KML y una página de Enlaces en mi sitio web para distribuir los enlaces.

Ejemplo:

Caminata a la montaña Harvey:

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

Don Meltz
fuente
14
Este enfoque ya no parece funcionar. Al hacer clic en el enlace de arriba, solo obtengo google maps con su enlace de Dropbox en el cuadro de búsqueda.
Derek Greer
77
Sin embargo, trabajar con KML en maps.google.com pronto quedará obsoleto: support.google.com/maps/answer/41136?hl=es
Koen.
1
He descubierto que simplemente puede hacer clic en el enlace para compartir desde Google Drive y el KMZ se cargará automáticamente en Google Maps sin ninguna otra necesidad de extensión. Probado en Chrome y Explorer.
Emil Brundage
10
Google Maps ha roto / desaprobado esta característica por cierto.
hendry
55
ACTUALIZACIÓN de abril de 2017: puede importar directamente un archivo KML en la función "Mis mapas" de Google Maps, y mostrará todos sus datos KML en un formato de Google Maps.
Baodad
31

¿Es esto para algo que desea tener permanentemente disponible para otros, o simplemente para verlo temporalmente?

Uno de los trucos que uso con bastante frecuencia es colocar el archivo KML en mi carpeta pública de DropBox (encontrar a alguien con una cuenta para que lo remita; obtendrá a usted y a ellos 250Mb adicionales) y luego pegar esa URL en Google Maps para visualizar y compartir con otros a corto plazo.

A largo plazo, tiene la opción de crear un nuevo mapa de "Mis mapas" de Google e importar KML, KMZ o GeoRSS en él. Una vez hecho esto, puede compartir el mapa resultante utilizando las herramientas estándar de Mis mapas.

También puede usar Google Docs para almacenar y compartir archivos KML con otros. Mi técnica recomendada es:

  1. Cree una carpeta y márquela para acceso público.
  2. Use el enlace Cargar para cargar sus archivos KML en esta carpeta sin conversión y compartir con el mundo
  3. Vaya al enlace de descarga, cópielo y péguelo en el cuadro de búsqueda de Google Maps

Me pregunto cuánto tiempo pasará antes de que Google permita la edición colaborativa interactiva de documentos KML a través de Google Docs. Eso sí que sería genial...

JasonBirch
fuente
Una cosa a tener en cuenta: si cambia el archivo (y esto puede incluir "guardar como" con el mismo nombre de archivo), Dropbox cambiará la ID del archivo (la parte hash) en el enlace. Abrir y guardar regularmente (en un editor de texto, por ejemplo) no parece plantear problemas.
heltonbiker
26

Puedes subir un archivo KML a Google Maps:

  1. Inicie sesión en su cuenta de Google y vaya a http://maps.google.com
  2. Haga clic en My Maps
  3. Hacer clic Create a new map
  4. Agregar un título y una descripción
  5. Hacer clic Import
  6. Haga clic Choose file, seleccione el KML para cargar y luego haga clicUpload from file

Mis mapas

Crea un nuevo mapa

Importar

Subir

Ahora ya terminaste :)

fmark
fuente
Interesante, esta es la respuesta que aborda más directamente la pregunta.
Mark Bostleman
No funciona para KMZ que contiene un archivo KML que supera los 5 MiB.
Sussch
6

No puedes

Google:

A partir de febrero de 2015, los mapas creados en el clásico Google Maps - https://maps.google.com/ - ya no cargarán archivos KML / KMZ de sitios web externos. Sin embargo, sabemos que los archivos KML son una forma realmente útil de trabajar con datos geográficos, por lo que hemos agregado KML a Google My Maps y continuamos admitiendo este formato con otras API de Google Maps. Esperamos que una de estas opciones satisfaga sus necesidades.

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

Solía ​​mostrar archivos locales .kml y .kmz en google maps, pero ahora no puedo :(

Sergio
fuente
1
Como mencionas, el soporte se ha trasladado a Mis mapas.
MastaBaba
Los archivos KML pueden no importar todos sus datos, incluidos: globos de información con HTML o JavaScript, recorridos KML, elementos basados ​​en el tiempo, superposiciones de imágenes y pantallas, MultiGeometries, modelos 3D, carpetas developers.google.com/maps/support/kmlmaps
Dale
4

La respuesta corta es: no puedes. El uso de un archivo local con la antigua aplicación web simple de Google Maps violaría el entorno limitado del navegador y la misma política de origen .

Una opción, aunque costosa, es que puede usar Google Maps Premier para alojar los mapas-x.js en su sistema de archivos local junto con el KML asociado.

Otra opción es utilizar un servidor web público existente, como Google Sites .

Además, tenga en cuenta que puede usar OpenLayers como alternativa a Google Maps Premier.

Jon Bringhurst
fuente
2
OpenLayers estará limitado (en los navegadores modernos) a URL que no sean archivos, al menos en Firefox, pero puede configurar un servidor web local / no público y usarlo. Tenga en cuenta que el "Sandboxing" no es realmente la razón por la que no puede hacer lo que quiere con Google: si una página HTML está alojada en su servidor local, el JS debería poder leer un archivo del servidor local. Solo no puede porque Google analiza todos los archivos en el lado del servidor, por lo que su servidor necesita hablar con su servidor, lo que no puede.
Christopher Schmidt
Ah, buen punto. Estaba pensando en la línea de un archivo en el sistema de archivos local en lugar de un httpd local.
Jon Bringhurst