2012-03-26 72 views
1

我有我目前的谷歌地图代码工作到点,如果我点击侧栏上的链接,一个标记事件被触发,然后infowindow被打开。点击标记时,我需要做什么来突出显示侧栏上的块?标记点击高亮侧栏块

function createMarkers(point, username, st) { 
    var html = '<b>' + username + '</b> <br/> ' + st; 

    var marker = new google.maps.Marker({ 
     position: point, 
     map: map, 
     //zIndex: Math.round(point.lat()*-100000)<<5, 
     title: username 
    }); 

    //Closes any open infowindow while clicking on another marker 
    infowindow = new google.maps.InfoWindow(); 
    google.maps.event.addListener(marker, 'click', function() { 
     infowindow.close(); 
     infowindow.setContent(html); 
     infowindow.open(map, marker); 
    }); 

    markersArray.push(marker); 

    return marker; 
} 

当正在生成的标记,我也创造了侧边栏条目:

sidebar.innerHTML += '<span id="sidebarTxt">' 
            +'<a href="javascript:sidebar_click(' + i + ')">' 
            + '<b>' + name + '</b> </a> <br/> ' 
            + 'St: ' + st + '<br />' 
            + 'St Preference: ' + location + '<br />' 
            + 'Distance from me: ' + Number(distance).toFixed(2) + 'miles <br />' 
            +' </span>'; 

什么我需要做的,突出的侧栏块被点击标记时?

回答

4

修改click监听器是这样的:

google.maps.event.addListener(marker, 'click', function() { 
    infowindow.close(); 
    infowindow.setContent(html); 
    infowindow.open(map, marker); 
    $("#sidebarTxt").toggleClass("new_style"); // this line adds the new_style to sidebarTxt span 
}); 

如果有一些风格

.new_style { 
    border: 1px solid red; 
} 
+0

我也发现了这个链接是非常有帮助的:欧洲航天局的谷歌地图API V3实验。与makeMarker侧边栏](http://koti.mbnet.fi/ojalesa/boundsbox/makemarker_sidebar.htm) – JK0124 2012-03-28 22:03:50