Hiển thị tệp cục bộ trong Google Maps?


46

Làm cách nào tôi có thể nhận được tệp KML / KMZ để hiển thị trên Google Maps mà không cần máy chủ web đối mặt công khai?


Điều trớ trêu về câu hỏi của bạn là bạn được kết nối với Internet. Làm thế nào để bạn có được Google Maps?
CrazyEnigma

bởi "không có một máy chủ phải đối mặt với công chúng" Ý anh là những kml được trên máy cục bộ, hoặc bạn không muốn phải bận tâm với việc cài đặt / cấu hình / mua một trang web nào? Và, bản đồ tùy chỉnh mà bạn muốn thực hiện cần phải được nhìn thấy bởi người khác hay chỉ bạn?
matt wilkie

Tình hình là "Tôi có thể truy cập internet, nhưng Internet không thể đến với tôi." Trong trường hợp đó, bạn không thể sử dụng hỗ trợ tệp KML trong API Google Maps.
Christopher Schmidt

display-kml.appspot.com là một lựa chọn khác mà tôi cho là.
Karl Henselin

Bạn có thể tải KML / KMZ về Google Drive, nó thực sự hỗ trợ trực quan hóa docs.google.com/file/d/0B9sBXp66G86xWmlRbkZiYlRNdmc/edit
KindDragon 21/03/18

Câu trả lời:


32

Để mở tệp KML hoặc KMZ trong Google Maps, tôi nối thêm tiền tố sau vào liên kết trực tuyến của tệp KML:

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

Thông thường, tôi đặt KML hoặc KMZ vào hộp thư của mình và sau đó sao chép / dán liên kết công khai vào cuối đoạn trích trên. Sau đó, tôi có thể gửi email liên kết đó cho ai muốn, hoặc tôi đăng nó trực tuyến ở đâu đó. Tôi cũng đã sử dụng Google Docs để lưu trữ KML và trang Liên kết trên trang web của tôi để phân phối các liên kết.

Thí dụ:

Đi bộ trên núi Harvey:

http://maps.google.com/maps?q=http://dl.dropbox.com/u3539140/KML/HarveyMaxHike.kmz


14
Cách tiếp cận này dường như không còn hiệu quả nữa. Khi nhấp vào liên kết ở trên, tôi chỉ cần lấy bản đồ google với liên kết hộp thả của bạn trong hộp tìm kiếm.
Derek Greer

7
Tuy nhiên, làm việc với KML trên maps.google.com sẽ không còn được hỗ trợ
Koen.

1
Tôi đã thấy rằng bạn chỉ cần nhấp vào liên kết chia sẻ từ Google Drive và KMZ sẽ tự động tải trong Google Maps mà không cần bất kỳ nhu cầu mở rộng nào khác. Đã thử nghiệm trong Chrome và Explorer.
Emil Brundage

10
Google Maps đã bị hỏng / không dùng tính năng này btw.
hendry

5
CẬP NHẬT tháng 4 năm 2017: bạn có thể nhập trực tiếp tệp KML vào tính năng "Bản đồ của tôi" của Google Maps và nó sẽ hiển thị tất cả dữ liệu KML của bạn ở định dạng Google Maps.
Baodad

31

Đây có phải là thứ mà bạn muốn có sẵn vĩnh viễn cho người khác, hoặc chỉ để xem tạm thời?

Một trong những thủ thuật mà tôi sử dụng khá thường xuyên là đặt tệp KML vào thư mục DropBox công khai của tôi (tìm ai đó có tài khoản để giới thiệu bạn; họ sẽ nhận được cả bạn và họ thêm 250Mb) và sau đó dán url đó vào Google Maps hình dung và chia sẻ với người khác trong thời gian ngắn.

Về lâu dài, bạn có tùy chọn tạo bản đồ "Bản đồ của tôi" mới của Google và nhập KML, KMZ hoặc GeoRSS vào đó. Sau khi hoàn tất, bạn có thể chia sẻ bản đồ kết quả bằng các công cụ My Maps tiêu chuẩn.

Bạn cũng có thể sử dụng Google Docs để lưu trữ và chia sẻ các tệp KML với người khác. Kỹ thuật được đề nghị của tôi là:

  1. Tạo một thư mục và đánh dấu nó để truy cập công cộng.
  2. Sử dụng liên kết Tải lên để tải lên các tệp KML của bạn vào thư mục này mà không cần chuyển đổi và chia sẻ với mọi người
  3. Truy cập liên kết Tải xuống, sao chép và dán vào hộp tìm kiếm Google Maps

Tôi tự hỏi bao lâu trước khi Google cho phép chỉnh sửa tương tác các tài liệu KML thông qua Google Docs? Bây giờ nó sẽ được mát mẻ...


Một điều cần quan tâm: nếu bạn thay đổi tệp (và điều này có thể bao gồm "lưu dưới dạng" với cùng tên tệp), Dropbox sẽ thay đổi ID tệp (phần băm) trong liên kết. Mở và lưu thường xuyên (ví dụ, trong trình soạn thảo văn bản) dường như không gây ra vấn đề gì.
heltonbiker

26

Bạn có thể tải tệp KML lên Google Maps:

  1. Đăng nhập vào Tài khoản Google của bạn và truy cập http://maps.google.com
  2. Bấm vào My Maps
  3. Nhấp chuột Create a new map
  4. Thêm một tiêu đề và mô tả
  5. Nhấp chuột Import
  6. Bấm Choose file, chọn KML để tải lên, rồi bấmUpload from file

Bản đồ của tôi

Tạo một bản đồ mới

Nhập khẩu

Tải lên

Bây giờ bạn đã hoàn thành :)


Thật thú vị, đây là câu trả lời mà hầu hết trực tiếp giải quyết câu hỏi.
Mark Bostman

Không hoạt động đối với KMZ chứa tệp KML vượt quá 5 MiB.
Sussch

6

Bạn không thể

Google:

Từ tháng 2 năm 2015, các bản đồ được tạo trong Google Maps cổ điển - https://maps.google.com/ - sẽ không còn tải các tệp KML / KMZ từ các trang web bên ngoài. Tuy nhiên, chúng tôi biết rằng các tệp KML là một cách thực sự hữu ích để làm việc với dữ liệu địa lý, vì vậy chúng tôi đã thêm KML vào Google My Maps và tiếp tục hỗ trợ định dạng này với các API Google Maps khác. Chúng tôi hy vọng rằng một trong những lựa chọn này sẽ đáp ứng nhu cầu của bạn.

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

Tôi đã từng hiển thị các tệp .kml và .kmz cục bộ trong google maps, nhưng bây giờ tôi không thể :(


1
Như bạn đã đề cập, hỗ trợ đã chuyển sang Bản đồ của tôi.
MastaBaba

Các tệp KML không được nhập tất cả dữ liệu của họ, bao gồm: Bong bóng thông tin có HTML hoặc JavaScript, tham quan KML, các yếu tố dựa trên thời gian, Lớp phủ hình ảnh và màn hình, MultiGeometries, mô hình 3D, Nhà phát triển
Dale

4

Câu trả lời ngắn gọn là: bạn không thể. Sử dụng tệp cục bộ với ứng dụng web Google Maps cũ đơn giản sẽ vi phạm hộp cát và chính sách xuất xứ tương tự của trình duyệt .

Tuy nhiên, một tùy chọn tốn kém là bạn có thể sử dụng Google Maps Premier để lưu trữ maps-x.js trên hệ thống tệp cục bộ của bạn cùng với KML được liên kết.

Một tùy chọn khác là sử dụng một máy chủ web đối mặt công khai hiện có, như Google Sites .

Ngoài ra, hãy nhớ rằng bạn có thể sử dụng OpenLayers thay thế cho Google Maps Premier.


2
OpenLayers sẽ bị giới hạn (trong các trình duyệt hiện đại) đối với các URL không phải tệp, ít nhất là trong Firefox, nhưng bạn có thể thiết lập một máy chủ web cục bộ / không công khai và sử dụng nó. Lưu ý rằng "Hộp cát" thực sự không phải là lý do mà bạn không thể làm những gì bạn muốn với Google: Nếu một trang HTML được lưu trữ trên máy chủ cục bộ của bạn, thì JS sẽ có thể đọc tệp từ máy chủ cục bộ. Bạn chỉ không thể vì Google phân tích tất cả các tệp ở phía máy chủ - vì vậy máy chủ của họ cần nói chuyện với máy chủ của bạn, điều này không thể.
Christopher Schmidt

Ah, điểm tốt. Tôi đã suy nghĩ dọc theo dòng của một tệp trên hệ thống tệp cục bộ chứ không phải là httpd cục bộ.
Jon Bringhurst

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.