Я делаю приложение, в которое я хочу загрузить KML-файл Google Maps, на который ссылается параметр "mid", например this : https://www.google.com/maps/d/u/0/viewer?mid=1Mdlz2iXu_iZCPhUhzKvT2B2j-6E
https://www.google.com/maps/d/u/0/viewer?mid=1Mdlz2iXu_iZCPhUhzKvT2B2j-6E
Я могу загрузить егощелкнув вручную по кнопке «три точки»> «Загрузить файл KML», но я хочу автоматизировать этот процесс.
Есть ли способ сделать это?
Похоже, это Google My Map (не 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
Поставьте http://www.google.com/maps/d/kml?forcekml=1&mid= перед уникальным идентификатором:
http://www.google.com/maps/d/kml?forcekml=1&mid=
http://www.google.com/maps/d/kml?forcekml=1&mid=1Mdlz2iXu_iZCPhUhzKvT2B2j-6E
(Смежный вопрос: Визуализация моих карт с помощью 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>