Выполнить ссылку Jquery при нажатии на маркер - PullRequest
0 голосов
/ 06 июля 2011

Я хочу открыть пользовательское всплывающее окно Jquery при нажатии на маркер.URL-адрес # popup1 или # popup2 или что-то еще.Я попробовал тег URL, который работает для URL, но не для того, что я хочу.

Вот код:

<div id="map" style="width: 500px; height: 400px;"></div>

  <script type="text/javascript">
    var map = new google.maps.Map(document.getElementById('map'), {
      zoom: 2,
      center: new google.maps.LatLng(35.55, -25.75),
      mapTypeId: google.maps.MapTypeId.ROADMAP
    });

    var marker = new google.maps.Marker({
      position: map.getCenter(),
      url: '#popup1',
      map: map
    });

    google.maps.event.addListener(marker, 'click', function() {
      window.location.href = marker.url;
    });

  </script>

Это ничего не делает, я также хотел бы, чтобы маркер был отцентрировансередина при нажатии.Я благодарен за все ответы!Большое спасибо:)

Ответы [ 2 ]

1 голос
/ 24 июля 2011

Чтобы центрировать карту, добавьте

map.setCenter(marker.getPosition());

в качестве первой строки в функцию обратного вызова прослушивателя событий.Относительно URL

window.location.href = marker.get('url');

может быть решение использовать объект MVC.

1 голос
/ 06 июля 2011

Используйте marker.url = 'TEXT_WITHOUT _ # _ SIGN'

window.location.hash = marker.url

И вы можете использовать либо map.setCenter (marker.position), либо map.panTo (marker.position). Разница в том, что setCenter() центрирует карту мгновенно, и panTo делает это плавным движением.

...