@goober-cripto

Как подключить KML в Leaflet карты?

Есть карта города с подгруженными локальными тайлами. Пытался подключить туда KML c сайта

(я KMZ перевёл в KML,и тестил на google earth, всё отображается как надо без потерь)
В документации Leaflet посмотрев подключение данного KML не смог реализовать
map.addLayer(osm);

            // Load kml file
            fetch('assets/example1.kml')
                .then(res => res.text())
                .then(kmltext => {
                    // Create new kml overlay
                    const parser = new DOMParser();
                    const kml = parser.parseFromString(kmltext, 'text/xml');
                    const track = new L.KML(kml);
                    map.addLayer(track);

                    // Adjust map to show the kml
                    const bounds = track.getBounds();
                    map.fitBounds(bounds);
                });


Это подключение данного KML не работает,помогите пожалуйста разобраться.
Заранее ОГРОМЕННОЕ СПАСИБО =)
  • Вопрос задан
  • 873 просмотра
Решения вопроса 1
@EmelyanovKonstantin
GIS архитектура, аналитика, разработка
Замените Leaflet KML layer plugin на leaflet-omnivore.
Добавляйте слой:
omnivore.kml('a.kml').addTo(map);

Есть вероятность неправильной конвертации kmz в kml.
Ошибка в вашей консоли показывает, что из kml не удаётся вычислить границы области. Может быть ошибка в системе координат.
Поэтому , если не получится с omnivore, используйте плагин https://github.com/Raruto/leaflet-kmz
И добавляйте сразу исходный kmz.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы