在Google Maps中显示本地文件?


46

如何在没有面向公众的Web服务器的情况下在Google地图上显示KML / KMZ文件?


具有讽刺意味的是,您已连接到Internet。您如何获得Google地图?
CrazyEnigma

“没有面向公众的服务器”是指kml 必须位于本地计算机上,还是不想打扰安装/配置/购买公共网站?而且,您要制作的自定义地图是否需要别人或您自己看到?
马特·威尔基

情况是“我可以上网,但互联网不能上网。” 在这种情况下,您将无法在Google Maps API中使用KML文件支持。
Christopher Schmidt,2010年

我想display-kml.appspot.com是另一个选择。
Karl Henselin 2013年

您可以将KML / KMZ下载到Google云端硬盘,它本身支持可视化docs.google.com/file/d/0B9sBXp66G86xWmlRbkZiYlRNdmc/edit
KindDragon

Answers:


32

要在Google地图中打开KML或KMZ文件,请将以下前缀附加到KML文件的在线链接:

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

通常,我将KML或KMZ放入我的保管箱,然后将公共链接复制/粘贴到上述片段的末尾。然后,我可以将该链接通过电子邮件发送给想要的人,或者将其在线发布到某个地方。我还使用Google文档存储了KML,并在我的网站上使用了“链接”页面来分发链接。

例:

哈维山远足:

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


14
这种方法似乎不再起作用。点击以上链接后,我将在搜索框中显示带有您的保管箱链接的google maps。
Derek Greer 2014年

7
不过,很快将不赞成在maps.google.com上使用KML :support.google.com/maps/answer/41136?
hl

1
我发现您只需单击Google云端硬盘中的共享链接,KMZ就会自动加载到Google地图中,而无需其他任何扩展。在Chrome和资源管理器中进行了测试。
Emil Brundage 2015年

10
Google地图已中断/弃用了此功能。
hendry 2015年

5
2017年4月更新:您可以将KML文件直接导入Google Maps的“我的地图”功能,它将以Google Maps格式显示您的所有KML数据。
Baodad '17

31

这是您要永久提供给其他人的内容,还是仅用于临时查看?

我经常使用的技巧之一是将KML文件放置在我的公共DropBox文件夹中(找到具有帐户的人来推荐您;这会使您和他们额外获得250Mb),然后将该网址粘贴到Google Maps中可视化并与他人短期共享。

从长远来看,您可以选择创建新的Google“我的地图”地图,并将KML,KMZ或GeoRSS导入其中。完成后,您可以使用标准的“我的地图”工具共享生成的地图。

您还可以使用Google文档存储和与他人共享KML文件。我推荐的技术是:

  1. 创建一个文件夹并将其标记为公共访问。
  2. 使用“上传”链接将您的KML文件上传到此文件夹中,而无需进行转换并与世界共享
  3. 转到下载链接,将其复制并粘贴到Google地图搜索框中

我想知道Google允许通过Google Docs交互式协作编辑KML文档多久了?现在那太酷了...


需要注意的一件事:如果更改文件(并且可能包括具有相同文件名的“另存为”),Dropbox将更改链接中的文件ID(哈希部分)。定期打开和保存(例如,在文本编辑器中)似乎没有问题。
heltonbiker

26

您可以将KML文件上传到Google地图:

  1. 登录到您的Google帐户,然后转到http://maps.google.com
  2. 点击 My Maps
  3. 请点击 Create a new map
  4. 添加标题和描述
  5. 请点击 Import
  6. 点击Choose file,选择要上传的KML,然后点击Upload from file

我的地图

建立新地图

进口

上载

现在您完成了:)


有趣的是,这是最直接解决该问题的答案。
Mark Bostleman 2014年

不适用于包含超过5 MiB的KML文件的KMZ。
Sussch

6

你不能

谷歌:

从2015年2月开始,在经典Google地图(https://maps.google.com/)中创建的地图将不再从外部网站加载KML / KMZ文件。但是,我们知道KML文件是处理地理数据的一种非常有用的方法,因此我们已将KML添加到“ Google我的地图”中,并继续通过其他Google Maps API支持这种格式。我们希望这些选项之一可以满足您的需求。

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

我曾经在Google地图中显示本地.kml和.kmz文件,但现在我不能了:(


1
如您所述,支持已转移到“我的地图”上。
MastaBaba 2015年

KML文件可能无法导入所有数据,包括:具有HTML或JavaScript的信息气球,KML游览,基于时间的元素,图像和屏幕叠加层,MultiGeometries,3D模型,文件夹developers.google.com/maps/support/kmlmaps
Dale

4

简短的答案是:您不能。将本地文件与普通的旧版Google Maps Web应用程序一起使用会违反浏览器的沙箱操作和相同的原始策略

一种选择(但是成本很高)是,您可以使用Google Maps Premier在本地文件系统上托管maps-x.js以及相关的KML。

另一种选择是使用现有的面向公众的Web服务器,例如Google Sites

另外,请记住,您可以使用OpenLayers替代Google Maps Premier。


2
至少在Firefox中,OpenLayers将限于非文件URL(在现代浏览器中),但是您可以设置本地/非公共Web服务器并使用它。请注意,“沙箱”并不是您无法使用Google进行操作的真正原因:如果本地服务器上托管HTML页面,则JS应该能够从本地服务器读取文件。您只能这样做是因为Google会解析服务器端的所有文件-因此它们的服务器需要与您的服务器进行通信,而这不能。
Christopher Schmidt,2010年

啊,好点。我在考虑本地文件系统而不是本地httpd上的文件。
乔恩·布林赫斯特

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.