2012-06-28 14 views

回答

2

你應該可以使用jQuery的.bind()方法來得到你想要的。

你將不得不作出一個jQuery對象出google.maps.Marker,然後調用.bind('click',function(){})

http://api.jquery.com/bind/

+0

嗨,我試過這個,但得到一個錯誤:$(google.maps.Marker).bind('click',function(e){infowindow.open(map,marker); });錯誤:未捕獲TypeError:對象#沒有方法'setValues' – styler

+0

google.maps.Marker是一個HTMLDocument,所以我不確定你是否可以像這樣綁定一個動作。看看谷歌的文檔,我不認爲有一個jQuery的方式來使用它的addListener函數......爲什麼你需要使用jQuery呢? JavaScript是同一件事... – Doug

+0

嘿道格,不使用Javascript是好的我只是想知道如果使用香草js是唯一真正的方法使用,或者如果我有其他選項,以及作爲學習這一部分。謝謝 – styler

1

你可能會喜歡使用jQuery ui map plugin。爲了解決你的問題,the basic example page勾畫出使用從點擊創建一個信息窗口:

$('#map_canvas').gmap().bind('init', function(ev, map) { 
    $('#map_canvas').gmap('addMarker', {'position': '57.7973333,12.0502107', 
          'bounds': true}).click(function() { 
     $('#map_canvas').gmap('openInfoWindow', {'content': 'Hello World!'}, 
            this); 
    }); 
}); 

我個人堅持使用普通的JavaScript,並按照谷歌文檔中的例子。我隱約記得使用這個(或類似的)插件遇到的一些其他問題,這些插件被一個「清除」標記函數不直觀地解決了,因此請注意,如果您使用了適用於Google的純JavaScript代碼的「便利」工具地圖。如果代碼使用普通的JavaScript,那麼回答問題也可能更容易。