JSFiddle - React, Tailwind, and code Playground
HTML
<!DOCTYPE html>
<html>
<head>
<title>Примеры. Отображение YMapsML, KML на карте</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<!-- Если вы используете API локально, то в URL ресурса необходимо указывать протокол в стандартном виде (http://...)-->
<script src="//api-maps.yandex.ru/2.1/?lang=ru_RU" type="text/javascript"></script>
<script src="//yandex.st/jquery/1.6.4/jquery.min.js" type="text/javascript"></script>
<script src="geoxml_display.js" type="text/javascript"></script>
<style>
body, html {
width: 100%;
height: 100%;
margin: 0;
padding: 0;
}
#map {
width: 100%;
height: 80%;
}
.inputs {
padding: 10px;
}
</style>
</head>
<body>
<div id="map"></div>
<div class="inputs">
<input type="button" value="Показать пример KML" class="load-kml" />
</div>
</body>
</html>
JavaScript
ymaps.ready(init);
function init() {
var myMap = new ymaps.Map('map', {
center: [55.76, 37.64],// Москва
zoom: 2,
controls: ['zoomControl']
}),
kmlButton = $('.load-kml');
// Отключение кеширования атрибута disabled в Firefox.
kmlButton.get(0).disabled = false;
// При нажатии на кнопку загружаем соответствующий XML-файл.
// и отображаем его данные на карте.
kmlButton.click(function (e) {
ymaps.geoXml.load('http://riso.ru/upload/uf/57c/kgz_adm0.kml')
.then(onGeoXmlLoad);
e.target.disabled = true;
});
// Обработчик загрузки XML-файлов.
function onGeoXmlLoad (res) {
myMap.geoObjects.add(res.geoObjects);
if (res.mapState) {
res.mapState.applyToMap(myMap);
}
}
}