我目前正在編寫一個廣泛使用谷歌地圖API(V3)的Rails 3應用程序。目前,每個標記的infowindow包含一個鏈接,將用戶帶到特定標記的頁面 - 即。 /宿/ 1。我的代碼的樣品是如下:在谷歌地圖infowindow AJAX鏈接
jQuery.getJSON("/places", function(json) {
if (json.length > 0) {
for (i=0; i<json.length; i++) {
var place = json[i];
var category = json[i].tag;
addLocation(place,category);
}
}
});
function addLocation(place,category) {
var marker = new google.maps.Marker({
位置:新google.maps.LatLng(place.lat,place.lng) 圖:圖, 標題:place.name, 圖標:圖像[ place.tag] });
marker.mycategory = category;
gmarkers.push(marker);
google.maps.event.addListener(marker, 'click', function() {
if (infowindow) infowindow.close();
infowindow = new google.maps.InfoWindow({
content: "<h3>"+ place.name +"</h3><p>" + place.tag +"</p><a href='/places/"+place.id+"'>Show more!</a>"
});
infowindow.open(map, marker);
});
}
這一切工作正常,到目前爲止,但我想,以消除用戶點擊信息窗口鏈接,通過引入AJAX調用後出現的頁面刷新。這可能嗎?任何幫助將非常感激!
編輯:
的.live功能是需要爲目標的信息窗口的鏈接,作爲信息窗口經常被創建後的DOM已準備就緒。所以我可以點擊鏈接,但我正在努力如何從我的map.js文件更新頁面的一部分。目前我有這樣的事情:
jQuery('#place_link').live('click', function() {
//alert("You clicked here.");
jQuery('#place_details').load('/places/"+place.id" #place_details');
return false;
});
...其中#place_details包含我想用AJAX調用更新標記的信息。正如我上面提到的那樣,.live部分工作正常,因爲單擊鏈接時(當未註釋掉時)會顯示警報。我該如何去實現這個目標?
感謝您的迴應 - 我真正在苦苦掙扎的是如何在服務器端使用rails進行組織...... – Budgie 2010-07-31 22:49:49