2012-02-15 54 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

相關問題