2012-02-15 55 views
0

我有一张地图,使用自定义标记来显示整个美国的商店位置。当有人点击标记(第一次单击)时,我想缩放到可能包含多个标记的区域。然后,当他们点击缩放区域内的标记时(第2次点击),它应该显示一个包含该商店信息的信息窗口。Google Maps Api v3 - 点击标记,然后打开窗口,然后点击第二次点击

我有什么不完全正确。它以我想要的方式工作如果第二次点击恰好是他们第一次点击的标记。如果它在缩放区域内是一个不同的标记,它只是平移并居中该标记。然后我必须点击第三次打开信息窗口。

这里是我的代码:

  function(map, marker){  
      $(marker).click(function() { 
      map.setZoom(8), 
      map.panTo(marker.getPosition(), 
      google.maps.event.addListener(marker, 'click', function() { 
        $('#map_canvas').gmap('openInfoWindow', { 'content': '<p style=\"font-size:95%;\"><span class=\"red padR5\" style=\"font-weight: bold;\">$city</span><a href=\"#/locate-sola-salons/city/$url_title/C$city_id/\" id=\"$url_title\" title=\"$city\" style=\"border-bottom:1px dotted #666666;\">See Details</a></p><p>$address2</p><p>$phone</p>'}, this); 
        }) 
      ); 
     }); 

有没有办法,我可以完成我想要的只有2次点击,而不是3的方法吗?

回答

0

更好的方法是设置一个标志,指出地图是否应平移/放大标记点击或应打开信息窗口。或者,您可以检查当前缩放级别并确定要采取的操作。

+0

我最终只是在点击功能中设置了一个计数器。一旦计数器> 0,则显示信息窗口而不是panTo()。 – immd 2012-02-16 23:37:22

相关问题