Координаты рядом с курсором не исчезают при переходе на другой блок
Вывел координаты рядом с курсором на карте, но при переходе на другой блок они не исчезают а замораживаются в последнем значении, как их убрать, помоги подправить код https://jsfiddle.net/1mr63jyt/1/
ymaps.ready().then(function () {
var map = new ymaps.Map('map', {
center: [55.75, 37.62],
zoom: 14,
controls: []
});
map.cursors.push('crosshair');
map.events.add('mousemove', function (e) {
var coords = e.get('coords');
$(BL).text([coords[0].toPrecision(7), coords[1].toPrecision(7)].join('\n'));
});
$(function() {
$(document).mousemove(function(e) {
var iconPosition = {
top: e.pageY + 12,
left: e.pageX + 12
};
$('.cursor-icon').offset(iconPosition);
});
});
});
Ответы (2 шт):
Автор решения: Anatoly
→ Ссылка
Вам следует сделать прослушку по mouseleave:
map.events.add("mouseleave", function () {
$("#BL").text(""); // Очищаем текст при выходе курсора с карты
});
Автор решения: U4kin
→ Ссылка
Помогли немного по другому, но получилось отлично https://jsfiddle.net/1nt70q8j/14/
map.cursors.push('crosshair');
var $BL = $('#BL');
var cursorRectangle;
map.events.add('mousemove', function (e) {
var coords = e.get('coords');
$BL.text([coords[0].toPrecision(7), coords[1].toPrecision(7)].join('\n'));
// Обновление прямоугольника на карте
if (cursorRectangle) {
cursorRectangle.geometry.setCoordinates([coords, [coords[0] + 0.000001, coords[1] + 0.000001]]);
} else {
cursorRectangle = new ymaps.Rectangle([coords, [coords[0] + 0.000001, coords[1] + 0.000001]], {}, { visible: false });
map.geoObjects.add(cursorRectangle);
}
});
$('#map').on('mouseenter', function () {
$BL.show(); // Показываем блок с координатами при входе курсора в пределы карты
});