单击标记时执行Jquery链接

时间:2011-07-06 18:37:04

标签: google-maps google-maps-api-3 google-maps-markers google-maps-api-2

我想在单击标记时打开自定义Jquery弹出窗口。网址是#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 个答案:

答案 0 :(得分:1)

使用marker.url ='TEXT_WITHOUT _#_ SIGN'

window.location.hash = marker.url

您可以使用map.setCenter(marker.position)或map.panTo(marker.position) 区别在于setCenter()可以立即使地图居中,而panTo可以很好地平滑移动。

答案 1 :(得分:1)

以地图为中心添加

map.setCenter(marker.getPosition());

作为事件监听器的回调函数的第一行。关于URL

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

可能是使用MVC对象的解决方案。