2012-02-15 20 views
0

私は米国内で、カスタムマーカーを使用して店舗の場所を表示しています。誰かがマーカをクリックすると(1回目のクリック)、そのエリアにズームしたいと思います。そのエリアには複数のマーカが含まれている可能性があります。ズームした領域(2番目のクリック)内のマーカーをクリックすると、そのストアに関する情報が表示された情報ウィンドウが表示されます。GoogleマップApi v3 - 2回目のクリックでマーカーをクリックしてズームしてからウィンドウを開きます。

私が持っているものはまったく正しいことではありません。それは私が望むように動作しますIF 2回目のクリックは、初めてクリックしたときと同じマーカーになります。拡大された領域内の別のマーカーの場合は、そのマーカーをパンして中央に配置します。それから3回目をクリックして情報ウィンドウを開く必要があります。

  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

関連する問題