Делаю карту посёлка на Canvas denisator.ru/work/map/test и столкнулся с проблемой на мобильном Хроме и Опере.
Если в Хроме щепоткой увеличить карту и отскролить её вниз то указатель, который должен перемещаться в точку нажатия пальцем, позиционируется где то в стороне. Причём такая проблема проявляется только в опере и хроме, а в стандартном браузере андроида и в файрфоксе всё работает нормально.
Пробовал компенсировать это смещение но не смог вычислить формулу по которой считать величину смещения.
<!DOCTYPE html><htmllang="ru"><head><metahttp-equiv="content-type"content="text/html; charset=UTF-8"><metacharset="utf-8"><scriptsrc="jquery-latest.js"></script></head><body><divid="info"><imgsrc="ugolok.png"><spanid="text">Какой нибудь <br> динамический текст</span></div><figureid="imapc"><objectdata="map.svg"type="image/svg+xml"id="imap"><p>К сожалению, вы используете устаревшую версию браузера, который не поддерживает интерактивную карту.</p></object></figure><divid="data"></div><script>
$(window).load(function(){// Получаем доступ к SVG DOMvar svgobject = document.getElementById('imap');if('contentDocument' in svgobject){var svgdom = svgobject.contentDocument;}// Хак для WebKit (чтобы правильно масштабировал нашу карту)var viewBox = svgdom.rootElement.getAttribute("viewBox").split(" ");var aspectRatio = viewBox[2]/ viewBox[3];
svgobject.height = parseInt(svgobject.offsetWidth / aspectRatio);
size=svgobject.offsetWidth;
$(svgdom).on("mousemove",function(event){//Проблемное место!!!//var scale=($(document).width())/(window.innerWidth);//$("#info").offset({top:(event.pageY+20+(window.pageYOffset*scale)), left:(event.pageX+23+window.pageXOffset)});
$("#info").offset({top:(event.pageY+20), left:(event.pageX+23)});});});</script><style>
html, body {width:100%; height:100%; margin:0px; padding:0px;}#imapc {
display: block;
width:100%;
height:auto;
margin:0;
padding:0;
border:0;}#imap{
margin:0;
padding:0;}
div#info {
position: absolute;
border:1px solid black;
background:#FFFFCC;
padding:6px;
font-family:Arial;//display: none;
border-radius:0px12px12px12px;
box-shadow:0010px rgba(0,0,0,0.8);}
div#info img{
position: absolute;
top:-18px;
left:-22px;}</style></body></html>
You can post now and register later.
If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.
Здравствуйте, подскажите какой тег использовать для увеличения значения, пример на картинке.
Вроде, про такой тег я слышала. Если есть тег прогресс бар, значит и такое должно быть.
Question
denisator
Делаю карту посёлка на Canvas denisator.ru/work/map/test и столкнулся с проблемой на мобильном Хроме и Опере.
Если в Хроме щепоткой увеличить карту и отскролить её вниз то указатель, который должен перемещаться в точку нажатия пальцем, позиционируется где то в стороне. Причём такая проблема проявляется только в опере и хроме, а в стандартном браузере андроида и в файрфоксе всё работает нормально.
Пробовал компенсировать это смещение но не смог вычислить формулу по которой считать величину смещения.
Link to comment
Share on other sites
1 answer to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.