Mam taki kod mapy googla która wyświetla zdefiniowane markery. Obok mapy wyświetlam menu z linkami. Jeżeli ktoś najedzie na link przesuwam obraz mapy do wybranego markera i otwieram openInfoWindowHtml(). Problem jak zamknąć aktywny opis markera po zjechaniu z linku i nie wybraniu zadnego innego:
<script type="text/javascript"> <!-- <![CDATA[
var markery = new Array();
var punkty = new Array(
new Array(52.2468820, 21.0483881, "Teatr Powszechny", "pl. Defilad 2"),
new Array(52.2373101, 21.0328460, "Teatr Ateneum", "ul. Jaracza 2"),
new Array(52.2318381, 21.0059946, "Teatr Dramatyczny", "pl. Defilad 1")
);
function pokaz(i) {
GEvent.trigger(markery[i], "click");
}
//->tu moj kod ale nie dziala
function ukryj(i) {
GEvent.trigger(markery[i], "mouseout");
}
//-koniec
function nowymarker(lat, lng, txt, adres) {
var marker = new GMarker(new GLatLng(lat, lng));
GEvent.addListener(marker, "click", function() {
var info='<div style="background-color: #fff; width: 320px; font-size: 11px; FONT-FAMILY: Verdana, Tahoma, Arial, Sans-Serif;" align="center"><B>'+txt+'</B><hr>'+adres+'</div>';
marker.openInfoWindowHtml(info);
});
GEvent.addListener(marker, "mouseout", function() {
map.closeInfoWindow(info);
});
markery.push(marker);
return marker;
}
function load() {
if (GBrowserIsCompatible()) {
var map = new GMap2(document.getElementById("map"));
map.setCenter(new GLatLng(52.24, 21.00), 13);
map.addControl(new GLargeMapControl());
map.addControl(new GMapTypeControl());
map.enableContinuousZoom();
map.enableDoubleClickZoom();
for(var i=0; i<punkty.length; i++) {
map.addOverlay(nowymarker(punkty[i][0], punkty[i][1], punkty[i][2], punkty[i][3]))
}
}
}
// ]]> -->
MENU:
<a href="#" onmouseover="javascript:pokaz(0)" onmouseout="javascript:ukryj(0)">Teatr Powszechny
</a> <a href="#" onmouseover="javascript:pokaz(1)" onmouseout="javascript:ukryj(1)">Teatr Ateneum
</a> <a href="#" onmouseover="javascript:pokaz(2)" onmouseout="javascript:ukryj(2)">Teatr Dramatyczny
</a>
Ten post edytował smarcz 10.01.2009, 12:44:39