
рд╣рд░ рдХреЛрдИ рдЬрд╛рдирддрд╛ рд╣реИ рдХрд┐ рд▓реЗрдмрд▓ рдФрд░ рдХреНрд▓рд╕реНрдЯрд░ рдХреЗ рд╕рд╛рде рдПрдкреАрдЖрдИ 2.x рдХреЛрд░ рдореИрдк рдХреЛ рдкреНрд░рд┐рдВрдЯ рдХрд░рдирд╛ рдмрд╕ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдЕрдм рддрдХ, рдирдХреНрд╢рд╛ рдХреИрдирд╡рд╛рд╕ рдкрд░ рдирд╣реАрдВ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдмреИрдХрд┐рдВрдЧ (рдкреГрд╖реНрдарднреВрдорд┐-рдЫрд╡рд┐) рдХреЗ рд╕рд╛рде divas рдкрд░ред рдФрд░ рдХреИрдирд╡рд╛рд╕ рдЖрдкрдХреЗ рдкрд╕рдВрджреАрджрд╛ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреА рдорджрдж рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред
рдХрд╛рд░реНрдп рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ - рдЬрд▓реНрджреА рд╕реЗ рдирдХреНрд╢реЗ рдХрд╛ рдПрдХ рдореБрджреНрд░рдг рдпреЛрдЧреНрдп рд╕рдВрд╕реНрдХрд░рдг рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдПред рд▓реЗрдмрд▓ рдХреА рд╕рдВрдЦреНрдпрд╛ 600 рд╕реЗ рдЕрдзрд┐рдХ + рдХреНрд▓рд╕реНрдЯрд░ "рдмреЙрдХреНрд╕ рд╕реЗ рдмрд╛рд╣рд░" рд╣реИред
рдХрдЯ рдХреЗ рддрд╣рдд рдХрд╛рдо рдХрд░рдиреЗ рдХрд╛ рд╡рд┐рдХрд▓реНрдк
рдорд╛рдирдЪрд┐рддреНрд░ рдХреЛ рд╣рдореЗрд╢рд╛ рдХреА рддрд░рд╣ рдкреНрд░рд╛рд░рдВрдн рдХрд░реЗрдВ - рд▓рд┐рдВрдХ рд╕реЗ рдЬрд╝реВрдо рдФрд░ рд╕реЗрдВрдЯрд░ рд▓реЗрдВ
ymaps.ready(function () { var mapTypes = ['yandex#map', 'yandex#satellite', 'yandex#hybrid', 'yandex#publicMap', 'yandex#publicMapHybrid'], map = new ymaps.Map($('#map')[0], { center:[ parseFloat(<?= $request_lat?>), parseFloat(<?= $request_lng?>)], zoom:parseInt(<?= $request_zoom?>), type: mapTypes[<?= $request_mtype ? $request_mtype : 0?>] });
рдЯреИрдЧ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░рд┐рдВрдЯрд░ рдлреНрд░реЗрдВрдбрд▓реА рд▓реЗрдЖрдЙрдЯ рдмрдирд╛рдПрдВ
рдпрд╣рд╛рдБ рдореБрдЭреЗ рдпрд╣ рдХрд╣рдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдлреНрд░реЗрдВрдбрд▓реА рдкреНрд░рд┐рдВрдЯрд░ рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рд╣рдо рдмреИрдХрдЧреНрд░рд╛рдЙрдВрдб-рдЗрдореЗрдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЗрдореЗрдЬ рдХреЗ рд╕рд╛рде рдбрд┐рд╡ рдХрд╛ рдПрдХ рдЧреБрдЪреНрдЫрд╛ рдмрдирд╛рддреЗ рд╣реИрдВред
рдореЗрд░реЗ рдЯреИрдЧ рдЖрдЗрдХрди рдореЗрдВ 2 рднрд╛рдЧ рд╣реЛрддреЗ рд╣реИрдВ - рдПрдХ рдЪрд┐рддреНрд░ рдФрд░ рдПрдХ рдкреГрд╖реНрдарднреВрдорд┐ред рджреЛрдиреЛрдВ рдкреНрд░реЗрдд рдореЗрдВред рдЗрд╕рд▓рд┐рдП рдРрд╕реА рдЙрдиреНрдорддреНрдд рд╢реИрд▓реАред рдореИрдВ рдЗрд╕реЗ рд╕реНрдкрд╖реНрдЯрддрд╛ рдХреЗ рд▓рд┐рдП рдЗрдирд▓рд╛рдЗрди рдкрд░ рд▓рд╛рддрд╛ рд╣реВрдВ
ymaps.layout.storage.add('voina#icon', ymaps.templateLayoutFactory.createClass( '<div style="position: absolute; width: 28px; height: 36px; overflow: hidden;z-index: 0; ">' + '<div style="position:absolute;width:20px;height:20px;overflow:hidden;top:4px;left:4px">' + '<img src="/img/new_buttons_21.png" style="position:absolute;left:$[properties.iconOffset]px;"></div>' + '<img src="/img/buttons7.gif" style="position: absolute; left: -264px; top: -70px; "></div>' ));
рдХреНрд▓рд╕реНрдЯрд░ рдЖрдЗрдХрди рдХреЗ рд╕рд╛рде рдПрдХ рд╣реА рдмрд╛рддред рдореИрдВ рдЕрдВрджрд░ рд╡рд┐рднрд┐рдиреНрди рдмрд┐рдВрджреБрдУрдВ рдХреЗ рд▓рд┐рдП рдХреНрд▓рд╕реНрдЯрд░ рдЖрдЗрдХрдиреЛрдВ рдХреЗ рд╡рд┐рднрд┐рдиреНрди рдЖрдХрд╛рд░реЛрдВ рд╕реЗ рдкрд░реЗрд╢рд╛рди рдирд╣реАрдВ рдерд╛ - рдореБрдЭреЗ рдЬрд▓реНрджреА рдХрд░рдирд╛ рдкрдбрд╝рд╛)
ymaps.layout.storage.add('voina#cluster', ymaps.templateLayoutFactory.createClass( '<div style="position: absolute; margin: -26px 0 0 -26px; width: 58px; height: 58px; overflow: hidden;z-index: 0; ">' + '<div style="z-index:800;position: absolute; width: 58px; height: 58px; text-align: center; font-size: 13px; line-height: 58px;">$[properties.geoObjects.length]</div>' + '<img src="/img/cluster_big.png" style="position: absolute;"></div>'));
рдпрд╣рд╛рдБ рд╣рдореЗрдВ рдкрд░рдд рдХреЗ рдХрдВрдЯреЗрдирд░ рдорд┐рд▓рддреЗ рд╣реИрдВ
var $container = map.panes.get('layers').getElement(),
рдЪреВрдВрдХрд┐ рд╕реНрдЯреЗрдЯрд┐рдХреНрд╕ рдореЗрдВ рдХрд╛рд░реНрдб рдХреЗ рдкреНрд░рдХрд╛рд░ рдЕрд▓рдЧ рд╣реИрдВ, рд╣рдо рдкрддреНрд░рд╛рдЪрд╛рд░ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдХрд╛рд░реНрдб рдХрд╛ рдХреЗрдВрджреНрд░ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ
stMapTypes = {'yandex#map' : 'map', 'yandex#satellite' : 'sat', 'yandex#hybrid' : 'sat,ski', 'yandex#publicMap' : 'pmap'}, center = map.getCenter(),
рдЖрдХрд╛рд░ рдПрдХ рдШрд╛рдд рд╣реИред рд╕реНрдереИрддрд┐рдХ рдЕрдзрд┐рдХрддрдо 650 рд╕реЗ 450 рджреЗрддрд╛ рд╣реИред рдореИрдВрдиреЗ рднреА рдкрд░реЗрд╢рд╛рди рдирд╣реАрдВ рдХрд┐рдпрд╛ - рдЗрд╕реЗ рдЕрдзрд┐рдХрддрдо рд╣реЛрдиреЗ рджреЗрдВ
рдирдХреНрд╢реЗ рдХреЗ рд╕рд╛рде рдПрдХ div рдХреЛ рднреА рдЗрди рдЖрдХрд╛рд░реЛрдВ рд╕реЗ рдмрдбрд╝рд╛ рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред
рдПрдХ рдЕрдЪреНрдЫреЗ рддрд░реАрдХреЗ рд╕реЗ, рдпрджрд┐ рдЖрдк рдПрдХ рдмрдбрд╝реЗ рдорд╛рдирдЪрд┐рддреНрд░ рдХреЗ рд╕рд╛рде рдПрдХ div рдмрдирд╛рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдкрд░рдд рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдПрдХ рдЕрд▓рдЧ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред
size = [650, 450],
рд╕реНрдЯреИрдЯрд┐рдХреНрд╕ рдХреЗ рд▓рд┐рдП рдлреЙрд░реНрдо рд▓рд┐рдВрдХ
mapUrl = 'http://static-maps.yandex.ru/1.x/?ll='+center[1]+','+center[0]+ '&z='+map.getZoom()+'&l='+stMapTypes[map.getType()]+ '&size='+size[0]+','+size[1];
рдпрд╣рд╛рдБ рдЬрд╛рджреВ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ
рдкреВрд░реНрдг рд╕реНрдерд┐рддрд┐ рдХреЗ рд╕рд╛рде рдПрдХ div рдмрдирд╛рдПрдВ рдФрд░ рдЗрд╕реЗ рдмреАрдЪ рдореЗрдВ рд░рдЦреЗрдВ, рдХреНрдпреЛрдВрдХрд┐ рдлрд▓рдХ рдХреЛ рд╡реНрдпреВрдкреЛрд░реНрдЯ рдХреЗ рдХреЗрдВрджреНрд░ рд╕реЗ рдЬреЛрдбрд╝ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдЖрдкрдХреЛ map.panes.get ('рд▓реЗрдпрд░реНрд╕') рдкрд░ рдХреЙрд▓ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред getViewport () рдФрд░ рдХреЗрдВрджреНрд░ рдкрдврд╝реЗрдВред рд▓реЗрдХрд┐рди рдЬрдм рд▓реЛрдб рд╣реЛ рд░рд╣рд╛ рд╣реИ, рддреЛ рдлрд▓рдХ рдмреАрдЪ рдореЗрдВ рд╣реИ, рдФрд░ рд╣рдордиреЗ рдирдХреНрд╢рд╛ рдирд╣реАрдВ рдЪрд▓рдиреЗ рджрд┐рдпрд╛
$('<div></div>').css({ position: 'absolute', left: -Math.round(size[0] / 2)+'px', top: -Math.round(size[1] / 2)+'px', zIndex: 800}).
рд╕реНрдЯреИрдЯрд┐рдХреНрд╕ рдХреЗ рд╕рд╛рде img рдХреЗ рдЕрдВрджрд░ рдбрд╛рд▓реЗрдВ
wrapInner($('<img>').attr({'src':mapUrl, width: size[0], height: size[1], border: '0'})).
рдФрд░ рд╢реЗрд╖ рддрддреНрд╡реЛрдВ рдХреЗ рдКрдкрд░ рдкрд░рдд рдХреЗ рдХрдВрдЯреЗрдирд░ рдореЗрдВ рдбрд╛рд▓реЗрдВ
prependTo($container);
рдЕрдЪреНрдЫреА рд╕реБрд╡рд┐рдзрд╛ - рд╕рднреА рдорд╛рдирдЪрд┐рддреНрд░ рдШрдЯрдирд╛рдУрдВ рдХреЛ рдирд┐рд╖реНрдХреНрд░рд┐рдп рдХрд░ рджреЗрддреА рд╣реИред рдЕрдм рди рддреЛ рдЪрд▓реЗрдВ рдФрд░ рди рд╣реА рд╕реЛрдЪреЗрдВ
map.events.removeAll();
рдпрд╣рд╛рдБ рдореИрдВ рдорд╛рдирдЪрд┐рддреНрд░ рдореЗрдВ рдЕрдкрдиреЗ рдорд╛рд░реНрдХрд░ рдЬреЛрдбрд╝ рджреЗрддрд╛ рд╣реВрдБред рдореИрдВрдиреЗ рдЙрдиреНрд╣реЗрдВ рдЪрд░ window.data рдореЗрдВ рджрд┐рдпрд╛ рд╣реИ
var len = window.data.length; if (len) { for (var i = 0, markers = [ ], properties, latLng; i < len; i++) { latLng = [parseFloat(window.data[i][1]), parseFloat(window.data[i][2])]; markers.push( new ymaps.Placemark(latLng, { iconOffset: -window.data[i][5] * 20 - 1 }, { iconLayout:'voina#icon', iconOffset: [1, 2], openBalloonOnClick: false })); }
рдЕрдм рдПрдХ рдХреНрд▓рд╕реНрдЯрд░ред рдорд╛рд░реНрдЬрд┐рди рдХреНрдпрд╛ рд╣реИ - рдореБрдЭреЗ рдпрд╛рдж рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдирдХреНрд╢реЗ рдкрд░ рдерд╛
var clusterer = new ymaps.Clusterer({margin: [20]});
рдХреНрд▓рд╕реНрдЯрд░ рдЖрдЗрдХрди рдХреЗ рд▓рд┐рдП рд▓реЗрдЖрдЙрдЯ рд╕реЗрдЯ рдХрд░реЗрдВ
clusterer.options.set('clusterIconLayout', 'voina#cluster');
рдореИрдВ рдЗрд╕ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рд▓рд┐рдЦрдирд╛ рдирд╣реАрдВ рдЪрд╛рд╣рддрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдореИрдВ рд╕рдореВрд╣реЛрдВ рдХреЛ рдЕрд▓рдЧ рддрд░рд╣ рд╕реЗ рдирд╣реАрдВ рдЦреЛрд▓ рд╕рдХрддрд╛ рдерд╛
clusterer.createCluster = function (center, geoObjects) { var cluster = ymaps.Clusterer.prototype.createCluster.call(this, center, geoObjects);
рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ рдорд╛рд░реНрдХрд░ рдЬреЛрдбрд╝реЗрдВ
clusterer.add(markers);
рдмрд╕ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдХреНрд▓рд╕реНрдЯрд░ рднреА рдбреВрдм рдЧрдпрд╛ рд╣реИ
clusterer.events.removeAll();
рдХрд╛рд░реНрдб рдореЗрдВ рдПрдХ рдХреНрд▓рд╕реНрдЯрд░ рдЬреЛрдбрд╝реЗрдВ
map.geoObjects.add(clusterer); } });
рдЯрд╛рдбрд╛ !!! рд╕рдм рдХреБрдЫ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдФрд░ рдкреНрд░рд┐рдВрдЯ рдХрд░рддрд╛ рд╣реИ (рдпрджрд┐ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдЗрддрдиреЗ рд╕рд╛рд░реЗ рдбреЛрдо рдСрдмреНрдЬреЗрдХреНрдЯ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реИ)
рдХреЗрд╡рд▓ рдПрдХ рдмрдЧ - рджреЛ рдХреЙрдкреАрд░рд╛рдЗрдЯред рдХрд╛рд░реНрдб рд╕реЗ рд╣рдЯрд╛рдиреЗ рдпрд╛ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЫрд┐рдкрдиреЗ рдХреА рддреНрд░реБрдЯрд┐рдпреЛрдВ рдореЗрдВ рдбрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдПред рдХреЗ рд▓рд┐рдП рдФрд░ рдареАрдХ рд╣реИред

рдЖрдк
рдпрд╣рд╛рдБ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ