如何通过 "mid" 参数从 Google 地图 API 下载 KML 文件?
How to download a KML file from Google Maps API via "mid" param?
我正在做一个应用程序,我想下载 "mid" 参数引用的 Google 地图的 KML 文件,例如 this:https://www.google.com/maps/d/u/0/viewer?mid=1Mdlz2iXu_iZCPhUhzKvT2B2j-6E
我可以手动点击 "three dots button" > "Download KML file" 下载它,但我想使这个过程自动化。
有办法吗?
在唯一标识符前加上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)
在地图上显示该 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>
看起来这是 Google 我的地图(不是 Google 地图 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
我正在做一个应用程序,我想下载 "mid" 参数引用的 Google 地图的 KML 文件,例如 this:https://www.google.com/maps/d/u/0/viewer?mid=1Mdlz2iXu_iZCPhUhzKvT2B2j-6E
我可以手动点击 "three dots button" > "Download KML file" 下载它,但我想使这个过程自动化。
有办法吗?
在唯一标识符前加上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)
在地图上显示该 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>
看起来这是 Google 我的地图(不是 Google 地图 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