3

在新的Google 地图引擎编辑器中创建了一张地图。现在需要使用 Curl 将地图导出为 KML。以前版本的地图编辑器(现在称为“MyPlaces”或“我的地图经典版”)允许使用此 URL 模板按 ID 导出地图:

https://maps.google.com/maps/ms?oe=UTF8&hl=ru&msa=0&msid=${ID}&output=kml

新地图 ID 既不像旧地图 ID(分别为zv44oKISEgzs.kzcf044WEB9ovs 107197571518206937258.000453b7c5de92024cf27),也不适合导出 API。Google 以 200 OK 响应,但响应正文为空。

新的 Maps Engine 中是否有任何类似的 API 调用,只需一行 shell 即可将地图导出为 KML?

4

1 回答 1

7

找到了,谢谢大家:)

首先,在 Google Map Engine Web 应用程序中公开地图:

  1. 点击地图右上角绿色的“分享”按钮;
  2. 单击任何人的“更改”访问类型;
  3. 选择下方的“知道链接的任何人”和“可以查看”(此处显示);
  4. 点击“保存”。

然后,您可以使用此 URL 模板轻松将此地图下载为 KML:

https://mapsengine.google.com/map/kml?mid=${ID}

更新:谷歌开始以 KM Z的形式发送 KML 文件。不要惊慌,KMZ 只是单个 KML 文件的 zip 存档。要修复算法,只需在 shell 管道的末尾添加funzip工具 ( ),如下所示:apt-get install unzip

curl -s 'https://mapsengine.google.com/map/kml?mid=${ID}' | funzip

或者使用您的语言本机的解压缩库。继续享受 Google API 更新带来的乐趣!

于 2014-08-31T19:43:37.800 回答