1

奇妙な問題があり、はっきりと見えていないだけかもしれません。他の人に私のコードを見てもらうことは、間違いなく常に役に立ちます。とにかく、オプションを含むドロップダウン メニューがあります。言うまでもなく、onchange は情報ウィンドウを開く関数を呼び出します。クリックのリスナーは、情報ウィンドウを表示するときに問題なく動作しますが、handleSelected() 関数は何も表示しません。

<select size='37' id='dpMenu' onchange='handleSelected(this)'>

これで、マーカーを作成する関数の外にマーカーの配列ができました。

var gmarkers = [];
var oldInfoWin; 
var map;    

function createEpiMarker(map,point,epi_icon,html,name,detail,iqrid) {    
    var epimarker = new google.maps.Marker({    
        position: point,  
        map: map,  
        icon: epi_icon  
    });  
    epimarker.infowindow = new google.maps.InfoWindow({content: html });  
    google.maps.event.addListener(epimarker, "click", function() {   
        epimarker.infowindow.open(map, epimarker);  
        oldInfoWin = epimarker.infowindow;  
        infoWindowOpen = true;  
    });  
    gmarkers.push(epimarker);  
}

このコードは、ドロップダウン メニューの選択を処理します。

function handleSelected(opt){    
    var i = opt[opt.selectedIndex].index - 1;   
    if(i != -1){        
        gmarkers[i].infowindow.open(map, gmarkers[i]);        
        oldInfoWin = gmarkers[i].infowindow;    
        infoWindowOpen = true;    
    }    
}
4

0 に答える 0