2011-11-20 6 views
22
var image = 'bullets/_st_zzzzzzl SSS.gif'; 

var bar1 = new google.maps.Marker({ 
    position: myLatLng, 
    map: map, 
    icon: image, 
    title: "bar number 1"  
}); 

    google.maps.event.addListener(bar1, 'mouseover', function() { 
     infowindow.open(map,bar1); 
    }); 

    google.maps.event.addListener(bar1, 'mouseout', function() { 
     infowindow.close(map,bar1); 
    }); 

지금 마우스를 올려 놓으면 아이콘이 다른 이미지로 변경됩니다. 나는 몇 가지 팁과 몇 가지 코드를 시도했지만 아무것도 작동하지 않습니다 ... 감사합니다.마우스 오버시 마커 아이콘 변경 (Google지도 V3)

답변

53

marker.setIcon() 기능을 사용하십시오. setIcon() 기능에 이미지 경로를 사용 외에, 당신은 또한 사용할 특히, 매우 유용 google.maps.MarkerImage 개체를 사용할 수있는

var icon1 = "imageA.png"; 
var icon2 = "imageB.png"; 

var marker = new google.maps.Marker({ 
    position: myLatLng, 
    map: map, 
    icon: icon1, 
    title: "some marker" 
}); 

google.maps.event.addListener(marker, 'mouseover', function() { 
    marker.setIcon(icon2); 
}); 
google.maps.event.addListener(marker, 'mouseout', function() { 
    marker.setIcon(icon1); 
}); 

참고 : 나머지는 코드에서 정보창을 닫는/거의 개방과 동일 이미지 스프라이트.

+0

이 기능은 저에게 큰 도움이되었습니다. – Avishai

+0

스프라이트 용 솔루션을 제공해 주시겠습니까? 나는 마우스 오버시 아이콘 원점을 변경하기 위해'setIcon()'을 사용하려고 노력했다. – sgromskiy

-1
google.maps.event.addListener(marker, 'mouseover', function() { 
    infowindow.open(map, this); 
}); 

// assuming you also want to hide the infowindow when user mouses-out 
google.maps.event.addListener(marker, 'mouseout', function() { 
    infowindow.close(); 
}); 
관련 문제