if(!map) {
map = new ymaps.Map('map', {
// Координаты центра карты. «широта, долгота».
center: coords,
// Уровень масштабирования. Допустимые значения: от 0 (весь мир) до 19.
zoom: 17
// controls: []
});
// Создание метки
marker = new ymaps.GeoObject({
// Описание геометрии.
geometry: {
type: "Point",
coordinates: coords
}
});
map.geoObjects.add(marker);
map.behaviors.disable('scrollZoom');
// Получаем центр карты в пикселях
var pixelCenter = map.getGlobalPixelCenter(coords);
// Устанавливаем сдвиг центра по оси Х
pixelCenter = [
pixelCenter[0] - 300,
pixelCenter[1]
];
// Устанавливаем новые координаты
var geoCenter = map.options.get('projection').fromGlobalPixels(pixelCenter, map.getZoom());
map.setCenter(geoCenter);
} else {
// Получаем центр карты в пикселях
var newPixelCenter = map.getGlobalPixelCenter(coords);
// Устанавливаем сдвиг центра по оси Х
newPixelCenter = [
newPixelCenter[0] - 300,
newPixelCenter[1]
];
// Устанавливаем новые координаты
var newGeoCenter = map.options.get('projection').fromGlobalPixels(newPixelCenter, map.getZoom());
map.setCenter(newGeoCenter);
marker.geometry.setCoordinates(coords);
}