Google Maps Api v3 - 单击标记,缩放然后在第二次单击时打开窗口

时间:2012-02-15 16:51:26

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

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

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

这是我的代码:

          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次点击中完成我想要的任务?

1 个答案:

答案 0 :(得分:0)

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