Данные на карту выводятся через ObjectManager по требованию
Необходимо отобразить все метки на карте так, чтобы они были видны, для чего используется следующий код:
$.ajax({
url: '/points.php',
dataType: 'json'
})
.done(function (data) {
// Если всё ок - добавим метки на карту
objectManager.add(data);
// Теперь надо бы найти максимальные и минимальные координаты точек
// Для этого определим изначальные "координаты"
var maxLat = 0,
maxLon = 0,
minLat = 100,
minLon = 100;
// пройдёмся в цикле по всем координатам
objectManager.objects.each(function (object) {
var lat = object.geometry.coordinates[0],
lon = object.geometry.coordinates[1];
// Определим максимальные и минимальные результаты
maxLat = (lat <= maxLat) ? maxLat : lat;
maxLon = (lon <= maxLon) ? maxLon : lon;
minLat = (lat >= minLat) ? minLat : lat;
minLon = (lon >= minLon) ? minLon : lon;
}, myMap);
// Установим границы карты в соответсвии с полученными данными
myMap.setBounds([[minLat, minLon], [maxLat, maxLon]]);
})
.fail(function () {
console.log("error");
});
Вопрос:
Правильная ли это конструкция с точки зрения производительности, или возможно как то проще это реализовать?