2013-08-27 5 views
3

Я работаю над настройкой карты Google для веб-сайта. Мне удалось получить то, что я хотел с API и сайт customization.Прокрутите страницу на div

В настоящее время вы можете пролистать мою карту, чтобы приблизиться или подняться. Интересно, можем ли мы сделать то же самое на моем div, размещенном над моей картой (которая содержит форму)?

Моя карта (форма справа): * удалить *

Ps: Я Пикселизация карту по соображениям безопасности.

Заранее спасибо,

ответ

1

Несомненно. Карты api предоставляют методы getZoom и setZoom для такого рода вещей. Все, что вам нужно сделать, это настроить обработчик событий для события mousewheel в вашем контейнере.

Это будет выглядеть примерно так:

$('#container').on('mousewheel', function (e) { 
    var currentZoom = map.getZoom(); 
    if (e.originalEvent.wheelDelta > 0) { 
    map.setZoom(currentZoom + 1); 
    } 
    else { 
    map.setZoom(currentZoom - 1); 
    } 
}); 

Вот рабочий jsFiddle, так что вы можете увидеть его в действии.

Кроме того, если вы пытаетесь увеличить масштаб до определенной точки, вы можете использовать setCenter, прежде чем делать масштаб. Точка, которую вы выбираете как ваш центр, будет точкой, в которой карта приближается.

+0

Привет! Thx для вашей помощи, но я не уверен, что вы понимаете, о чем я думал. Поэтому, когда мы находимся в моей форме, я хотел, чтобы вы могли прокручивать вверх/вниз по карте, как если бы моя мышь была на карте. – Drupal8ForTheWin

+0

О, я вижу. Итак, вы действительно хотите расширить область карты, чтобы включить свою форму? –

+0

Точно! Это возможно ? – Drupal8ForTheWin

0

@Phillip Schmidt: Он работает сейчас thx.

Я хотел бы знать, есть ли у вас также знания о том, как отключить «классический» свиток? Когда я прокручиваю свой div, Zoom работает отлично, но также и «классический» свиток:/

+0

У меня есть найти ответ: http://api.jquery.com/event.preventDefault/ – Drupal8ForTheWin

Смежные вопросы