Слой Google Maps KML не отображается - PullRequest
0 голосов
/ 15 марта 2019

У меня есть следующий HTML:

<!DOCTYPE html>
<html>
  <head>
    <meta name="viewport" content="initial-scale=1.0">
    <meta charset="utf-8">
    <title>KML Layers</title>
    <style>
      #map {
        height: 90%;
      }
      html, body {
        height: 100%;
        margin: 0;
        padding: 0;
      }
    </style>
  </head>
  <body>
    <div id="map"></div>
    <script>

      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://ec2-54-198-148-171.compute-1.amazonaws.com/webapp/public/kmlfiles/LargeCoordinates.kml',
          map: map
        });
      }
    </script>
    <script async defer 
    src="https://maps.googleapis.com/maps/api/js?key=AIzaSyBMtoh9P3UkoxbXndKu_HOP7KsVwTRvxGU&callback=initMap">
        </script>
  </body>
</html>

KML, представленный здесь - http://ec2 -54-198-148-171.compute-1.amazonaws.com / webapp / public /kmlfiles / LargeCoordinates.kml не отображается на карте.

Все остальные мои KML-файлы работают нормально, только не этот.Я полагаю, что это потому, что в файле KML много координат.

Любая помощь, чтобы исправить это, будет оценена.

1 Ответ

1 голос
/ 16 марта 2019

В вашей пятой метке / многоугольнике (большой) линия с геометрией / координатами обрезана.Первая подсказка в том, что в конце строки отсутствуют теги.Он заканчивается только тегом </MultiGeometry>, когда он должен заканчиваться на: </coordinates></LinearRing></outerBoundaryIs></Polygon></MultiGeometry>.Если присмотреться к последнему набору координат, они как бы обрезаются и заканчиваются после десятичной точки во 2-м числе: -96.697594,46.

Так что вам нужно как минимум добавить соответствующие теги, чтобы закрытьвне линии и, возможно, зафиксируйте последнюю пару координат (или просто удалите ее).Это должно дать вам правильный файл KML, который должен загружаться (если геометрия не слишком велика для Карт).Вы также захотите проверить исходные данные, чтобы увидеть, отсутствуют ли дополнительные координаты в этой строке, и, если это так, выяснить, как их вернуть.

Чтобы помочь другим с подобными проблемами, знаете ли вы, как был создан этот KML?С каким программным обеспечением?Может быть, что-то, что может обрабатывать только столько символов в строке координат?

...