1

У меня есть текущий код карты google, работающий до точки, где, если я нажимаю на ссылку боковой панели, запускается событие-маркер, после чего открывается инфо-окно. Что мне нужно сделать, чтобы выделить блок на боковой панели при нажатии маркера?Hightlight sidebar block on marker click

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

Я также нашел эту ссылку, чтобы быть очень полезным: [Google Maps API v3 эксперименты от Esa. Боковая панель с makeMarker] (http://koti.mbnet.fi/ojalesa/boundsbox/makemarker_sidebar.htm) – JK0124