Как сделать маркер Google Maps простой ссылкой на URL? - PullRequest
4 голосов
/ 30 ноября 2011

Я ищу способ сделать маркер карты Google простой ссылкой (<a href="">).

I не хочу воспроизвести поведение ссылки с помощью Javascript (location.href например), потому что я хочу, чтобы пользователь мог открыть ссылку в новой вкладке или окне (например, с помощью среднего щелчка).

Есть ли способ сделать это?

Ответы [ 3 ]

1 голос
/ 12 июня 2014

Для этой проблемы есть обходной путь .

  1. Оберните div карты Google ссылкой с помощью href = "#"
  2. Установить события mouseouver и mouseout маркеров до обновить ссылку href (mouseover устанавливает ссылку на страницу, соответствующую маркеру, mouseout устанавливает ее обратно в "#") .

Таким образом, средний щелчок / щелчок Ctrl / обычный щелчок левой кнопкой мыши имеют все желаемые классические поведения , и накладные расходы очень ограничены.

Это решение работает для полноэкранной карты, потому что после "#" href не будет никакого эффекта. Если вы хотите, чтобы это решение работало на странице , высота которой превышает -10 * , вам также следует добавить прослушиватель событий щелчка по ссылке, чтобы блокировал распространение события , когда href установлен на "#".

0 голосов
/ 30 ноября 2011

Поскольку щелчок по маркеру является событием javascript, вы можете использовать только функции location.href / window.open.

Если вам нужны стандартные html-ссылки, тогда ваш лучший вариант - открыть информационное окно, когда пользователь нажимает на маркер, и содержимое информационного окна будет HTML-ссылкой.

0 голосов
/ 30 ноября 2011

Интересная идея.Единственное решение, которое приходит мне в голову, - это использовать jquery для обертывания каждого элемента маркера в <a href="..." />:

$(something).wrap('<a href="..." />');

. Проблема в том, как найти все маркеры, то есть, что будет выражением «что-то».

...