0

OK、ここでたくさんの例を試しましたが、情報ウィンドウで要素を適切に追加することができないようです。これは、私がこれをどのように構成したかということで、単に間違っていると確信しています。

私は自分のサイドバーを作成しました。これを見ると、http://koti.mbnet.fi/ojalesa/boundsbox/makemarker_sidebar.htm可能であるはずです。しかし、自分のコードと何が違うのかわかりません。

これが私のAddMarkerとAddSidebarFunctionsです

function addMarker(location, name, content) {

       console.log("Adding Marker: "+location)
        if (name === "Patient"){
            var patient_icon = '<?php echo base_url();?>images/Profile.png';
            var marker = new google.maps.Marker({
                position: location,
                map: map,
                title: name,
                icon: patient_icon
            });
        }else{
            var marker = new google.maps.Marker({
                position: location,
                map: map,
                title: name
            });
        }
        markersArray.push(marker);
        var info = new google.maps.InfoWindow ({content: content})
        google.maps.event.addListener(marker, 'click', function(){info.open(map,marker);});
        if (name != 'Patient'){
            sidebar(name, marker, content)
        }
    }

function sidebar(name, marker, content){
    name = name.replace(/\s+/g, '');
    $("<div id='"+name+"'class='even' onclick=' function(){google.maps.event.trigger("+marker+", \"click\")' >"+content+"</div>").appendTo($('#prov_list'));
}

サイドバー要素のOnclick関数が何もしないのに何が欠けていますか?

ありがとう!

4

2 に答える 2

2

このようなことを試すことができます。問題は文字列の連結にあると思います。

dom要素を作成する別の方法は次のとおりです。

        $("<div/>", {
            'id': name,
            'class': 'even',
            'html': content
        }).click(function(){
            google.maps.event.trigger(marker, 'click');
        }).appendTo($('#prov_list'));
于 2012-09-11T19:37:10.303 に答える
0

プレーンな古いDHTML:

function sidebar(name, marker, content){
  var container = document.getElementById('prov_list');
  var myDiv = document.createElement('DIV');
  myDiv.onclick = function(){
    google.maps.event.trigger(marker, 'click');
  }
  myDiv.innerHTML =  content;
  container.appendChild(myDiv);
}
于 2012-09-12T09:56:00.853 に答える