Здравствуйте.
Столкнулся с проблемой масштабирования карты. При загрузке страницы происходит масштабирование по коллекции и потом резкий скачёк на уменьшение масштаба до максимума.
function marks(){
if( window.myCollection ) window.myCollection.removeAll();
window.myCollection = new ymaps.GeoObjectCollection();
window.clusterer = new ymaps.Clusterer({
preset: 'islands#invertedVioletClusterIcons',
groupByCoordinates: false,
clusterDisableClickZoom: true,
});
getPointData = function (cityOne, id, volume, capacity, nds, distance, cityTwo) {
return {
balloonContentBody: [
'<address>' +
'<b>Загрузка:</b> ' + cityOne +
'<br/>' +
'<b>ID объявления:</b> ' + id +
'<br/>' +
'<b>Вес/Объём:</b> ' + volume + '/' + capacity +
'<br/>' +
'<b>' + nds + '</b> (' + (distance/nds) + ' р/км)' +
'<br/>' +
'<b>Разгрузка:</b> ' + cityTwo +
'<br/>' +
'<b>Расстояние:</b> ' + distance +
'</address>'
],
clusterCaption: '<strong class="list-item" id=' + id + '>' + cityOne + " => " + cityTwo + '</strong>',
identifier: id
};
}
$('.datacontent').each(function(){
var cityload = $(this).data('cityload'),
cityunload = $(this).data('cityunload'),
coordsload = $(this).data('coordsload').split(';'),
coordsunload = $(this).data('coordsunload').split(';'),
id = $(this).data('id'),
volume = $(this).data('volume'),
capacity = $(this).data('capacity'),
nds = $(this).data('nds'),
distance = $(this).data('distance');
var markTo = new ymaps.Placemark([coordsload[0], coordsload[1]], getPointData(cityload, id, volume, capacity, nds, distance, cityunload), {
preset: 'islands#greenDotIcon'
});
var markDo = new ymaps.Placemark([coordsunload[0], coordsunload[1]], getPointData(cityload, id, volume, capacity, nds, distance, cityunload), {
preset: 'islands#redDotIcon'
});
var lineCity = new ymaps.Polyline([
[coordsload[0], coordsload[1]],[coordsunload[0], coordsunload[1]]
],{
strokeColor: "0000FF55",
strokeWidth: 20,
identifier: id
});
clusterer.add(markTo).add(markDo);
myCollection.add(lineCity);
});
clusterer.events.add('click', clickOnPlacemark);
clusterer.events.add(['balloonopen'], function(){
$('.list-item').click(function(){
for( var i = 0; i < myCollection.getLength(); i++ ){
if(myCollection.get(i).properties.get('identifier') != this.id){
myCollection.get(i).options.set('visible', false);
}else{
myCollection.get(i).options.set('visible', true);
}
}
});
});
searchMap.geoObjects.add(clusterer);
searchMap.geoObjects.add(myCollection);
searchMap.setBounds(clusterer.getBounds(), { checkZoomRange: true });
}