Visualizzazione del file locale in Google Maps?


46

Come posso ottenere un file KML / KMZ da visualizzare su Google Maps senza un server Web pubblico?


L'aspetto ironico della tua domanda è che sei connesso a Internet. Come si ottiene Google Maps?
CrazyEnigma,

per "senza un server pubblico" intendete che il kml deve trovarsi sul computer locale o che non volete preoccuparvi di installare / configurare / acquistare un sito Web pubblico? E la mappa personalizzata che desideri rendere necessaria deve essere vista dagli altri o solo da te?
matt wilkie,

La situazione è "Posso accedere a Internet, ma Internet non può arrivare a me". In tal caso, non è possibile utilizzare il supporto dei file KML nell'API di Google Maps.
Christopher Schmidt,

display-kml.appspot.com è un'altra opzione suppongo.
Karl Henselin,

Puoi scaricare KML / KMZ su Google Drive, supporta nativamente la visualizzazione docs.google.com/file/d/0B9sBXp66G86xWmlRbkZiYlRNdmc/edit
KindDragon

Risposte:


32

Per aprire un file KML o KMZ in Google Maps, aggiungo il seguente prefisso a un collegamento online del file KML:

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

In genere, inserisco KML o KMZ nel mio dropbox, quindi copia / incolla il link pubblico alla fine dello snippet precedente. Quindi posso inviare per e-mail quel link a chi lo desidera, oppure lo pubblico online da qualche parte. Ho anche usato Google Documenti per archiviare i file KML e una pagina Collegamenti sul mio sito Web per distribuire i collegamenti.

Esempio:

Escursione in montagna Harvey:

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


14
Questo approccio non sembra funzionare più. Facendo clic sul link sopra, ottengo solo google maps con il tuo link dropbox nella casella di ricerca.
Derek Greer,

7
Lavorare con KML su maps.google.com sarà presto obsoleto: support.google.com/maps/answer/41136?hl=it
Koen.

1
Ho scoperto che puoi semplicemente fare clic sul link di condivisione da Google Drive e KMZ si caricherà automaticamente in Google Maps senza che sia necessaria alcuna estensione. Testato in Chrome ed Explorer.
Emil Brundage,

10
Google Maps ha rotto / deprecato questa funzione tra l'altro.
hendry,

5
AGGIORNAMENTO di aprile 2017: puoi importare direttamente un file KML nella funzione "Le mie mappe" di Google Maps e verranno visualizzati tutti i tuoi dati KML in un formato di Google Maps.
Baodad,

31

È per qualcosa che vuoi avere permanentemente disponibile per gli altri o solo per una visione temporanea?

Uno dei trucchi che uso abbastanza spesso è quello di posizionare il file KML nella mia cartella DropBox pubblica (trovare qualcuno con un account per fare riferimento a te; otterrà sia te che loro un extra di 250 Mb) e quindi incollare l'URL in Google Maps per visualizzare e condividere con gli altri a breve termine.

A più lungo termine, hai la possibilità di creare una nuova mappa "Le mie mappe" di Google e importare KML, KMZ o GeoRSS in quella. Una volta terminato, puoi condividere la mappa risultante utilizzando gli strumenti Le mie mappe standard.

Puoi anche utilizzare Google Documenti per archiviare e condividere file KML con altri. La mia tecnica consigliata è di:

  1. Crea una cartella e contrassegnala per l'accesso pubblico.
  2. Utilizza il link Carica per caricare i tuoi file KML in questa cartella senza conversione e condivisi con il mondo
  3. Vai al link Download, copialo e incollalo nella casella di ricerca di Google Maps

Mi chiedo quanto tempo prima che Google consenta la modifica collaborativa interattiva dei documenti KML tramite Google Documenti? Ora sarebbe bello ...


Una cosa di cui preoccuparti: se cambi il file (e questo può includere "salva come" con lo stesso nome file), Dropbox cambierà l'ID del file (la parte hash) nel link. L'apertura e il salvataggio regolari (ad esempio in un editor di testo) non sembrano presentare problemi.
Heltonbiker,

26

Puoi caricare un file KML su Google Maps:

  1. Accedi al tuo account Google e vai su http://maps.google.com
  2. Clicca su My Maps
  3. Clic Create a new map
  4. Aggiungi un titolo e una descrizione
  5. Clic Import
  6. Fare clic su Choose file, selezionare il codice KML da caricare, quindi fare clic suUpload from file

Le mie mappe

Crea una nuova mappa

Importare

Caricare

Ora hai finito :)


Interessante, questa è la risposta che più si rivolge direttamente alla domanda.
Mark Bostleman,

Non funziona per KMZ contenente un file KML che supera i 5 MiB.
Sussch il

6

Non puoi

Google:

Da febbraio 2015, le mappe create nel classico Google Maps - https://maps.google.com/ - non caricheranno più file KML / KMZ da siti Web esterni. Tuttavia, sappiamo che i file KML sono un modo davvero utile per lavorare con i dati geografici, quindi abbiamo aggiunto KML a Google My Maps e continuiamo a supportare questo formato con altre API di Google Maps. Speriamo che una di queste opzioni soddisfi le tue esigenze.

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

Ero solito visualizzare i file .kml e .kmz locali in google maps, ma ora non posso :(


1
Come accennato, il supporto è stato spostato su Le mie mappe.
MastaBaba,

I file KML non possono importare tutti i loro dati, tra cui: palloncini informativi con HTML o JavaScript, tour KML, elementi basati sul tempo, sovrapposizioni di immagini e schermate, multiGeometrie, modelli 3D, cartelle developers.google.com/maps/support/kmlmaps
Dale

4

La risposta breve è: non puoi. L'uso di un file locale con la semplice vecchia applicazione web di Google Maps violerebbe il sandboxing del browser e la stessa politica di origine .

Un'opzione, per quanto costosa, è che potresti essere in grado di utilizzare Google Maps Premier per ospitare maps-x.js sul tuo filesystem locale insieme al KML associato.

Un'altra opzione è quella di utilizzare un server Web pubblico esistente, come Google Sites .

Inoltre, tieni presente che potresti essere in grado di utilizzare OpenLayers come alternativa a Google Maps Premier.


2
Gli OpenLayer saranno limitati (nei browser moderni) agli URL non di file, almeno in Firefox, ma è possibile impostare un server Web locale / non pubblico e utilizzarlo. Nota che il "sandboxing" non è in realtà il motivo per cui non puoi fare ciò che vuoi con Google: se una pagina HTML è ospitata sul tuo server locale, JS dovrebbe essere in grado di leggere un file dal server locale. Non puoi farlo solo perché Google analizza tutti i file sul lato server, quindi il loro server deve parlare con il tuo server, cosa che non può.
Christopher Schmidt,

Ah, buon punto. Stavo pensando sulla falsariga di un file sul filesystem locale piuttosto che su un httpd locale.
Jon Bringhurst,

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.