Menampilkan file lokal di Google Maps?

46

Bagaimana saya bisa mendapatkan file KML / KMZ untuk ditampilkan di Google Maps tanpa server web yang menghadap publik?

Chris M
sumber
Hal yang ironis tentang pertanyaan Anda adalah Anda terhubung ke Internet. Bagaimana Anda mendapatkan Google Maps?
CrazyEnigma
oleh "tanpa server yang menghadap publik" maksud Anda kml harus berada di mesin lokal, atau bahwa Anda tidak ingin repot-repot menginstal / mengkonfigurasi / membeli situs web publik? Dan, apakah peta khusus yang ingin Anda buat perlu dilihat oleh orang lain atau hanya Anda?
matt wilkie
Situasi ini adalah "Saya dapat mengakses internet, tetapi internet tidak dapat menjangkau saya." Dalam hal ini, Anda tidak dapat menggunakan dukungan file KML di Google Maps API.
Christopher Schmidt
display-kml.appspot.com adalah pilihan lain yang saya kira.
Karl Henselin
Anda dapat mengunduh KML / KMZ ke Google Drive, itu secara asli mendukung visualisasi docs.google.com/file/d/0B9sBXp66G86xWmlRbkZiYlRNdmc/edit
KindDragon

Jawaban:

32

Untuk membuka file KML atau KMZ di Google Maps, saya menambahkan awalan berikut ke tautan online file KML:

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

Biasanya, saya meletakkan KML atau KMZ di dropbox saya, dan kemudian salin / tempel tautan publik ke akhir cuplikan di atas. Kemudian saya dapat mengirim email tautan itu kepada siapa pun yang menginginkannya, atau saya mempostingnya secara online di suatu tempat. Saya juga menggunakan Google Documents untuk menyimpan KML, dan halaman Tautan di situs web saya untuk mendistribusikan tautan.

Contoh:

Mendaki Gunung Harvey:

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

Don Meltz
sumber
14
Pendekatan ini tampaknya tidak berfungsi lagi. Setelah mengklik tautan di atas, saya hanya mendapatkan google maps dengan tautan dropbox Anda di kotak pencarian.
Derek Greer
7
Bekerja dengan KML di maps.google.com akan segera dihentikan: support.google.com/maps/answer/41136?hl=id
Koen.
1
Saya telah menemukan bahwa Anda cukup mengklik tautan berbagi dari Google Drive dan KMZ akan secara otomatis memuat di Google Maps tanpa perlu ekstensi lainnya. Diuji di Chrome dan Explorer.
Emil Brundage
10
Google Maps telah merusak / menghentikan fitur ini.
hendry
5
April 2017 UPDATE: Anda dapat langsung mengimpor file KML ke fitur "My Maps" Google Maps, dan itu akan menampilkan semua data KML Anda dalam format Google Maps.
Baodad
31

Apakah ini untuk sesuatu yang Anda ingin tersedia secara permanen untuk orang lain, atau hanya untuk dilihat sementara?

Salah satu trik yang sering saya gunakan adalah menempatkan file KML di folder DropBox publik saya (cari seseorang dengan akun untuk merujuk Anda; itu akan memberi Anda dan mereka tambahan 250 MB) dan kemudian tempelkan url itu ke Google Maps untuk memvisualisasikan dan berbagi dengan orang lain jangka pendek.

Dalam jangka panjang, Anda memiliki opsi untuk membuat peta Google "Petaku" baru , dan mengimpor KML, KMZ atau GeoRSS ke dalamnya. Setelah selesai, Anda dapat berbagi peta yang dihasilkan menggunakan alat Petaku standar.

Anda juga dapat menggunakan Google Documents untuk menyimpan dan berbagi file KML dengan orang lain. Teknik yang saya rekomendasikan adalah:

  1. Buat folder dan tandai untuk akses publik.
  2. Gunakan tautan Unggah untuk mengunggah file KML Anda ke folder ini tanpa konversi dan dibagikan dengan dunia
  3. Buka tautan Unduh, salin, dan tempel ke kotak pencarian Google Maps

Saya ingin tahu berapa lama sebelum Google mengizinkan pengeditan kolaboratif interaktif dokumen KML melalui Google Documents? Sekarang itu akan keren ...

JasonBirch
sumber
Satu hal yang perlu diperhatikan: jika Anda mengubah file (dan ini mungkin termasuk "simpan sebagai" dengan nama file yang sama), Dropbox akan mengubah ID file (bagian hash) di tautan. Pembukaan dan penyimpanan reguler (dalam editor teks, misalnya) tampaknya tidak menimbulkan masalah.
heltonbiker
26

Anda dapat mengunggah file KML ke Google Maps:

  1. Masuk ke Akun Google Anda, dan pergi ke http://maps.google.com
  2. Klik My Maps
  3. Klik Create a new map
  4. Tambahkan judul dan deskripsi
  5. Klik Import
  6. Klik Choose file, pilih KML untuk diunggah, lalu klikUpload from file

Petaku

Buat peta baru

Impor

Unggah

Sekarang selesai :)

fmark
sumber
Menarik, ini adalah jawaban yang paling langsung menjawab pertanyaan.
Mark Bostleman
Tidak berfungsi untuk KMZ yang berisi file KML yang melebihi 5 MiB.
Sussch
6

Kamu tidak bisa

Google:

Mulai Februari 2015, peta yang dibuat di Google Maps klasik - https://maps.google.com/ - tidak akan lagi memuat file KML / KMZ dari situs web eksternal. Namun, kami tahu bahwa file KML adalah cara yang sangat berguna untuk bekerja dengan data geografis, jadi kami telah menambahkan KML ke Google My Maps, dan terus mendukung format ini dengan Google Maps APIs lainnya. Kami berharap salah satu dari opsi ini akan memenuhi kebutuhan Anda.

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

Saya dulu menampilkan file .kml dan .kmz lokal di google maps, tapi sekarang saya tidak bisa :(

Sergio
sumber
1
Seperti yang Anda sebutkan, dukungan telah pindah ke Petaku.
MastaBaba
File KML mungkin tidak mengimpor semua datanya, termasuk: Balon info dengan HTML atau JavaScript, tur KML, elemen berbasis waktu, Hamparan gambar dan layar, MultiGeometri, model 3D, Folder developers.google.com/maps/support/kmlmaps
Dale
4

Jawaban singkatnya adalah: Anda tidak bisa. Menggunakan file lokal dengan aplikasi web Google Maps lama biasa akan melanggar sandboxing browser dan kebijakan asal yang sama .

Satu opsi, bagaimanapun mahal, adalah bahwa Anda mungkin dapat menggunakan Google Maps Premier untuk meng-host maps-x.js pada sistem file lokal Anda bersama dengan KML terkait.

Pilihan lain adalah menggunakan server web yang menghadap publik yang ada, seperti Google Sites .

Juga, ingatlah bahwa Anda mungkin dapat menggunakan OpenLayers sebagai alternatif untuk Google Maps Premier.

Jon Bringhurst
sumber
2
OpenLayers akan terbatas (di browser modern) untuk URL non-file, setidaknya di Firefox, tetapi Anda dapat mengatur server web lokal / non-publik dan menggunakannya. Perhatikan bahwa "Kotak Pasir" sebenarnya bukan alasan Anda tidak dapat melakukan apa yang Anda inginkan dengan Google: Jika halaman HTML di-host di server lokal Anda, JS seharusnya dapat membaca file dari server lokal. Anda hanya tidak bisa karena Google mem-parsing semua file di sisi server - jadi server mereka perlu berbicara dengan server Anda, yang tidak bisa.
Christopher Schmidt
Ah, poin bagus. Saya berpikir sepanjang baris file pada sistem file lokal daripada httpd lokal.
Jon Bringhurst