Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   оптимизация drag and drop (https://javascript.ru/forum/events/31024-optimizaciya-drag-drop.html)

Deff 31.08.2012 20:14

cyber,
1. Начальные координаты точки считай от левого верхнего угла пойнтера - до левого верхнего угла карты(если отсутствуют маргины для пойнтера

cyber 31.08.2012 20:20

Цитата:

Сообщение от Deff (Сообщение 202040)
Карта движецо относительно родителя - zooming - посколь у него позиция relative, любые лефт и топ для картинки - это смещения относительно родителя, - выставляй тады left=0 и top=0 у картинки карты,




Ты не добавил постоянный margin-left:-1/2ширины кружка
и margin- тоp:-1/2высоты кружка - а так всё стоит - обведи верхнюю левую точку крепления кружка крестиком на картинке

Для варианта метки - "Восклицательным знаком"(как сейчас на карте) = margin- тоp:-высота ("Значка")

а смысел от margin если он отрицательный оно все равно будет уезжать в верх, и даже если задать положительный будет не нужно смещение относительно начальных координат и все равно не поможет так как размер точки
.point_on_map {

width: 20px;
height: 34px;
background-image:url([url]http://www.google.com/mapfiles/marker.png);[/url]

}

а то непонятно смещение на -40 px в лево и на -124 в высоту

cyber 31.08.2012 20:23

Цитата:

Сообщение от Deff (Сообщение 202043)
cyber,
1. Начальные координаты точки считай от левого верхнего угла пойнтера - до левого верхнего угла карты(если отсутствуют маргины для пойнтера


Deff 31.08.2012 20:24

Цитата:

Сообщение от cyber
а то непонятно смещение на -40 px в лево и на -124 в высоту

Просто тады ты Визуально (и это будет соответствовать left и top для заострёнки) считаешь и вводишь координаты от заострённого края пойнтера до левого верхнего угла картинки карты

cyber 31.08.2012 20:29

если бы проблема была в этом смещение было бы в пару раз меньши

Deff 31.08.2012 20:50

cyber,
1. Считаю нужно добивацо ясности во всём

2. Покажи реальный подсчет координаты пойнтера?

3. Где начальные неизменяемые установки для заострённого края(от краёв картинки карты) при максимальном масштабе ? ,которые в дальнейшем множацо на zoom.

cyber 31.08.2012 21:06

Цитата:

Сообщение от Deff (Сообщение 202054)
cyber,
1. Считаю нужно добивацо ясности во всём

2. Покажи реальный подсчет координаты пойнтера?

3. Где начальные неизменяемые установки для заострённого края(от краёв картинки карты) при максимальном масштабе ? ,которые в дальнейшем множацо на zoom.

ты об этом?
нет разницы чей вариант использовать твой или мой результаты одинаковы
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:left+'px',
	  top: top +'px'  
	 }); 
	 
});
		
	
}

я только что провел эксперемент, взял обьект на карте измерял расстояние до него при исходном размере , рассчитал по той формуле что и для точек и получилось что считает правильно, потом проверил линейкой(плагин линейка:)) при макс зуме и совпали координаты(с не большую погрешностью).Значит дело все таки в самих точках

cyber 31.08.2012 21:15

ты прав дело в точка, чем меньше точка тем меньше смещение

cyber 31.08.2012 21:57

насчет твоей идеи с margin , проще тогда уже отнимать от позиции точки чем ставить margin , но это не помогает.
не хрина не помогает

cyber 31.08.2012 23:03

все мои нервы сдали!!!
теперь точка будет нарисована и координаты буду до нее расчитыватся=)


Часовой пояс GMT +3, время: 04:33.