【问题标题】:How to download a KML file from Google Maps API via "mid" param?如何通过“mid”参数从 Google Maps API 下载 KML 文件?
【发布时间】:2020-02-06 03:10:42
【问题描述】:

我正在做一个应用程序,我想下载由“mid”参数引用的 Google 地图的 KML 文件,例如 this:https://www.google.com/maps/d/u/0/viewer?mid=1Mdlz2iXu_iZCPhUhzKvT2B2j-6E

我可以点击“三点按钮”>“下载 KML 文件”手动下载它,但我想自动化这个过程。

还有办法吗?

【问题讨论】:

    标签: google-maps google-maps-api-3 kml


    【解决方案1】:

    http://www.google.com/maps/d/kml?forcekml=1&mid=放在唯一标识符之前:

    http://www.google.com/maps/d/kml?forcekml=1&mid=1Mdlz2iXu_iZCPhUhzKvT2B2j-6E

    (相关问题: Render a My Maps using Google Maps JavaScript API)

    代码 sn-p 在地图上显示该 KML:

    function initMap() {
      var map = new google.maps.Map(document.getElementById('map'), {
        zoom: 11,
        center: {
          lat: 41.876,
          lng: -87.624
        }
      });
    
      var ctaLayer = new google.maps.KmlLayer({
        url: 'http://www.google.com/maps/d/kml?forcekml=1&mid=1Mdlz2iXu_iZCPhUhzKvT2B2j-6E',
        map: map
      });
    }
    /* Always set the map height explicitly to define the size of the div
     * element that contains the map. */
    
    #map {
      height: 100%;
    }
    
    
    /* Optional: Makes the sample page fill the window. */
    
    html,
    body {
      height: 100%;
      margin: 0;
      padding: 0;
    }
    <div id="map"></div>
    <!-- Replace the value of the key parameter with your own API key. -->
    <script async defer src="https://maps.googleapis.com/maps/api/js?key=AIzaSyCkUOdZ5y7hMm0yrcCQoCvLwzdM6M8s5qk&callback=initMap">
    </script>

    【讨论】:

      【解决方案2】:

      看起来这是 Google 我的地图(不是 Google Maps API)。

      这将为您提供 KMZ 版本(压缩):

      https://www.google.com/maps/d/u/0/kml?mid=1Mdlz2iXu_iZCPhUhzKvT2B2j-6E
      

      这将为您提供 KML 版本(未压缩,不支持所有图标):

      https://www.google.com/maps/d/u/0/kml?mid=1Mdlz2iXu_iZCPhUhzKvT2B2j-6E&forcekml=1
      

      这将为您提供 KMZ 中的网络链接:

      https://www.google.com/maps/d/u/0/kml?mid=1Mdlz2iXu_iZCPhUhzKvT2B2j-6E&nl=1
      

      这将为您提供 KML 中的网络链接:

      https://www.google.com/maps/d/u/0/kml?mid=1Mdlz2iXu_iZCPhUhzKvT2B2j-6E&nl=1&forcekml=1
      

      【讨论】:

      • 您是否知道如何/是否可以使用google.com/maps/d/u/0/… 在跨域服务器上使用 javascript 从 Google 我的地图访问 KML 文件?我希望能够解析 kml 文件。我已经尝试过,但被 CORS 阻止了。知道任何可靠的解决方法吗?
      猜你喜欢
      • 2018-09-02
      • 2011-12-20
      • 2012-05-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多