Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #101 (permalink)  
Старый 30.08.2012, 21:02
Аватар для cyber
I am Student
Отправить личное сообщение для cyber Посмотреть профиль Найти все сообщения от cyber
 
Регистрация: 17.12.2011
Сообщений: 4,415

Deff, сделал но теперь еще хуже
Ответить с цитированием
  #102 (permalink)  
Старый 30.08.2012, 21:03
Аватар для cyber
I am Student
Отправить личное сообщение для cyber Посмотреть профиль Найти все сообщения от cyber
 
Регистрация: 17.12.2011
Сообщений: 4,415

пока сделал по быстро только на увлечение, но все равно не работает правильно=(
var zLeft = 0;
var zTop = 0;
function setNewPosition (zoom, width, height) {
 zLeft +=  width / zooming.width() == 1 ? 0 : width / zooming.width();
 zTop += height / zooming.height() == 1 ? 0 : height / zooming.height() ;
 
var i = 0;
points.each(function(index, element) {
 
  var left = posLeft[i];
  var top = posTop[i];

  if (zoom) {
   left *= zLeft;
   top *= zTop;
  } else {
	left /= zooming.width() / width;
   top /= zooming.height() / height;  
	  
	}
	 i++;
   $(this).css({
	  left: Math.round(left) +'px',
	  top: Math.round(top) +'px'  
	 }); 
	 
});
		
	
}
Ответить с цитированием
  #103 (permalink)  
Старый 30.08.2012, 21:07
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

cyber,
А ссылка та же ? *Посмотреть ?
(Думаю Что Аналогичная феня и в карте (тож набег округлений) - в итоге и раздрай.... (Если прошлый раз оно совпадало по идеалогии с картой, то основная погрешность была ток при самых мелких масштабах

Последний раз редактировалось Deff, 30.08.2012 в 21:11.
Ответить с цитированием
  #104 (permalink)  
Старый 30.08.2012, 21:15
Аватар для cyber
I am Student
Отправить личное сообщение для cyber Посмотреть профиль Найти все сообщения от cyber
 
Регистрация: 17.12.2011
Сообщений: 4,415

http://cyberua.16mb.com/files/
Ответить с цитированием
  #105 (permalink)  
Старый 30.08.2012, 21:18
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Потом у тьву всё равно нет констант
Должно быть так
left = Left00*zoom
Left00 - это начальное смещениие от лево приведенной к максимальному масштабу карты (константа - не меняемая после установки точки)

zoom - это отношение текущей карты к максимальной величине карты
Ответить с цитированием
  #106 (permalink)  
Старый 30.08.2012, 21:20
Аватар для cyber
I am Student
Отправить личное сообщение для cyber Посмотреть профиль Найти все сообщения от cyber
 
Регистрация: 17.12.2011
Сообщений: 4,415

константа, я с зумом затупил
Ответить с цитированием
  #107 (permalink)  
Старый 30.08.2012, 21:26
Аватар для cyber
I am Student
Отправить личное сообщение для cyber Посмотреть профиль Найти все сообщения от cyber
 
Регистрация: 17.12.2011
Сообщений: 4,415

эм...
смещается на столька же
function setNewPosition (zoom, nWidth, nHeight) {

var i = 0;
points.each(function(index, element) {
 
  var left = posLeft[i];
  var top = posTop[i];
  
  if (zoom) {
   left *=  nWidth / width;
   top *=  nHeight / height;
  } else {
	left /= zooming.width() / width;
   top /= zooming.height() / height;  
	  
	}
	 i++;
   $(this).css({
	  left: Math.round(left) +'px',
	  top: Math.round(top) +'px'  
	 }); 
	 
});
		
	
}

как и тут
function setNewPosition (zoom, width, height) {

points.each(function(index, element) {
 
  var left = parseInt($(this).css('left'));
  var top = parseInt($(this).css('top'));

  if (zoom) {
   left *= width / zooming.width();
   top *= height / zooming.height();
  } else {
	left /= zooming.width() / width;
   top /= zooming.height() / height;  
	  
	}
	 
   $(this).css({
	  left: Math.round(left) +'px',
	  top: Math.round(top) +'px'  
	 }); 
	 
});
		
	
}
Ответить с цитированием
  #108 (permalink)  
Старый 30.08.2012, 21:46
Аватар для cyber
I am Student
Отправить личное сообщение для cyber Посмотреть профиль Найти все сообщения от cyber
 
Регистрация: 17.12.2011
Сообщений: 4,415

Deff, вариантов больше нет?
Ответить с цитированием
  #109 (permalink)  
Старый 30.08.2012, 21:49
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

cyber,
Нун смотреть карту - наверняка и там где-то есть наращивание погрешностей округления

Ксать в Опере - у меня пойнтерв стоят - без шевеления http://cyberua.16mb.com/files/

Гы - перезагрузил какрту - поехали

Ксать - посколь растояние между ними не бегает ( между ними двумя )
Есть предположение - что сейчас ты Left берешь не от той оболочки

Я Думал - что дроп ты делаешь со внешней - а масштаб со внутренней - это так ? или наоборот ?

Т.е left и тоp предполагались от левого верхнего угла карты

Последний раз редактировалось Deff, 30.08.2012 в 21:58.
Ответить с цитированием
  #110 (permalink)  
Старый 30.08.2012, 22:08
Аватар для cyber
I am Student
Отправить личное сообщение для cyber Посмотреть профиль Найти все сообщения от cyber
 
Регистрация: 17.12.2011
Сообщений: 4,415

Deff,дело не в округлениях.
вот блок
<div class="map" id="map">

<div id="wrapper" class="wrapper">

<div id="zooming" class="zooming-map">
<img src="general.jpg"/>
<a href="#" class="point_on_map" style="left:20%; top:30%;"></a>
<a href="#" class="point_on_map" style="left: 427px; top: 356px; "></a>
<a href="#" class="point_on_map" style="left:1000px; top:800px;"></a>
</div>
</div>

</div>

при вызове скрипта я устанавливаю все точкам значение в px
function setPointPosition(){
	
points.each(function() {

  var coords = $(this).offset();
 
   $(this).css({
	  left: coords.left - coord_elem.left +'px',
	  top: coords.top - coord_elem.top +'px'  
	     
	   
	   }); 
});
	
}

относительно текущего блока /
B coords координаты
<div class="map" id="map">
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
drag & drop , html 5 cyber Events/DOM/Window 1 30.06.2012 15:16
Помогите с drag and drop shtopor jQuery 1 20.02.2012 13:26
Разбираюсь с drag and drop uaNikita Events/DOM/Window 4 22.09.2011 11:25
Drag & Drop с несколькими элементами Katz Общие вопросы Javascript 1 29.07.2011 13:01
Drag & Drop в полном объеме dizews Events/DOM/Window 3 26.07.2007 12:43