Javascript event.currentTarget — конфузная ситуация

    Вот уже дня два копаюсь как получить координаты события (щелчок мышью) в контексте конкретного элемента в JavaScript'e, немного погуглив нашел, что можно получить контекст элемента события можно получить таким вот образом event.currentTarget а дальше к сожалению не знаю может кто — нибудь уже решал такую задачку или я иду не в ту «степь»? Посоветуйте пожалуйста.
    Пытался как — то получить координаты через свойство event.currentTarget.localX не выходит…
    И еще один маленький вопрос по части реализации: каким образом (алгоритм) гугловцы раставляют метки на карте и как их обратно восстанавливать т.е. привязывать в «своим» местам куда прикрутил их пользователь и как собирать фрагменты карт?

    Мне бы только основные принципы работы таких систем подкинуть :).

    А все дело в том, что у нас в отдаленных местностях скорость интернета оставляет желать лучшего и нужно реализовать простенький вариант (векторный) карты страны и выставить все дело на местном хостинге…

    Заранее всем СПАСИБО.
    Ads
    AdBlock has stolen the banner, but banners are not teeth — they will be back

    More

    Comments 6

      –5
      омг, у автора ник равен моему имени
        0
        советую посмотреть на библиотеку openlayers. Вот gis-lab.info/qa/openlayers-begin.html введение на русском языке.
          0
          Вот тут почитайте:
          www.quirksmode.org/js/events_properties.html

          Раздел «Mouse position»
            0
            Будем пробовать братцы, буду писать что у меня получилось… Спасибо.
              0
              Для таких вопросов xpoint.ru существует.

              function getElementXY(node) {
              	// если у html/body имеется паддинг или нода находится внутри ноды со скроллом (но не html),
              	// то нужно будет дополнительно погемороиться
              	var x = 0, y = 0;
              	while(node.offsetParent) {
              		x += node.offsetLeft;
              		y += node.offsetTop;
              		node = node.offsetParent;
              	}
              	return [x, y];
              }
              
              function onClick(evt) {
              	// координаты мыши на странице
              	var mouseXY = [evt.clientX, evt.clientY]; 
              	// координаты ноды на странице
              	var nodeXY = getElementXY(evt.currentTarget || evt.srcElement); 
              	// координаты мыши внутри ноды - просто разность
              	var XY = [ mouseXY[0] - nodeXY[0], mouseXY[1] - nodeXY[1] ]; 
              	// проверка (я смотрел в ие6, фф2, опера 9.5)
              	// alert(mouseXY[0] +", "+ mouseXY[1] +"\n"+ nodeXY[0] +", "+ nodeXY[1]);
              }
              
                0
                хм… странно, я забыл про window.event… но… эээ… ие6 и так заработал… или у меня с ие6 что-то, или одно из двух.

                В onClick первой строчкой добавьте: evt = evt || window.event;

              Only users with full accounts can post comments. Log in, please.