//Добавляет кнопки-стрелки на карту для перемещения
function setArrowButtons(){
//вверх
//https://iconizer.net/files/PICOL/orig/arrow_full_up_32.png
//вниз
//https://iconizer.net/files/PICOL/orig/arrow_full_down_32.png
//влево
//https://iconizer.net/files/PICOL/orig/arrow_full_left_32.png
//вправо
//https://iconizer.net/files/PICOL/orig/arrow_full_right_32.png
var buttonUp = new ymaps.control.Button({
data: {
// Зададим иконку для кнопки.
image: 'https://iconizer.net/files/PICOL/orig/arrow_full_up_32.png',
// Текст на кнопке.
content: '',
// Текст всплывающей подсказки.
title: 'Сдвинуть вверх'
},
options: {
// Зададим опции кнопки.
selectOnClick: false,
// У кнопки будет три состояния: иконка, текст и текст + иконка.
// Зададим три значения ширины кнопки для всех состояний.
maxWidth: [30, 100, 150]
}
});
var buttonDown = new ymaps.control.Button({
data: {
// Зададим иконку для кнопки.
image: 'https://iconizer.net/files/PICOL/orig/arrow_full_down_32.png',
// Текст на кнопке.
content: '',
// Текст всплывающей подсказки.
title: 'Сдвинуть вниз'
},
options: {
// Зададим опции кнопки.
selectOnClick: false,
// У кнопки будет три состояния: иконка, текст и текст + иконка.
// Зададим три значения ширины кнопки для всех состояний.
maxWidth: [30, 100, 150]
}
});
var buttonLeft = new ymaps.control.Button({
data: {
// Зададим иконку для кнопки.
image: 'https://iconizer.net/files/PICOL/orig/arrow_full_left_32.png',
// Текст на кнопке.
content: '',
// Текст всплывающей подсказки.
title: 'Сдвинуть влево'
},
options: {
// Зададим опции кнопки.
selectOnClick: false,
// У кнопки будет три состояния: иконка, текст и текст + иконка.
// Зададим три значения ширины кнопки для всех состояний.
maxWidth: [30, 100, 150]
}
});
var buttonRight = new ymaps.control.Button({
data: {
// Зададим иконку для кнопки.
image: 'https://iconizer.net/files/PICOL/orig/arrow_full_right_32.png',
// Текст на кнопке.
content: '',
// Текст всплывающей подсказки.
title: 'Сдвинуть вправо'
},
options: {
// Зададим опции кнопки.
selectOnClick: false,
size: 'auto',
// У кнопки будет три состояния: иконка, текст и текст + иконка.
// Зададим три значения ширины кнопки для всех состояний.
maxWidth: [30, 30, 30]
}
});
buttonUp.events.add('click', function () {
moveCenter(1,0);
});
buttonDown.events.add('click', function () {
moveCenter(-1,0);
});
buttonLeft.events.add('click', function () {
moveCenter(0,-1);
});
buttonRight.events.add('click', function () {
moveCenter(0,1);
});
myMap.controls.add(buttonUp, {
float: 'none',
position: {
left: '40',
top: '10'
}
});
myMap.controls.add(buttonDown, {
float: 'none',
position: {
left: '40',
top: '60'
}
});
myMap.controls.add(buttonLeft, {
float: 'none',
position: {
left: '10',
top: '35'
}
});
myMap.controls.add(buttonRight, {
float: 'none',
position: {
left: '70',
top: '35'
}
});
}
function moveCenter(X,Y){
varCoords = myMap.getCenter();
varZoom = 20 - myMap.getZoom();
document.getElementById('Message').value = varZoom;
var newX = varCoords[0] + (X*(varZoom*varZoom*varZoom*varZoom*varZoom*varZoom / (11*11*11*11*11*11))) / 2.5;
var newY = varCoords[1] + Y*(varZoom*varZoom*varZoom*varZoom*varZoom*varZoom / (11*11*11*11*11*11));
myMap.panTo([newX, newY])
}
|