0

マップの動作がおかしい。各マーカーに関するデータを一覧表示するテーブルが正しく強調表示されず、tablabels 変数が奇妙な結果をもたらしています。いくつかのマーカーがなくなっており、firebug が「this.jc は関数ではありません」というエラーを表示し、main.js の 853 行を参照しています。トラブルシューティングを開始します。何か案は?誰もこのようなものを見たことがありますか?

さて、イベントを確認するよう提案した後、myclick() 関数を確認しました。

function myclick(i) {
      GEvent.trigger(gmarkers[i], "click");
    }

firebug は、この関数に関して main.js の 140 行目で「a」が未定義であると言っています。

ここに追加のコードがあります。役立つかもしれません

    //Highlights rows of all nested wells with same id as marker if it is a well marker
  GEvent.addListener(marker, "click", function() {
      marker.openInfoWindowHtml(html);

    //only highlight table for wells
    //markers with id = 2 are static wells, otherwise
    //we skip table highlighting
    if(marker.id==2)
    {
        var Table = document.getElementById("myTable3");
        var rows = Table.getElementsByTagName("tr");
        var f;
        for(f=0;f<rows.length;f++)
        {
            if(rows[f].id==marker.name)
                rows[f].className="selected";
            else
                rows[f].className="unselected"
        }
    }

    });

  //add marker, icon, and popup to global arrays
  gmarkers.push(marker);
  gmarkers[i] = marker;
  htmls[i] = popup_html;
  icons[i] = icon;
  /*Add data to each sidebar depending on id: 0=stream flow station, 1=rain gage, 2=well */
  if(id==0)
  {
      side_bar_html[0] += '<tr><td><a href="javascript:myclick(' + i + ')"  onmouseover="gmarkers['+i+'].blink(true,250)" onmouseout="gmarkers['+i+'].blink(false,0)">' + name + '</a><br></td>';
      side_bar_html[0] += '<td class="col1" align="center">' + number + '</td>' ;
      side_bar_html[0] += '<td class="col1" align="center">' + data2 + " " + ft +'</td>' ;
      side_bar_html[0] += '<td class="col1" align="center">' + update + '</td>';
      side_bar_html[0] += '<td class="col1" align="center"><a href=' + link + '>NWIS link</td></tr>' ;



  }
  if(id==2)
  {

     side_bar_html[2] += '<tr id=' + z + '><td><a href="javascript:myclick(' + i + ')"  onmouseover="gmarkers['+i+'].blink(true,250)" onmouseout="gmarkers['+i+'].blink(false,0)">' + number + '</a><br></td>'; 
     side_bar_html[2] += '<td class="col1" align="right">' + name + '</td>';
     side_bar_html[2] += '<td class="col1" align="right">' + data2 + '</td>';
     side_bar_html[2] += '<td class="col1" align="center">' + update + '</td>';
     side_bar_html[2] += '<td class="col1" align="center"><a href=' + link + '>NWIS Link</td></tr>' ;

     z++;
  }

  map.addOverlay(marker);
  ++i;

}

マーカー変数の側面を確認しました。行方不明になったものも、特定のコンテンツを複製しているようです。これは DupFlag 変数と関係がありますか?

4

1 に答える 1

0

これを修正するのがどれほど簡単だったか信じられません。誤って1行のコードを削除しました:

map.addOverlay(marker);

サイドバーにデータを追加したのはループの後であるはずでした

于 2013-03-14T16:44:14.630 に答える