Google Map API V3 Zoom только при длительном фокусе - PullRequest
7 голосов
/ 05 августа 2011

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

Я надеюсь, что есть способ изменить, сколько времени понадобится карте Google, чтобы распознать наведение мыши и дать ему возможность фокусировки / масштабирования после длительного периода времени.время?Или какой-то другой вариант, чтобы заставить его получить фокус, например setTimeout(focus, 300); или что-то еще.

Ответы [ 2 ]

8 голосов
/ 05 августа 2011

Боюсь, API Карт Google не предлагает никакого способа отключить стандартную прокрутку.Хотя вы можете отменить масштабирование на карте, событие прокрутки не достигает страницы.

Хорошо, я пропустил опцию scrollwheel map, она делает именно то, что вам нужно.Для достижения желаемого поведения:

  • Установите для параметра scrollwheel значение false при инициализации карты.
  • Добавьте прослушиватель событий при наведении курсора, который запускает таймер.
  • При вызове тайм-аута map.setOptions(options) с параметром scrollwheel, установленным в значение true.
  • Добавьте прослушиватель события mouseout, который снова устанавливает для параметра карты scrollwheel значение false.

Другой способ достижения желаемого поведения - использовать небольшой прием:

  • Создайте прозрачный элемент div и поместите его на карту.Теперь div получает событие прокрутки, и страница ведет себя как обычно.
  • Запустить таймер при вызове события onmouseover для div.
  • Скрыть div по таймауту.
  • Добавьте слушатель событий mouseout на карту, чтобы снова показать div.
2 голосов
/ 05 августа 2011

Вы можете отключить масштабирование колеса прокрутки, установив колесо прокрутки: false при настройке параметров карты, например

var options={
zoom:3,
center: new google.maps.LatLng(37.09, -95.71),
mapTypeId: google.maps.MapTypeID.ROADMAp,
scrollwheel:false

}

это полностью отключит масштабирование колеса прокрутки для карты и устранит проблему, возникающую при загрузке страницы

...