Как загрузить файл KML из API Карт Google с помощью параметра "mid"? - PullRequest
1 голос
/ 08 октября 2019

Я делаю приложение, в которое я хочу загрузить KML-файл Google Maps, на который ссылается параметр "mid", например this : https://www.google.com/maps/d/u/0/viewer?mid=1Mdlz2iXu_iZCPhUhzKvT2B2j-6E

Я могу загрузить егощелкнув вручную по кнопке «три точки»> «Загрузить файл KML», но я хочу автоматизировать этот процесс.

Есть ли способ сделать это?

Ответы [ 2 ]

0 голосов
/ 09 октября 2019

Похоже, это 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
0 голосов
/ 08 октября 2019

Поставьте 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>
...