我有我一直在使用谷歌地圖JavaScript API中包含了每個位置映射標記創建的地圖。然後,我在地圖外的邊欄中的每個位置都有一個鏈接,當點擊它時打開相關位置的infoWindow。這一切都很好。我試圖弄清楚的是如何使綁定「走另一條路」,以便當我點擊其中一個標記時,相應的鏈接(這些是頁面上的列表項)被突出顯示。當創建它們存儲在與陣列位置,然後嵌入鏈接的數組地圖標記,所以點擊功能只需要標記的位置數組中:結合谷歌地圖側邊欄鏈接標記
side_bar_html += '<li id="li-'+ (markersArray.length-1) + '"><a href="javascript:myclick(' + (markersArray.length-1) + ')">' + address[1] + '<\/a></li>';
// This function picks up the click and opens the corresponding info window
function myclick(i) {
google.maps.event.trigger(markersArray[i], "click");
}
我一直在看google.maps.Marker類,希望有一些我可以用來做這個綁定,但到目前爲止還沒有找到我在找什麼。基本上我需要的是在標記的addListener函數中,我可以在鏈接中嵌入一個唯一標記或id值,以便jQuery查找調用可以突出顯示鏈接以顯示哪個已被點擊。
我過去所做的是在jQuery查找返回的節點上只添加調用addClass,但這不起作用。當我執行「檢查元素」時,該鏈接顯示正確,但我正在嘗試添加的用於執行突出顯示的類未添加。
谷歌地圖具有內置於其地圖結果的此功能。感謝您的任何建議。
這裏就是我試圖通過增加一類的鏈接節點處理click代碼:
google.maps.event.addListener(marker, 'click', function() {
infowindow.setContent(address[0]);
infowindow.open(map, this);
$("#marker_links").find(".currentlySelected").removeClass("currentlySelected");
var linkItem = $("#marker_links").find("#li-" + markersArray.length-1);
linkItem.addClass('currentlySelected');
});
凡currentlySelected的定義是:如果我登錄的linkItem到
nav li.currentlySelected {
border: 0;
background-color: white;
color: #6d6e71;
}
控制檯我得到什麼似乎是一個有效的對象,但addClass不會粘...
click事件應該與創建您的標記代碼一起定義。在這裏或者小提琴上添加代碼會有幫助。 – Andy