Я загружаю большие слои KML с помощью API карт Google и geoxml3 через parseKMLString
.
Соответствующий вопрос и Пример с использованием этой функции.
Пока эти файлы отображаются на карте, пользовательский интерфейс замораживается. Поскольку здесь используются карты Google, я не могу поместить этот код в Worker, и обертывание его обещанием ничего не изменит.
Соответствующий блок кода:
var latLong = new google.maps.LatLng(37.0902, -95.7129);
var myOptions = {
center: latLong,
zoom: 10
};
myMap = new google.maps.Map(document.getElementById('map-canvas'), myOptions);
geoXmlParser = new geoXML3.parser({
map: myMap ,
singleInfoWindow: true
});
geoXmlParser.parseKmlString("long-kml-string", geoXmlParser.docs);
Я также открыт для альтернативных вариантов загрузки этих файлов и других библиотек, которые могут помочь.