Добрый день,
Есть xml файл в котором содержится более 5000 строк и те только по москве, в будущем туда добавяться еще порядка 10 крупных городов.
Как ускорить загрузку?
Сейчас загружается так:
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Примеры YMapsML. Создание меню для групп загруженного YMapsML.</title>
<meta http-equiv="Content-Type" content="text/html" />
<script src="http://api-maps.yandex.ru
<script src="http://yandex.st/jquery/1.6.4/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript">
window.onload = function () {
ymaps.ready(function () {
// Создание экземпляра карты
var myMap = new ymaps.Map('map', {
center: [55.76,37.64],
zoom: 10,
behaviors: ["default", "scrollZoom"]
});
//Добавление кнопки изменения масштаба
myMap.controls
.add('zoomControl')
// Линейка масштаба
.add('typeSelector')
.add('mapTools');
var trafficControl = new ymaps.control.TrafficControl();
myMap.controls
.add(trafficControl)
// В конструкторе элемента управления можно задавать расширенные
// параметры, например, тип карты в обзорной карте.
.add(new ymaps.control.MiniMap({
type: 'yandex#publicMap'
}));
// Загрузка YMapsML-файла
ymaps.geoXml.load("ht/xml/msk.xml")
.then(function (res) {
res.geoObjects.each(function (item) {
addMenuItem(item, myMap);
});
},
function (error) { // Вызывается в случае неудачной загрузки YMapsML-файла
alert("При загрузке YMapsML-файла произошла ошибка: " + error);
});
// Добавление элемента в список
function addMenuItem(group, map) {
// Показать/скрыть группу геообъектов на карте
$("<a class=\"title\" href=\"#\">" + group.properties.get('name') + "</a>")
.bind("click", function () {
var link = $(this);
// Если пункт меню "неактивный", то добавляем группу на карту,
// иначе - удаляем с карты
if (link.hasClass("active")) {
map.geoObjects.remove(group);
} else {
map.geoObjects.add(group);
}
// Меняем "активность" пункта меню
link.toggleClass("active");
return false;
})
// Добавление нового пункта меню в список
.appendTo(
$("<li></li>").appendTo($("#menu"))
);
}
});
}
</script>
</head>
<style type="text/css">
/* Оформление меню (начало)*/
#menu {
list-style: none;
margin: 0;
padding: 0;
}
#menu a {
text-decoration: none;
border-bottom: dashed 1px;
}
a.active {
color: #000;
}
/* Оформление меню (конец)*/
</style>
<body>
<table>
<tr>
<td>
<div id="map" style="width:800px;height:700px"></div>
</td>
<td valign="top">
<ul id="menu"></ul>
</td>
</tr>
</table>
</body>
</html>