function busSearch() {
    if ($("rdoBus1").checked) {
        busSub();
    }
    else if ($("rdoBus2").checked) {
        buslineSub();
    }
    else {
        busstationSub();
    }
}

//--------------公交换乘------------------
function busSub() {

    closeAlertDiv();
    showOperate();

    driveS = new DriveSearch();
    driveS.format_type = 0;
    driveS.from_panel = 0;
    driveS.maptitle = "搜索结果";
    driveS.search_type = MRoutSearch.BusSearch;

    driveS.start_cityname = $('bus_cityname').value;
    driveS.end_cityname = $('bus_cityname').value;
    driveS.start_name = $('bus_startname').value;
    driveS.end_name = $('bus_endname').value;

    var sxy = $('bus_startxy').value;
    if (sxy != "") {
        driveS.start_x = sxy.split(',')[0];
        driveS.start_y = sxy.split(',')[1];
    }

    var exy = $('bus_endxy').value;
    if (exy != "") {
        driveS.end_x = exy.split(',')[0];
        driveS.end_y = exy.split(',')[1];
    }

    if (driveS.start_x != "" && driveS.start_y != "" && driveS.end_x != "" && driveS.end_y != "") {
        HashHandler.updateState("1,transfer," + driveS.start_cityname + "," + driveS.end_cityname + "," + driveS.start_name + "," + driveS.end_name + "," + driveS.start_x + "," + driveS.start_y + "," + driveS.end_x + "," + driveS.end_y);
        return;
    }

    var che = ""; var che = "";
    var i = 1;
    if (driveS.start_name == "请输入起点" || driveS.start_name == "") {
        che += i + "．请输入起点<br />";
        i = i + 1;
    }
    if (driveS.end_name == "" || driveS.end_name == "请输入终点") {
        che += i + "．请输入终点<br />";
        i = i + 1;
    }
    if (driveS.start_cityname == "") {
        che += i + "．请选择起点城市<br />";
        i = i + 1;
    }
    if (driveS.end_cityname == "") {
        che += i + "．请选择终点城市<br />";
        i = i + 1;
    }
    if (i == 1) {
        //$('btnRoutSearch').disabled = true;
        HashHandler.updateState("1,transfer," + driveS.start_cityname + "," + driveS.end_cityname + "," + driveS.start_name + "," + driveS.end_name + "," + driveS.start_x + "," + driveS.start_y + "," + driveS.end_x + "," + driveS.end_y);
    } else {
        fis_alert(1, che);
    }
}

var mapList = {};
var passLineList = {};
var showStations = new Array();
var bus_way = "0";
var sisB, c_b;
var str_x_array;
var str_y_array;
var hc_x_array;
var hc_y_array;

var b_all = 0;
var busMarker = new Array();

function busSearch1() {
    this.x_array; this.y_array; this.x_c_array; this.y_c_array;
    this.xy_array; this.xy_c_array;
    this.station_name;
    this.station_x;
    this.station_y;
    this.step;
}
var busS = new busSearch1();

function myfuncbusnew(data) {//公交换乘查询回调
    openLineNum = -1;
    c_b = driveS.start_cityname;

    var rs = data;
    str_x_array = new Array();
    str_y_array = new Array();
    hc_x_array = new Array();
    hc_y_array = new Array();

    busS.xy_array = new Array();
    busS.xy_c_array = new Array();
    busS.station_name = new Array();
    busS.station_x = new Array();
    busS.station_y = new Array();
    busS.step = new Array();

    $("operate_title").innerHTML = "在<span> " + driveS.start_cityname + "</span> 查找从 <span>" + driveS.start_name + "</span> 到 <span>" + driveS.end_name + "</span> 的公交";

    var bus_content = new Array();

    if (data.message == "ok") {//判断服务器是否返回数据."ok"为有返回数据.
        var bus_count = b_all = data.busList.length; //返回公交换乘次数,结果是否为"0",如果是"0"无返回结果.
        if (bus_count == "0") {
            fis_alert(1, "<span class='alert_title'>未查找到任何结果！</span><br /><strong>建议：</strong><br />1．请确保所有字词拼写正确。<br />2．请确保输入线路正确。<br />3．尝试更宽泛的关键字。");
            hidewait();
        } else {
            var select_b_m = document.getElementsByName("result_busMode").length;
            for (var i = 0; i < select_b_m; i++) {
                if (bus_way == i) {
                    document.getElementsByName("result_busMode")[i].checked = true;
                }
            }
            //公交换乘模式
            bus_content.push('<div style="padding:10px 0px 10px 0px; border-bottom:#ccc 1px solid;">');
            bus_content.push(' &nbsp;&nbsp;<input name="result_busMode" id="result_busMode0" value="0" tabindex="22" checked="checked" onclick="selectMode_bus(\'0\')" type="radio"><label for="result_busMode0">默认</label>');
            bus_content.push('&nbsp;&nbsp;<input name="result_busMode" id="result_busMode1" value="1" tabindex="22" onclick="selectMode_bus(\'1\')" type="radio"><label for="result_busMode1">最经济</label>');
            bus_content.push('&nbsp;&nbsp;<input name="result_busMode" id="result_busMode2" value="2" tabindex="22" onclick="selectMode_bus(\'2\')" type="radio"><label for="result_busMode2">最少换乘</label>');
            bus_content.push('&nbsp;&nbsp;<input name="result_busMode" id="result_busMode3" value="3" tabindex="22" onclick="selectMode_bus(\'3\')" type="radio"><label for="result_busMode3">最少步行</label>');
            bus_content.push('&nbsp;&nbsp;<input name="result_busMode" id="result_busMode4" value="4" tabindex="22" onclick="selectMode_bus(\'4\')" type="radio"><label for="result_busMode4">最舒适</label>');
            bus_content.push('</div>');
            bus_content.push("<div style=\"padding:10px;\">推荐<b>" + bus_count + "</b>条线路，搜索耗时" + data.searchtime / 1000 + "秒。<a href=\"javascript:returnsearch()\" style=\"float:right;\">查看返程线路</a></div>");

            bus_content.push("<div class=\"newbus\"><table cellspacing=\"0\" width=\"100%\"><tr><td bgcolor=\"#E6E6E6\" align=\"center\" width=\"15\">&nbsp;</td><td bgcolor=\"#E6E6E6\" align=\"left\" width=\"243\">乘车方案</td><td bgcolor=\"#E6E6E6\" align=\"right\" colspan=\"2\" width=\"87\">&nbsp;&nbsp;估计车程</td></tr></table>");

            var busurl = "";  //'print_b.html?' + mapProperty.u0 + ',' + mapProperty.u1 + ',' + mapProperty.u2 + ',' + mapProperty.u3 + ',' + mapProperty.u4 + ',' + mapProperty.u5 + ',' + mapProperty.u6 + ',' + mapProperty.u7 + ',' + mapProperty.u8 + ',' + mapProperty.u9 + ',' + mapProperty.u10 + ',' + mapProperty.u11 + ',' + mapProperty.u12 + ',' + mapProperty.u13 + ',' + mapProperty.u14 + ',' + mapProperty.u15 + ',' + mapProperty.u16 + ',' + mapProperty.u17 + ',' + mapProperty.u18 + ',' + bus_way;
            for (var i = 0; i < bus_count; i++) {
                var bus_length = 0; var bus_name = ""; var bus_name1 = "";
                var bus_length = 0; var bus_name = ""; var busxy = ""; var busCHxy = "";
                var staNum = 0;
                var stationName = "";
                var stationX = "";
                var stationY = "";
                var stepStr = "";

                var str_list = data.busList[i].segmentList.length; //每次线路的换乘次数.
                var bus_text = "<tr class=\"walk\"><td width=\"4\">&nbsp;</td><td width=\"21\"><img src=\"../images/start.gif\" /></td><td width=\"208\">起点 " + data.busList[i].segmentList[0].startName + "</td><td width=\"45\">&nbsp;</td></tr>";
                for (var k = 0; k < str_list; k++) {
                    if (k == (str_list - 1)) {
                        bus_name += (data.busList[i].segmentList[k].busName).split("(")[0];
                        bus_name1 += (data.busList[i].segmentList[k].busName).split("(")[0];
                    } else {
                        bus_name += (data.busList[i].segmentList[k].busName).split("(")[0] + " <img src=\"../images/arrow3.gif\" class=\"arrow\"/> ";
                        bus_name1 += (data.busList[i].segmentList[k].busName).split("(")[0] + "－"
                    } //得到公交车名称.
                    var passDepotName = (data.busList[i].segmentList[k].passDepotName).split(" "); //对途经站点名称进行分隔.
                    var passDepotCoor = (data.busList[i].segmentList[k].passDepotCoordinate).split(","); //对途经站点的XY进行分隔.
                    var passDepotNum = passDepotName.length + 1;
                    var temp = "";
                    for (var s = 0; s < passDepotNum; s++) {
                        var str = k + "_" + s;
                        if (s == passDepotNum - 1) {
                            temp += "<li><span  class=\"gray\">" + (s + 1) + "．" + data.busList[i].segmentList[k].endName + "下车</span></li>";
                        } else {

                            var pStr = i + "_" + staNum;
                            temp += "<li onclick=\"drawSinglePoint('" + passDepotCoor[2 * s] + "','" + passDepotCoor[2 * s + 1] + "','','" + passDepotName[s] + "','point" + pStr + "','trans')\" >" + (s + 1) + "．<a href=\"javascript:void(0)\" >" + passDepotName[s] + "</a></li>";
                            //onmouseover=\"showStationlabelById('point"+pStr+"')\" onmouseout=\"closeStationlabelById('point"+pStr+"')\"
                            //busS.station_x[i].x[pStr] = passDepotCoor[2*s];
                            //busS.station_y[i].y[pStr] = passDepotCoor[2*s+1];
                            //busS.station_name[i].name[pStr] = passDepotName[s];
                            stationName += passDepotName[s] + ",";
                            stationX += passDepotCoor[2 * s] + ",";
                            stationY += passDepotCoor[2 * s + 1] + ",";
                            staNum++;

                        }
                    } //以上为取得途经站点名称与XY.和画点方法drawSinglePoint(x,y,点ID)
                    stepStr += getdistance(data.busList[i].segmentList[k].footLength) + "," + data.busList[i].segmentList[k].busName + "," + data.busList[i].segmentList[k].startName + "," + data.busList[i].segmentList[k].endName + ",";
                    bus_text += "<tr><td height=\"25\">&nbsp;</td><td colspan=\"2\">步行" + getdistance(data.busList[i].segmentList[k].footLength) + "到车站</td><td>&nbsp;</td></tr><tr><td>&nbsp;</td><td colspan=\"2\">" + data.busList[i].segmentList[k].busName + "<br /><span class=\"gray\">在</span> " + data.busList[i].segmentList[k].startName + " <span class=\"gray\">上车</span><br /><span class=\"gray\">在</span> " + data.busList[i].segmentList[k].endName + " <span class=\"gray\">下车</span></td><td  align=\"left\" valign=\"top\"><a href=\"javascript:open_passDepot('" + k + "','" + i + "','" + data.busList[i].segmentList[k].passDepotCount + "')\">" + passDepotNum + "站</a></td> </tr><tr style=\"display:none;\" id=\"passDepot_div" + k + "_" + i + "\"><td colspan=\"4\"><div class=\"showStation\"><div>沿途停靠站点：<img src=\"../images/close.gif\" width=\"14\" height=\"13\" style=\"cursor:pointer; float:right;\" alt=\"关闭\" onclick=\"close_passDepot('" + k + "','" + i + "')\"/></div><ul >" + temp + "</ul></div></td></tr>";
                    if (k == 0) {
                        var xy = (data.busList[i].segmentList[k].coordinateList).split(",");
                        //alert(data.busList[i].segmentList[k].coordinateList);
                        busCHxy += xy[xy.length - 3] + "," + xy[xy.length - 2] + ",";
                    } else if ((k + 1) != str_list) {
                        var xy = (data.busList[i].segmentList[k].coordinateList).split(",");
                        busCHxy += xy[0] + "," + xy[1] + "," + xy[xy.length - 3] + "," + xy[xy.length - 2] + ",";
                    } else {
                        var xy = (data.busList[i].segmentList[k].coordinateList).split(",");
                        busCHxy += xy[0] + "," + xy[1] + ",";
                    }
                    //alert(data.busList[i].segmentList[k].coordinateList);
                    busxy += data.busList[i].segmentList[k].coordinateList;
                    if (str_list == 1) { busCHxy = ""; } //如果换乘次数为"1",没有换乘XY.此次线路可以直达.
                    bus_length += parseInt(data.busList[i].segmentList[k].driverLength); //每条线路车程
                }
                busS.xy_c_array[i] = busCHxy;
                busS.xy_array[i] = busxy;
                busS.station_x[i] = stationX;
                busS.station_y[i] = stationY;
                busS.station_name[i] = stationName;
                stepStr += getdistance(data.busList[i].footEndLength);
                busS.step[i] = stepStr;
                bus_content.push("<table cellpadding=\"0\" cellspacing=\"0\" width=\"100%\" class=\"busResult\" id=\"table_" + i + "\" onclick=\"drawBuschangeLine(" + i + ")\" onmousemove=\"this.className='selectResult'\" onmouseover=\"drawCompareLine(" + i + ")\" onmouseout=\"clearCompareLine(" + i + ")\"><tr><td align=\"center\" height=\"24\" width=\"30\"><img src=\"../images/newbus_arr.gif\" width=\"12\" height=\"6\" /></td><td align=\"center\"  width=\"15\"><b>" + (i + 1) + ".</b></td><td>" + bus_name + "</td><td width=\"65\" colspan=\"2\" align=\"right\">" + getdistance(bus_length) + "</td></tr></table>");
                bus_content.push("<table cellpadding=\"0\" cellspacing=\"0\" class=\"newbusresult\" id=\"bus_list_" + i + "\" style=\"display:none\">");
                //打印方案/纠错
                //bus_content.push("<tr class=\"walk1\"><td width=\"4\">&nbsp;</td><td colspan=\"2\"><a href=\"http://www.mapabc.com/" + busurl + "," + i + "\" target=\"_blank\" >打印此方案</a>&nbsp;&nbsp;|&nbsp;&nbsp;<a href=\"javascript:BusCorrection('" + c_b + "','" + bus_name1 + "','" + start_name + "','" + end_name + "')\">纠错</a></td><td width=\"45\">&nbsp;</td></tr>");
                bus_content.push(bus_text);
                bus_content.push("<tr><td height=29>&nbsp;</td><td colspan=\"2\">步行" + getdistance(data.busList[i].footEndLength) + "到终点</td><td>&nbsp;</td></tr>");
                bus_content.push("<tr class=\"walk\"><td width=\"4\">&nbsp;</td><td width=\"21\"><img src=\"../images/end.gif\" /></td><td width=\"208\">终点 " + data.busList[i].segmentList[str_list - 1].endName + "</td><td width=\"45\">&nbsp;</td></tr>");
                bus_content.push("</table>");
            }
            bus_content.push("</div>");
            $('operate_panel').innerHTML = bus_content.join("");
            $("result_busMode" + driveS.route_way).checked = true;
            drawBuschangeLine(0);
            //bus_open('0',bus_count);//打开第一个线路方案."0"为第一个方案,count为总方案数.
            hidewait();
            GetJF();
        }
    } else {
        serverError('operate_panel', '0', rs.message); //服务器错误显示.
    }
}
var compLine = new Array();
var openLineNum = -1;
function drawCompareLine(n) {
    if (n == openLineNum)
        return;
    if (openLineNum == -1)
        return;
    var allover = new Array();
    var busxy = busS.xy_array[n].split(",");
    var busxy_n = busxy.length - 1;
    var busCHxy = busS.xy_c_array[n].split(",");
    var busCHxy_n = busCHxy.length - 1;
    var arrBus = new Array();
    for (var e = 0; e < busxy_n; e = e + 2) {
        arrBus.push(new MLngLat(busxy[e], busxy[e + 1]));
    }
    var lineopt = new MLineOptions();
    lineopt.lineStyle.thickness = 6;
    lineopt.lineStyle.color = 0x33ff66;
    lineopt.lineStyle.alpha = 0.7;
    lineopt.canShowTip = false;
    var line = new MPolyline(arrBus, lineopt); //mapObj.addOverlay(line,true);
    //line.id = "line_comp_"+n;
    line.id = compLine[compLine.length] = "line_comp_" + n + compLine.length;
    allover.push(line);
    /*换乘点之间的线*/
    var changelineopt = new MLineOptions();
    changelineopt.lineStyle.thickness = 6;
    changelineopt.lineStyle.color = 0x0083d6;
    changelineopt.lineStyle.alpha = 0.7;
    changelineopt.canShowTip = false;
    if (busCHxy_n != 0) {
        var arrc = new Array(); //alert(busS.xy_c_array[n]+"--"+busCHxy_n);
        for (var r = 0; r < 4; r = r + 2) {
            arrc.push(new MLngLat(busCHxy[r], busCHxy[r + 1]));
        }
        var changeline = new MPolyline(arrc, changelineopt); allover.push(changeline);
        changeline.id = compLine[compLine.length] = "line_comp_" + n + compLine.length;
        var arrc1 = new Array();
        if (busCHxy_n > 4) {
            for (var q = 4; q < 8; q = q + 2) {
                arrc1.push(new MLngLat(busCHxy[q], busCHxy[q + 1]));
            }

            var changeline1 = new MPolyline(arrc1, changelineopt); allover.push(changeline1);
            changeline1.id = compLine[compLine.length] = "line_comp_" + n + compLine.length;
        }
        //mapObj.addOverlay(changeline,true);mapObj.addOverlay(changeline1,true);
    }
    /**/
    ////mapObj.addOverlay(line,true);
    /*换乘点*/

    /**/
    /*1起点到线的起点 2线的终点到终点*/
    var arr1 = new Array();
    arr1.push(new MLngLat(driveS.start_x, driveS.start_y));
    arr1.push(new MLngLat(busxy[0], busxy[1]));
    var lineopt1 = new MLineOptions();
    lineopt1.lineStyle.thickness = 6;
    lineopt1.lineStyle.color = 0x0083d6;
    lineopt1.lineStyle.alpha = 0.7;
    lineopt1.lineStyle.lineType = LINE_DASHED;
    lineopt1.canShowTip = false;
    var line1 = new MPolyline(arr1, lineopt1);
    line1.id = compLine[compLine.length] = "line_comp_" + n + compLine.length;
    var arr2 = new Array();
    arr2.push(new MLngLat(driveS.end_x, driveS.end_y));
    arr2.push(new MLngLat(busxy[busxy_n - 2], busxy[busxy_n - 1]));
    var line2 = new MPolyline(arr2, lineopt1);
    line2.id = compLine[compLine.length] = "line_comp_" + n + compLine.length;
    allover.push(line1);
    allover.push(line2);

    mapObj.addOverlays(allover, false);

}

function clearCompareLine(n) {
    if (openLineNum == -1)
        return;
    for (var i = 0; i < compLine.length; i++) {
        mapObj.removeOverlayById(compLine[i]);
    }
    compLine.length = 0;
}

var tipArray = new Array();
function drawBuschangeLine(n) {

    removeAllOverlays(); //称除地图所有内容.
    if (openLineNum == n) {
        openLineNum = -1;
        var temp_1 = "table_" + n; //方案标题ID.
        var temp_2 = "bus_list_" + n; //方案内容ID.
        $(temp_1).className = "";
        $(temp_1).onmouseout = function() { this.className = ''; clearCompareLine(n) };
        $(temp_2).style.display = 'none';
        return;
    }
    else
        openLineNum = n;
    tipArray.length = 0;
    var stepStr = busS.step[n].split(",");
    var allover = new Array();
    var busxy = busS.xy_array[n].split(",");
    var busxy_n = busxy.length - 1;
    var busCHxy = busS.xy_c_array[n].split(",");
    var busCHxy_n = busCHxy.length - 1;
    var arrBus = new Array();
    for (var e = 0; e < busxy_n; e = e + 2) {
        arrBus.push(new MLngLat(busxy[e], busxy[e + 1]));
    }
    var lineopt = new MLineOptions();
    lineopt.lineStyle.thickness = 6;
    lineopt.lineStyle.color = 0xff230b;
    lineopt.lineStyle.alpha = 0.8;
    lineopt.canShowTip = false;
    var line = new MPolyline(arrBus, lineopt); //mapObj.addOverlay(line,true);
    allover.push(line);
    /*换乘点之间的线*/
    var changelineopt = new MLineOptions();
    changelineopt.lineStyle.thickness = 6;
    changelineopt.lineStyle.color = 0x0083d6;
    changelineopt.lineStyle.alpha = 0.7;
    changelineopt.canShowTip = false;
    if (busCHxy_n != 0) {
        var arrc = new Array(); //alert(busS.xy_c_array[n]+"--"+busCHxy_n);
        for (var r = 0; r < 4; r = r + 2) {
            arrc.push(new MLngLat(busCHxy[r], busCHxy[r + 1]));
        }
        var changeline = new MPolyline(arrc, changelineopt); allover.push(changeline);
        var arrc1 = new Array();
        if (busCHxy_n > 4) {
            for (var q = 4; q < 8; q = q + 2) {
                arrc1.push(new MLngLat(busCHxy[q], busCHxy[q + 1]));
            }

            var changeline1 = new MPolyline(arrc1, changelineopt); allover.push(changeline1);
        }
        //mapObj.addOverlay(changeline,true);mapObj.addOverlay(changeline1,true);
    }
    /**/
    ////mapObj.addOverlay(line,true);
    /*换乘点*/

    //changemarkerOption.canShowTip=false;
    var temp = "";
    for (var r = 0; r < busCHxy_n; r = r + 2) {
        //temp+=busCHxy[r]+","+busCHxy[r+1]+"--";
        //alert(busCHxy[r]+"---"+busCHxy[r+1]);
        var changemarkerOption = new MMarkerOptions();
        changemarkerOption.imageUrl = "http://code.mapabc.com/images/bx11.png";
        changemarkerOption.picAgent = false;
        changemarkerOption.isDraggable = false; //是否可以拖动
        var s = r / 2;
        var num = 0;
        if (tipArray.length == 0)
            num = 2;
        else
            num = tipArray.length;
        if (s % 2 == 0) {
            var tipOption = new MTipOptions();
            tipOption.titleFontStyle.color = 0xffffff;
            tipOption.title = "<font color='#000000'><b>起点：" + stepStr[(s / 2 + 1) * 4 - 1] + "</b></font>";
            tipOption.tipType = DIVTIP;
            tipOption.titleFillStyle.color = tipOption.borderStyle.color = 0x00BD0A;
            var sContent = ""; //"<br />";

            sContent += "<table width=\"260px\"><tr><td colspan=3>" + "步行&nbsp;" + stepStr[(s / 2 + 1) * 4] + "&nbsp;<br>到达&nbsp;" + stepStr[(s / 2 + 1) * 4 + 1] + "&nbsp;" + stepStr[(s / 2 + 1) * 4 + 2] + "</td></tr>";
            sContent += "<tr><td><a href=\"javascript:nextStep('" + (num - 1) + "')\">上一步</a></td><td><a href=\"javascript:zoom('" + busCHxy[r + 1] + "','" + busCHxy[r] + "')\">定位放大</a></td><td><a href=\"javascript:nextStep('" + (num + 1) + "')\">下一步</a></td>";
            sContent += "</table>";
            tipOption.content = sContent;  //tip内容   
            changemarkerOption.tipOption = tipOption;
        } else {
            var tipOption = new MTipOptions();
            tipOption.titleFontStyle.color = 0xffffff;
            tipOption.title = "<font color='#000000'><b>起点：" + stepStr[(s + 1) / 2 * 4 + 2] + "</b></font>";
            tipOption.tipType = DIVTIP;
            tipOption.titleFillStyle.color = tipOption.borderStyle.color = 0x00BD0A;
            var sContent = ""; //"<br />";

            sContent += "<table width=\"260px\"><tr><td colspan=3>线路：" + stepStr[(s + 1) / 2 * 4 + 1] + "<br>出发：" + stepStr[(s + 1) / 2 * 4 + 2] + "<br>到达：" + stepStr[(s + 1) / 2 * 4 + 3] + "</td></tr>";
            sContent += "<tr><td><a href=\"javascript:nextStep('" + (num - 1) + "')\">上一步</a></td><td><a href=\"javascript:zoom('" + busCHxy[r + 1] + "','" + busCHxy[r] + "')\">定位放大</a></td><td><a href=\"javascript:nextStep('" + (num + 1) + "')\">下一步</a></td>";
            sContent += "</table>";
            tipOption.content = sContent;  //tip内容  
            var labelOptions = new MLabelOptions();
            var fontstyleS = new MFontStyle();  //定义字体风格对象   
            fontstyleS.name = "Arial";
            fontstyleS.size = 13;
            fontstyleS.color = 0xffffff;
            //fontstyle.bold = true;   
            labelOptions.fontStyle = fontstyleS;
            labelOptions.borderColor = 0xffffff;
            labelOptions.content = stepStr[s * 4 + 1];
            labelOptions.hasBorder = true;
            labelOptions.hasBackground = true;
            labelOptions.backgroundColor = 0x006699;
            changemarkerOption.labelOption = labelOptions;
            changemarkerOption.labelPosition = new MPoint(0, -21);
            changemarkerOption.tipOption = tipOption;
        }
        var change = new MLngLat(busCHxy[r], busCHxy[r + 1]);
        var changetmarker = new MMarker(change, changemarkerOption);
        changetmarker.id = busS.start_pid + "-" + r;
        tipArray[num] = busS.start_pid + "-" + r;
        allover.push(changetmarker);
    }
    //alert(busS.xy_c_array[n]+"----"+busCHxy_n+"=="+temp)
    /**/
    /*1起点到线的起点 2线的终点到终点*/
    var arr1 = new Array();
    arr1.push(new MLngLat(driveS.start_x, driveS.start_y));
    arr1.push(new MLngLat(busxy[0], busxy[1]));
    var lineopt1 = new MLineOptions();
    lineopt1.lineStyle.thickness = 6;
    lineopt1.lineStyle.color = 0x0083d6;
    lineopt1.lineStyle.alpha = 0.7;
    lineopt1.lineStyle.lineType = LINE_DASHED;
    lineopt1.canShowTip = false;
    var line1 = new MPolyline(arr1, lineopt1);

    var arr2 = new Array();
    arr2.push(new MLngLat(driveS.end_x, driveS.end_y));
    arr2.push(new MLngLat(busxy[busxy_n - 2], busxy[busxy_n - 1]));
    var line2 = new MPolyline(arr2, lineopt1);
    allover.push(line1);
    allover.push(line2);
    //mapObj.addOverlay(line1,true);mapObj.addOverlay(line2,true);
    /**/
    /*添加步行点*/
    var stepmarkerOption = new MMarkerOptions();
    stepmarkerOption.imageUrl = "http://code.mapabc.com/images/bx.png";
    stepmarkerOption.picAgent = false;
    stepmarkerOption.isDraggable = false; //是否可以拖动
    //stepmarkerOption.canShowTip=false;

    var labelOptions = new MLabelOptions();
    var fontstyleS = new MFontStyle();  //定义字体风格对象   
    fontstyleS.name = "Arial";
    fontstyleS.size = 13;
    fontstyleS.color = 0xffffff;
    //fontstyle.bold = true;   
    labelOptions.fontStyle = fontstyleS;
    labelOptions.borderColor = 0xffffff;
    labelOptions.content = stepStr[1];
    labelOptions.hasBorder = true;
    labelOptions.hasBackground = true;
    labelOptions.backgroundColor = 0x006699;
    stepmarkerOption.labelOption = labelOptions;
    stepmarkerOption.labelPosition = new MPoint(0, -21);
    var tipOptionS = new MTipOptions();
    tipOptionS.titleFontStyle.color = 0xffffff;
    tipOptionS.title = "<font color='#000000'><b>起点：" + stepStr[2] + "</b></font>";
    tipOptionS.tipType = DIVTIP;
    tipOptionS.titleFillStyle.color = tipOptionS.borderStyle.color = 0x00BD0A;
    var sContent = ""; //"<br />";

    sContent += "<table width=\"260px\"><tr><td colspan=3>线路：" + stepStr[1] + "<br>出发：" + stepStr[2] + "<br>到达：" + stepStr[3] + "</td></tr>";
    sContent += "<tr><td><a href=\"javascript:nextStep(0)\">上一步</a></td><td><a href=\"javascript:zoom('" + busxy[1] + "','" + busxy[0] + "')\">定位放大</a></td><td><a href=\"javascript:nextStep(2)\">下一步</a></td>";
    sContent += "</table>";
    tipOptionS.content = sContent;  //tip内容
    stepmarkerOption.tipOption = tipOptionS;
    var step = new MLngLat(busxy[0], busxy[1]);
    var steptmarker = new MMarker(step, stepmarkerOption);
    steptmarker.id = busS.start_pid + "1"; //mapObj.addOverlay(steptmarker,true);
    tipArray[1] = busS.start_pid + "1";
    allover.push(steptmarker);

    var endstepmarkerOption = new MMarkerOptions();
    endstepmarkerOption.imageUrl = "http://code.mapabc.com/images/bx.png";
    endstepmarkerOption.picAgent = false;
    endstepmarkerOption.isDraggable = false; //是否可以拖动
    var tipOption1 = new MTipOptions();
    tipOption1.titleFontStyle.color = 0xffffff;
    tipOption1.title = "<font color='#000000'><b>终点：" + stepStr[stepStr.length - 2] + "</b></font>";
    tipOption1.tipType = DIVTIP;
    tipOption1.titleFillStyle.color = tipOption1.borderStyle.color = 0x00BD0A;
    var sContent1 = ""; //"<br />";

    sContent1 += "<table width=\"260px\"><tr><td colspan=3>" + "由&nbsp;" + stepStr[stepStr.length - 4] + "&nbsp;" + stepStr[stepStr.length - 2] + "<br>步行&nbsp;" + stepStr[stepStr.length - 1] + "&nbsp;到达终点&nbsp;" + ((busS.end_name) ? busS.end_name : "") + "</td></tr>";
    sContent1 += "<tr><td><a href=\"javascript:nextStep('" + (tipArray.length - 1) + "')\">上一步</a></td><td><a href=\"javascript:zoom('" + busxy[busxy_n - 1] + "','" + busxy[busxy_n - 2] + "')\">定位放大</a></td><td><a href=\"javascript:nextStep('" + (tipArray.length + 1) + "')\">下一步</a></td>";
    sContent1 += "</table>";
    tipOption1.content = sContent1;  //tip内容   
    endstepmarkerOption.tipOption = tipOption1;

    var step1 = new MLngLat(busxy[busxy_n - 2], busxy[busxy_n - 1]);
    var steptmarker1 = new MMarker(step1, endstepmarkerOption);
    steptmarker1.id = busS.start_pid + "2"; //mapObj.addOverlay(steptmarker1,true);
    tipArray[tipArray.length] = busS.start_pid + "2";
    allover.push(steptmarker1);
    /**/
    /*起点,终点*/
    var lineStyle = new MLineStyle();
    lineStyle.thickness = 2;
    lineStyle.alpha = 1;

    var fontStyle = new MFontStyle();
    fontStyle.name = "Arial";
    fontStyle.size = 12;
    fontStyle.color = 0xffffff;
    fontStyle.bold = true;

    var fontStyle1 = new MFontStyle();
    fontStyle1.name = "Arial";
    fontStyle1.size = 13;
    fontStyle1.color = 0x000000;
    fontStyle1.bold = false;

    var fillStyle = new MFillStyle();
    fillStyle.color = 0xFFFFFF; //填充色
    fillStyle.alpha = 1;

    var fillStyle1 = new MFillStyle();
    fillStyle1.color = 0x005cb5; //填充色
    fillStyle1.alpha = 1;

    var startmarkerOption = new MMarkerOptions();
    startmarkerOption.imageUrl = "http://code.mapabc.com/images/qd.png";
    startmarkerOption.picAgent = false;
    startmarkerOption.isDraggable = false; //是否可以拖动

    var tipOption = new MTipOptions();
    tipOption.titleFontStyle.color = 0xffffff;
    tipOption.title = "<font color='#000000'><b>起点：" + busS.start_name + "</b></font>";
    tipOption.tipType = DIVTIP;
    tipOption.titleFillStyle.color = tipOption.borderStyle.color = 0x00BD0A;
    var sContent = ""; //"<br />";

    sContent += "<table width=\"260px\"><tr><td colspan=3>" + "步行&nbsp;" + stepStr[0] + "&nbsp;<br>到达&nbsp;" + stepStr[1] + "&nbsp;" + stepStr[2] + "</td></tr>";
    sContent += "<tr><td></td><td><a href=\"javascript:zoom('" + driveS.start_y + "','" + driveS.start_x + "')\">定位放大</a></td><td><a href=\"javascript:nextStep(1)\">下一步</a></td>";
    sContent += "</table>";
    tipOption.content = sContent;  //tip内容
    startmarkerOption.tipOption = tipOption;
    var start = new MLngLat(driveS.start_x, driveS.start_y);
    var startmarker = new MMarker(start, startmarkerOption);
    startmarker.id = busS.start_pid;
    tipArray[0] = busS.start_pid;

    allover.push(startmarker);
    var endmarkerOption = new MMarkerOptions();
    endmarkerOption.imageUrl = "http://code.mapabc.com/images/zd.png";
    endmarkerOption.picAgent = false;
    endmarkerOption.isDraggable = false; //是否可以拖动


    var tipOptionE = new MTipOptions();
    tipOptionE.titleFontStyle.color = 0xffffff;
    tipOptionE.title = "<font color='#000000'><b>终点：" + busS.end_name + "</b></font>";
    tipOptionE.tipType = DIVTIP;
    tipOptionE.titleFillStyle.color = tipOptionE.borderStyle.color = 0x00BD0A;
    var sContentE = ""; //"<br />";

    sContentE += "<table width=\"260px\"><tr><td colspan=3>" + "到达终点：" + busS.end_name + "</td></tr>";
    sContentE += "<tr><td><a href=\"javascript:nextStep('" + (tipArray.length - 1) + "')\">上一步</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td><td><a href=\"javascript:zoom('" + driveS.end_y + "','" + driveS.end_x + "')\">定位放大</a></td><td></td>";
    sContentE += "</table>";
    tipOptionE.content = sContentE;  //tip内容 
    endmarkerOption.tipOption = tipOptionE;
    var end = new MLngLat(driveS.end_x, driveS.end_y);
    var endmarker = new MMarker(end, endmarkerOption);
    endmarker.id = busS.end_pid;
    tipArray[tipArray.length] = busS.end_pid;

    allover.push(endmarker);
    //mapObj.addOverlay(endmarker,true);
    /**/

    drawAllStation(n);

    mapObj.addOverlays(allover, true);
    /*添加小车*/
    var lnglat = new MLngLat(busxy[0], busxy[1]);
    var busmarkerOption = new MMarkerOptions();
    busmarkerOption.imageUrl = "http://code.mapabc.com/images/car_03.png";
    busmarkerOption.picAgent = false;
    busmarkerOption.imageAlign = 5;
    var busmarker = new MMarker(lnglat, busmarkerOption);
    busmarker.id = "route1";
    mapObj.addOverlay(busmarker);

    //mapObj.setGPSFocus("bus1",0);//设置标注为焦点模式

    //使图标在第一段路线移动
    mapObj.markerMoveAlong("route1", arrBus);
    mapObj.startMoveAlong('route1', true);
    /**/


    var b = n;
    busprint(b);
    for (var i = 0; i < b_all; i++) {
        var temp_1 = "table_" + i; //方案标题ID.
        var temp_2 = "bus_list_" + i; //方案内容ID.
        $(temp_1).className = "";
        $(temp_1).onmouseout = function() { this.className = ''; clearCompareLine(i) };
        $(temp_2).style.display = 'none';
    } //以上作用是把所有的方案标题变白底,方案内容隐藏,onmouseout时,使标标题变白底.
    var temp_l = "table_" + b;
    $(temp_l).className = "selectResult";
    $(temp_l).onmouseout = function() { this.style.className = 'selectResult'; clearCompareLine(b) };
    var temp_2 = "bus_list_" + b;
    $(temp_2).style.display = '';

    hidewait();
}

function nextStep(n) {
    mapObj.openOverlayTip(tipArray[n]);
}

function drawBus(arrX, arrY, qdpoix, qdpoiy, zdpoix, zdpoiy, changex, changey) {//画公交线  
    removeAllOverlays(); //称除地图所有内容.
    if ('undefined' != typeof mapObj) {
        var allover = new Array();
        var arrBus = new Array();
        var e = 0;
        for (e = 0; e < arrX.split(',').length - 1; e++) {
            arrBus.push(new MLngLat(arrX.split(',')[e], arrY.split(',')[e]));
        }
        var lineopt = new MLineOptions();
        lineopt.lineStyle.thickness = 6;
        lineopt.lineStyle.color = 0xff230b;
        lineopt.lineStyle.alpha = 0.8;
        lineopt.canShowTip = false;
        var line = new MPolyline(arrBus, lineopt);
        mapObj.addOverlay(line, false);
        allover.push(line);


        var changelineopt = new MLineOptions();
        changelineopt.lineStyle.thickness = 6;
        changelineopt.lineStyle.color = 0x0083d6;
        changelineopt.lineStyle.alpha = 1;
        changelineopt.canShowTip = false;
        if (changex.split(',').length != 0) {
            var arrc = new Array(); //alert(busS.xy_c_array[n]+"--"+busCHxy_n);
            for (var r = 0; r < 2; r++) {
                arrc.push(new MLngLat(changex.split(',')[r], changey.split(',')[r]));
            }
            var changeline = new MPolyline(arrc, changelineopt);
            allover.push(changeline);
            mapObj.addOverlay(changeline, false);
            var arrc1 = new Array();
            if (changex.split(',').length > 2) {
                for (var q = 2; q < 4; q++) {
                    arrc1.push(new MLngLat(changex.split(',')[q], changey.split(',')[q]));
                }

                var changeline1 = new MPolyline(arrc1, changelineopt);
                mapObj.addOverlay(changeline1, false);
                allover.push(changeline1);
            }
        }
        var changemarkerOption = new MMarkerOptions();
        changemarkerOption.imageUrl = "http://code.mapabc.com/images/bx11.png";
        changemarkerOption.picAgent = false;
        changemarkerOption.isDraggable = false; //是否可以拖动
        changemarkerOption.canShowTip = false;
        var temp = "";
        for (var r = 0; r < changex.split(',').length - 1; r = r + 1) {
            //temp+=busCHxy[r]+","+busCHxy[r+1]+"--";
            var change = new MLngLat(changex.split(',')[r], changey.split(',')[r]);
            var changetmarker = new MMarker(change, changemarkerOption);
            //changetmarker.id=busS.start_pid+"-"+r;
            mapObj.addOverlay(changetmarker, false);
            allover.push(changetmarker);
        }

        var arr1 = new Array();
        arr1.push(new MLngLat(qdpoix, qdpoiy));
        arr1.push(new MLngLat(arrX.split(',')[0], arrY.split(',')[0]));
        var lineopt1 = new MLineOptions();
        lineopt1.lineStyle.thickness = 6;
        lineopt1.lineStyle.color = 0x0083d6;
        lineopt1.lineStyle.alpha = 0.8;
        lineopt1.canShowTip = false;
        var line1 = new MPolyline(arr1, lineopt1);

        var arr2 = new Array();
        arr2.push(new MLngLat(zdpoix, zdpoiy));
        arr2.push(new MLngLat(arrX.split(',')[e], arrY.split(',')[e]));
        var line2 = new MPolyline(arr2, lineopt1);
        allover.push(line1);
        allover.push(line2);
        mapObj.addOverlay(line1, false);
        mapObj.addOverlay(line2, false);
        var stepmarkerOption = new MMarkerOptions();
        stepmarkerOption.imageUrl = "http://code.mapabc.com/images/bx.png";
        stepmarkerOption.picAgent = false;
        stepmarkerOption.isDraggable = false; //是否可以拖动
        stepmarkerOption.canShowTip = false;
        var step = new MLngLat(arrX.split(',')[0], arrY.split(',')[0]);
        var steptmarker = new MMarker(step, stepmarkerOption);
        //steptmarker.id=busS.start_pid+"1";
        mapObj.addOverlay(steptmarker, false);
        allover.push(steptmarker);

        var step1 = new MLngLat(arrX.split(',')[e], arrY.split(',')[e]);
        var steptmarker1 = new MMarker(step1, stepmarkerOption);
        //steptmarker1.id=busS.start_pid+"2";
        mapObj.addOverlay(steptmarker1, false);
        allover.push(steptmarker1);
        mapObj.addOverlays(allover, true);

        var lnglat = new MLngLat(arrX.split(',')[0], arrY.split(',')[1]);
        var busmarkerOption = new MMarkerOptions();
        busmarkerOption.imageUrl = "http://code.mapabc.com/images/car_03.png";
        busmarkerOption.picAgent = false;
        busmarkerOption.imageAlign = 5;
        var busmarker = new MMarker(lnglat, busmarkerOption);
        busmarker.id = "route1";
        mapObj.addOverlay(busmarker);

        //mapObj.setGPSFocus("bus1",0);//设置标注为焦点模式

        //使图标在第一段路线移动
        mapObj.markerMoveAlong("route1", arrBus);
        mapObj.startMoveAlong('route1', true);
    }
}
//打开公交查询方案,并进行公交画线.
function bus_open(b, allb) {
    busprint(b);
    showwait();
    for (var i = 0; i < allb; i++) {
        var temp_1 = "table_" + i; //方案标题ID.
        var temp_2 = "bus_list_" + i; //方案内容ID.
        $(temp_1).className = "";
        $(temp_1).onmouseout = function() { this.className = ''; };
        $(temp_2).style.display = 'none';
    } //以上作用是把所有的方案标题变白底,方案内容隐藏,onmouseout时,使标标题变白底.
    var temp_l = "table_" + b;
    $(temp_l).className = "selectResult";
    $(temp_l).onmouseout = function() { this.style.className = 'selectResult'; };
    var temp_2 = "bus_list_" + b;
    $(temp_2).style.display = '';
    //以上作用是把选中的方案标题变红底,方案内容显示,onmouseout时,使标标题变红底.
    drawBus(str_x_array[b], str_y_array[b], driveS.start_x, driveS.start_y, driveS.end_x, driveS.end_y, hc_x_array[b], hc_y_array[b]); //画公 交线
    drawFoldline(b); //画所有线和点.(步行线,起点,终点)
}
function returnsearch() {//返程查询.
    var sta = HashHandler.fixer.getState();
    sta = decodeURI(sta);
    var param = sta.split(",");

    //因第一项为页码，故此处索引需加1

    var startname = param[4];
    var startx = param[6];
    var starty = param[7];

    param[4] = param[5];
    param[6] = param[8];
    param[7] = param[9];

    param[5] = startname;
    param[8] = startx;
    param[9] = starty;

    sta = param.join(",");
    HashHandler.updateState(sta);
}
function open_passDepot(k, i, passN) {//显示途经站点列表.k和i是途经站点列表的ID
    //如果是passN(途经0站)不显示途经站点.passN为途经几站.
    if (passN != "0") {
        var id = "passDepot_div" + k + "_" + i;
        $(id).style.display = "";
    }
}
function close_passDepot(k, i) {//关闭途经站点列表.k和i是途经站点列表的ID
    var id = "passDepot_div" + k + "_" + i;
    $(id).style.display = "none";
    if (point_id != "") {
        mapObj.removeOverlayById("11");
    }
}

function drawAllStation(n) {
    mapObj.addEventListener(mapObj, TIP_OPEN, searchPassLine);
    var x = busS.station_x[n].split(",");
    var y = busS.station_y[n].split(",");
    var name = busS.station_name[n].split(",");
    var stationS = new Array();
    for (var i = 0; i < x.length - 1; i++) {
        if ('undefined' != typeof mapObj) {
            var pointsearch;
            var overarr = new Array();
            markerOptions = new MMarkerOptions();
            markerOptions.isDraggable = false; //是否可以拖动   
            markerOptions.imageUrl = "http://www.mapabc.com/images/point.png";
            markerOptions.picAgent = false;

            var tipOption = new MTipOptions();
            tipOption.titleFontStyle.color = 0xffffff;
            tipOption.title = "<b>" + name[i] + "</b>";
            tipOption.tipType = DIVTIP;
            markerOptions.tipOption = tipOption;
            var labelOptions = new MLabelOptions();
            var fontstyle = new MFontStyle();  //定义字体风格对象   
            fontstyle.name = "Arial";
            fontstyle.size = 13;
            fontstyle.color = 0xffffff;
            labelOptions.fontStyle = fontstyle;
            markerOptions.labelOption = labelOptions;
            markerOptions.labelPosition = new MPoint(7, -10);

            tipOption.titleFillStyle.color = tipOption.borderStyle.color = 0x005cb5;
            var ll = new MLngLat(x[i], y[i]);
            pointsearch = new MMarker(ll, markerOptions);
            pointsearch.id = "point" + n + "_" + i;
            showStations[pointsearch.id] = name[i];
            mapObj.addEventListener(pointsearch, MOUSE_OVER, showStationlabel);
            mapObj.addEventListener(pointsearch, MOUSE_OUT, closeStationlabel);

            stationS.push(pointsearch);
        }
    }
    if (stationS != "")
        mapObj.addOverlays(stationS, true);
}
var showLabelId = "";
var checkSelected = false;
function showStationlabel(param) {
    if (!checkSelected)
        showStationlabelById(param.overlayId);
}
function showStationlabelById(overlayId) {
    var arr = mapObj.getOverlayById(overlayId);
    if (overlayId == openTipId && showLabelId == openTipId)
        return;
    if (showLabelId != "" && (overlayId != showLabelId)) {
        var arr1 = mapObj.getOverlayById(showLabelId);
        arr1.option.labelOption.content = "";
        arr1.option.labelOption.hasBackground = false;
        arr1.option.labelOption.hasBorder = false;
        mapObj.updateOverlay(arr1);
    }
    arr.option.labelOption.borderColor = 0xffffff;
    arr.option.labelOption.content = showStations[overlayId];
    arr.option.labelOption.hasBorder = true;
    arr.option.labelOption.hasBackground = true;
    arr.option.labelOption.backgroundColor = 0xC61400; //0x00BD0A;
    mapObj.updateOverlay(arr);
    showLabelId = overlayId;
}

function closeStationlabel(param) {
    if (!checkSelected)
        closeStationlabelById(param.overlayId);
}
function closeStationlabelById(overlayId) {
    var arr = mapObj.getOverlayById(overlayId);
    if (overlayId == openTipId)
        return;
    arr.option.labelOption.content = "";
    arr.option.labelOption.hasBackground = false;
    arr.option.labelOption.hasBorder = false;
    mapObj.updateOverlay(arr);
    showLabelId = "";
}

function searchPassLine(param) {
    removeCompOverlays();
    if (openTipType) {
        var id = param.overlayId;
        if (id.indexOf("point") == 0) {
            var n = id.substring(5, 6);
            var m = id.substring(1 + id.indexOf('_'), id.length);
            var name = busS.station_name[n].split(",");
            var x = busS.station_x[n].split(",");
            var y = busS.station_y[n].split(",");
            drawSinglePoint(x[m], y[m], '', name[m], id, 'trans');
        }
        else if (id.indexOf("linepoint") == 0) {
            var m = id.substring(1 + id.lastIndexOf('_'), id.length);
            var poi_xy = busline_poi[buslineID].split(",");
            var str = poi_xy[m].split(";");
            drawSinglePoint(str[0], str[1], str[2], str[3], id, 'line'); //此处为原代码的bug
        } else if (id.indexOf("stapoint") == 0) {
            var m = id.substring(8, id.lastIndexOf('-'));

            var p = id.substring(1 + id.lastIndexOf('-'), id.lastIndexOf('_'));
            var n = id.substring(1 + id.lastIndexOf('_'), id.length);
            selectNum = n;
            busstation_linenew(m, p);
        }
    } else {
        openTipType = true;
    }
}

var openTipName = "";
var openTipId = "";
var openTipType = true;
var openTipX = "";
var openTipY = "";
var openTipNum = "";
var openTipFrom = "";
function drawSinglePoint(x, y, pi, name, pointId, type) {//画单独一个点的方法(x,y,pid)
    if ('undefined' != typeof mapObj) {
        openTipType = false;
        var point_id = pointId; //"point"+pointId;
        openTipName = name;
        openTipX = x;
        openTipY = y;
        openTipId = point_id;
        openTipNum = pi;
        openTipFrom = type;
        if (typeof (passLineList['' + c_b + '_' + name]) != "undefined") {
            showPassLine(passLineList['' + c_b + '_' + name]);
        }
        else {
            //查询周边线路
            searchLineByStationName(name, point_id);
        }
    }
}

function searchLineByStationName(staName, point_id) {//公交站点查询方法,bc为城市,bus_station为站点名.
    try {
        var obj = mapObj.getOverlayById(point_id);
        if (obj != null) {
            obj.option.tipOption.content = "正在载入，请稍候......";
            mapObj.updateOverlay(obj);
            mapObj.openOverlayTip(point_id);
        }
    } catch (e) {
    }

    try {
        var options = new MRoutSearchOptions();
        var mrs = new MRoutSearch();
        mrs.setCallbackFunction(searchLineByStationNameCallBack);
        mrs.routSearchByBusStationName(staName, c_b, options);
    } catch (e) {
        mapObj.openOverlayTip(point_id);
    }
}

function searchLineByStationNameCallBack(data) {
    if (data.message == "ok" && data.list.length > 0) {
        passLineList['' + c_b + '_' + openTipName] = eval('(data)');
    }
    showPassLine(data);
}

function showPassLine(data) {
    var passLineArray = new Array();
    var str = "<table width=\"260px\">";
    if (openTipNum != "") {
        str += "<tr><td>站点序号：第" + (openTipNum) + "站</td></tr>";
    }
    if (data.message == "ok") {//判断服务器是否返回数据."ok"为有返回数据.
        var stationNum = data.list.length; //返回包含站点名的线路总数.
        if (stationNum != 0) {//如果stationNum为0,没有返回包含站点名的线路.
            for (var i = 0; i < stationNum; i++) {
                passLineArray[i] = new Array();
                passLineArray[i]['lineIds'] = data.list[i].line_id;
                passLineArray[i]['lineNames'] = data.list[i].name;
            }
        }
    }
    passLineArray.sort(sortfunction);
    str += buildPassLineStr(passLineArray, c_b);
    str += buildSearchRound(openTipX, openTipY, c_b, openTipName);
    str += "</table>";
    if (openTipId != "") {
        var obj = mapObj.getOverlayById(openTipId);
        if (obj != null) {
            obj.option.tipOption.content = str;
            mapObj.updateOverlay(obj);
            try {
                mapObj.openOverlayTip(openTipId);
            } catch (e) { }
        }
    }
}

function buildPassLineStr2(passLineArray, data_citycode) {
    var str = "";
    var keyNames = new Array();
    for (var i = 0; i < passLineArray.length; i++) {
        var names = splitLineName(passLineArray[i]['lineNames']);
        str += "<a href=\"javascript:showLine('" + passLineArray[i]['lineIds'] + "','" + data_citycode + "')\">" + names[2] + "</a>（" + names[0] + "－" + names[1] + "）<br />";
    }
    return str;
}

function buildPassLineStr(passLineArray, data_citycode) {
    var str = "";
    str += "<tr><td colspan=\"2\"><span id=\"tipTKXL\">停靠线路：</span></td></tr>";
    var fullNameStr = "";
    var keyNames = new Array();
    var indx = 0;
    var keyIndex = 0;
    for (var i = 0; i < passLineArray.length; i++) {
        var names = splitLineName(passLineArray[i]['lineNames']);
        if (typeof (keyNames[names[2]]) == "undefined") {
            if (i != 0) {
                keyIndex++;
                fullNameStr += "</ul></div></td></tr>";
                if (keyIndex % 2 == 0) {
                    str += "</tr>"
                    str += fullNameStr;
                    fullNameStr = "";
                }
                indx = 0;
            }
            var isSigle = false;
            if (i != passLineArray.length - 1) {
                var names2 = splitLineName(passLineArray[i + 1]['lineNames']);
                if (names[2] != names2[2]) {
                    isSigle = true;
                }
            } else {
                isSigle = true;
            }

            keyNames[names[2]] = names[2];

            if (keyIndex % 2 == 0) {
                if (isSigle)
                    str += "<tr><td><font color='#000000'><a href=\"javascript:showLine('" + passLineArray[i]['lineIds'] + "','" + data_citycode + "')\">" + names[2] + "</a></font></td>";
                else
                    str += "<tr><td><font color='#000000'><a href=\"javascript:clickFullName('" + keyIndex + "')\">" + names[2] + "</a></font></td>";
            }
            else {
                if (isSigle)
                    str += "<td><font color='#000000'><a href=\"javascript:showLine('" + passLineArray[i]['lineIds'] + "','" + data_citycode + "')\">" + names[2] + "</a></font></td>";
                else
                    str += "<td><font color='#000000'><a href=\"javascript:clickFullName('" + keyIndex + "')\">" + names[2] + "</a></font></td>";
            }
            fullNameStr += "<tr style=\"display:none;\" id=\"fullName_div" + keyIndex + "\">";
            fullNameStr += "<td colspan=4>";
            fullNameStr += "<div>";
            //fullNameStr += "<img src=\"images/close_1.gif\" onclick=\"closeFullName('"+i+"')\"/>";
            fullNameStr += "<ul>";
            fullNameStr += "<li>&nbsp;&nbsp;&nbsp;&nbsp;" + (++indx) + "．<a href=\"javascript:showLine('" + passLineArray[i]['lineIds'] + "','" + data_citycode + "')\">" + passLineArray[i]['lineNames'] + "</a>"
            fullNameStr += "</li>";
        }
        else {
            fullNameStr += "<li>&nbsp;&nbsp;&nbsp;&nbsp;" + (++indx) + "．<a href=\"javascript:showLine('" + passLineArray[i]['lineIds'] + "','" + data_citycode + "')\">" + passLineArray[i]['lineNames'] + "</a>"
            fullNameStr += "</li>";
        }
    }
    fullNameStr += "</ul></div></td></tr>";
    str += "</tr>"
    str += fullNameStr;
    fullNameStr = "";
    return str;
}

function buildSearchRound(x, y, cityName, name) {
    var str = "";
    //str += "<tr><td colspan=2>在附近找：<input type=text name=searchRoundName id=searchRoundName value=\"餐厅，宾馆…\" size=20 onfocus=\"if(this.value=='餐厅，宾馆…')this.value=''\" onblur=\"if(this.value=='')this.value='餐厅，宾馆…'\">&nbsp;&nbsp;<a href=\"javascript:bus_search_around('" + x + "','" + y + "','" + cityName + "','" + name + "')\">搜索</a></td></tr>";
    str += "<tr><td colspan=2>";
    str += MoreLink(cityName, name, x + "," + y);
    str += "</td></tr>";
    return str;
}

function buildSearchRoundCode(x, y, data_cityCode, name) {
    var cityName = city.ctc2n(data_cityCode);
    return buildSearchRound(x, y, cityName, name);
}

var openFullName = -1;
function clickFullName(i) {
    var id = "fullName_div" + i;
    var ids = $(id).style.display;
    if (openFullName == i) {
        if (ids == "") {
            $(id).style.display = "none";
        }
        else {
            $(id).style.display = "";
        }
    }
    else {
        $(id).style.display = "";
        if (openFullName != -1) {
            id = "fullName_div" + openFullName;
            if ($(id) != null)
                $(id).style.display = "none";
        }
    }
    openFullName = i;

}

function openFullName(i) {
    var id = "fullName_div" + i;
    $(id).style.display = "";
}

function closeFullName(i) {
    var id = "fullName_div" + i;
    $(id).style.display = "none";
}

function showLine(lineId, city) {
    mapObj.closeTip();
    GetJF();
    open_busline2(lineId, city);
}

function sortfunction(x, y) {
    return (x['lineNames'] > y['lineNames'] ? 1 : -1);
}


//--------------------------------------------------end bus----------------
//---------------------公交线路---------------------
//function BusLineSearch() {
//}
var buslineID; //公交线路ID
var busLineID4Comp;
var busline_xy; //公交线路XY
var busline_poi; //公交线路途经点XY
var key_busLine;

function buslineSub() {
    var busC = $('bus_cityname').value;
    var busLineN = $('bus_linename').value;
    var che = "";
    var i = 1;
    if (busLineN == "输入车次" || busLineN == "") {
        che += i + "．请输入车次\n";
        i = i + 1;
    }
    if (busC == "") {
        che += i + "．请选择您要查询的城市\n";
        i = i + 1;
    }
    if (i == 1) {
        //c_b = city.ctn2c(busC);
        c_b = busC;
        key_busLine = busLineN;
        removeAllOverlays();
        HashHandler.updateState("1,busline," + c_b + ",," + key_busLine);
    } else {
        alert(che);
    }
}
function search_busline(bc, busline) {//公交线路查询方法,bc为城市,busline为线路名.
    try {
        showwait();
        var options = new MRoutSearchOptions();
        var mrs = new MRoutSearch();
        mrs.setCallbackFunction(busLineNameCallBack);
        mrs.routSearchByBusLineName(busline, bc, options);
    } catch (e) { serverError('operate_panel', '1'); }
}
function busLineNameCallBack(data) {//公交线路查询回调
    var rs = data;
    $("operate_title").innerHTML = "在 <span>" + c_b + "</span> 搜索公交线路 <span>" + key_busLine + "</span>";
    if (data.message == "ok") {//判断服务器是否返回数据."ok"为有返回数据.
        var lineNum = data.list.length; //返回线路总数.

        if (lineNum != 0) {//如果lineNum为0,没有返回任何线路.
            var bus_line_content = "<div style=\"padding:10px;\">共" + lineNum + "条结果，耗时" + 10 / 1000 + "秒。</div>";
            for (var i = 0; i < lineNum; i++) {
                bus_line_content += "<div class=\"busline_panel\" id=\"busline_table" + data.list[i].line_id + "\"><h6 onclick=\"open_busline('" + i + "','" + lineNum + "','" + data.list[i].line_id + "')\">" + data.list[i].name + "</h6><span class=\"busline_length\">约" + Math.round(data.list[i].length) + "公里</span><div class=\"cleardiv\"></div><dl id=\"busline_id" + data.list[i].line_id + "\" style=\"display:none;width:100%;\"></dl></div>";
            }
            $('operate_panel').style.display = ""; //显示公交线路的DIV
            $('operate_panel').innerHTML = bus_line_content;
            buslineID = data.list[0].line_id; //把第一条线路的线路ID给全局变量buslineID
            GetJF();
            open_busline('0', lineNum, buslineID); //显示第一条线路内容DIV "0"为第一条线路,lineNum线路总数,buslineID线路的ID

        } else {
            $('operate_panel').innerHTML = "<div style=\"padding:20px;font-size:14px;\">未查找到任何结果！</div>";
            fis_alert(1, "<span class='alert_title'>未查找到任何结果！</span><br /><strong>建议：</strong><br />1．请确保所有字词拼写正确。<br />2．请确保输入线路正确。<br />3．尝试更宽泛的关键字。");
            hidewait();
        }
    } else {
        serverError('operate_panel', '0', rs.message); //服务器错误显示.
    }
}
//打开公交线路查询内容,并进行公交线路ID查询.
function open_busline(num, linenum, lineid) {//num为第几条线路,lineNum线路总数,lineid选中线路的ID
    buslineprint(lineid);
    var oldid = "busline_id" + buslineID; //线路内容dl的ID
    var oldid1 = "busline_table" + buslineID; //线路标题与内容ID
    var id = "busline_id" + lineid; //线路内容dl的ID
    var id1 = "busline_table" + lineid; //线路标题与内容ID
    var ids = $(id).style.display; //线路内容dl的style.display状态.
    if (buslineID == lineid) {//同一个线路.
        if (ids == "none") {//内容隐藏时,让线路内容显示并改变标题样式
            $(id1).className = "busNum";
            $(id).style.display = "";
            search_bus_lineID(lineid);
        } else {//内容显示时,让线路内容隐藏并改变标题样式
            $(id1).className = "busline_panel";
            $(id).style.display = "none";
            removeAllOverlays();
        }
    } else {//不同线路
        $(oldid).style.display = "none";
        $(oldid1).className = "busline_panel"; //隐藏显示的线路内容dl并改标题样式
        $(id1).className = "busNum";
        $(id).style.display = ""; //显示现在的线路内容dl并改标题样式
        search_bus_lineID(lineid); //查询现在的线路内容.
    }
    buslineID = lineid; //现在的线路ID赋值给全局变量.
}
var c_b2;
function open_busline2(lineid, cityCode4Line) {
    c_b2 = cityCode4Line;
    search_bus_lineID2(lineid); //查询现在的线路内容.
    busLineID4Comp = lineid; //现在的线路ID赋值给全局变量.
}
var mrs_l;
var succed = true;
function search_bus_lineID2(line_id) {
    try {
        succed = true;
        busLineID4Comp = line_id;
        if (typeof (mapList['' + c_b + '_' + busLineID4Comp]) != "undefined" && typeof (mapList['' + c_b + '_' + busLineID4Comp].list[0]) != "undefined") {
            busID_write2();
        } else {
            var options = new MRoutSearchOptions();
            mrs_l = new MRoutSearch();
            // myfunc 
            mrs_l.setCallbackFunction(busIdCallBack2);
            mrs_l.routSearchByBusLineID(line_id, c_b2, options);
        }
    } catch (e) {
        succed = false;
    } //服务器错误显示.
}
function busIdCallBack2(data) {//公交线路ID查询回调
    if (succed) {
        mapList['' + c_b + '_' + busLineID4Comp] = eval('(data)');
        busID_write2();
    }
}
function busID_write2() {
    var rs = mapList['' + c_b + '_' + busLineID4Comp];
    if (rs.message == "ok") {
        //busline_xy = new Array();
        if (typeof (busline_xy) == "undefined")
            busline_xy = new Array();
        busline_xy[busLineID4Comp] = rs.list[0].xys + ","; //线路xy.
        var lineName = rs.list[0].name;
        drawLine2(busLineID4Comp, lineName); //画线路
    }
}

function drawLine2(busLineID4Comp, lineName) {

    removeCompOverlays();

    if ('undefined' != typeof mapObj) {

        var qdpoiy = getStartY(busLineID4Comp); //得到线路起点Y
        var qdpoix = getStartX(busLineID4Comp); //得到线路起点X
        var zdpoiy = getEndY(busLineID4Comp); //得到线路终点Y
        var zdpoix = getEndX(busLineID4Comp); //得到线路终点X
        var arrline = new Array();
        arrline.push(new MLngLat(qdpoix, qdpoiy));

        var tempxs = getStrX(busLineID4Comp).split(',');
        var tempys = getStrY(busLineID4Comp).split(',');
        for (var ii = 0; ii < tempxs.length - 1; ii++) {
            arrline.push(new MLngLat(tempxs[ii], tempys[ii]));
        }
        arrline.push(new MLngLat(zdpoix, zdpoiy));
        var lineS = new MLineStyle();
        lineS.thickness = 6;
        if (openTipFrom == "")
            lineS.color = 0xff230b;
        else
            lineS.color = 0xB12C;
        var lineoption = new MLineOptions();
        lineoption.lineStyle = lineS;
        lineoption.canShowTip = false;
        var line = new MPolyline(arrline, lineoption);
        line.id = "comLine";
        mapObj.addOverlay(line, true);

        var lnglat = new MLngLat(qdpoix, qdpoiy);
        var markerOption = new MMarkerOptions();
        if (openTipFrom == "") {
            markerOption.imageUrl = "http://code.mapabc.com/images/car_03.png";

            markerOption.imageAlign = 5;

            var labelOptions = new MLabelOptions();
            var fontstyle = new MFontStyle();  //定义字体风格对象   
            fontstyle.name = "Arial";
            fontstyle.size = 13;
            fontstyle.color = 0xffffff;
            //fontstyle.bold = true;   
            labelOptions.fontStyle = fontstyle;
            labelOptions.borderColor = 0xffffff;
            labelOptions.content = lineName;
            labelOptions.hasBorder = true;
            labelOptions.hasBackground = true;
            labelOptions.backgroundColor = 0xff230b;
            markerOption.labelOption = labelOptions;
            markerOption.labelPosition = new MPoint(0, 15);
            var Mmarker1 = new MMarker(lnglat, markerOption);
            Mmarker1.id = "bus2";
            mapObj.addOverlay(Mmarker1);
            mapObj.markerMoveAlong("bus2", arrline, 3);
            mapObj.startMoveAlong('bus2', true);
        }
        var names = splitLineName(lineName);


        /*起点,终点*/
        var allover = new Array();
        var startmarkerOption = new MMarkerOptions();
        startmarkerOption.imageUrl = "http://code.mapabc.com/images/qd.png";
        startmarkerOption.picAgent = false;
        startmarkerOption.isDraggable = false; //是否可以拖动
        var labelOptions = new MLabelOptions();
        var fontstyle = new MFontStyle();  //定义字体风格对象   
        fontstyle.name = "Arial";
        fontstyle.size = 13;
        fontstyle.color = 0xffffff;
        //fontstyle.bold = true;   
        labelOptions.fontStyle = fontstyle;
        labelOptions.borderColor = 0xffffff;
        labelOptions.content = names[0];
        labelOptions.hasBorder = true;
        labelOptions.hasBackground = true;
        labelOptions.backgroundColor = 0x00BD0A; //0xff230b;
        startmarkerOption.labelOption = labelOptions;
        startmarkerOption.labelPosition = new MPoint(0, 15);
        var start = new MLngLat(qdpoix, qdpoiy);
        var startmarker = new MMarker(start, startmarkerOption);
        startmarker.id = "comStart";
        allover.push(startmarker);

        var endmarkerOption = new MMarkerOptions();
        endmarkerOption.imageUrl = "http://code.mapabc.com/images/zd.png";
        endmarkerOption.picAgent = false;
        endmarkerOption.isDraggable = false; //是否可以拖动
        var labelOptions = new MLabelOptions();
        var fontstyle = new MFontStyle();  //定义字体风格对象   
        fontstyle.name = "Arial";
        fontstyle.size = 13;
        fontstyle.color = 0xffffff;
        //fontstyle.bold = true;   
        labelOptions.fontStyle = fontstyle;
        labelOptions.borderColor = 0xffffff;
        labelOptions.content = names[1];
        labelOptions.hasBorder = true;
        labelOptions.hasBackground = true;
        labelOptions.backgroundColor = 0xff230b;
        endmarkerOption.labelOption = labelOptions;
        endmarkerOption.labelPosition = new MPoint(0, 15);
        var end = new MLngLat(zdpoix, zdpoiy);
        var endmarker = new MMarker(end, endmarkerOption);
        endmarker.id = "comEnd";
        allover.push(endmarker);
        mapObj.addOverlays(allover, false);
    }
}

function removeCompOverlays() {
    if (mapObj.getOverlayById("comLine") != null) {
        mapObj.removeOverlayById("comLine");
    }
    if (mapObj.getOverlayById("comStart") != null) {
        mapObj.removeOverlayById("comStart");
    }
    if (mapObj.getOverlayById("comEnd") != null) {
        mapObj.removeOverlayById("comEnd");
    }
    if (mapObj.getOverlayById("bus2") != null) {
        mapObj.removeOverlayById("bus2");
    }
}


//通过线路ID查询线路内容.
var mrs_l;
function search_bus_lineID(line_id) {
    try {
        showwait();
        checkSelected = false;
        buslineID = line_id;
        if (typeof (mapList['' + c_b + '_' + buslineID]) != "undefined") {
            busID_write();
        } else {
            var options = new MRoutSearchOptions();
            mrs_l = new MRoutSearch();
            // myfunc 
            mrs_l.setCallbackFunction(busIdCallBack);
            // MRoutSearch routSearchByBusLineID
            mrs_l.routSearchByBusLineID(line_id, c_b, options);
        }
    } catch (e) { serverError('operate_panel', '1'); } //服务器错误显示.
}
function busIdCallBack(data) {//公交线路ID查询回调
    mapList['' + c_b + '_' + buslineID] = eval('(data)');
    busID_write();
}
function busID_write() {
    var rs = mapList['' + c_b + '_' + buslineID];
    if (rs.message == "ok") {

        busline_xy = new Array();
        busline_poi = new Array();

        var start_time = "　首班：未知"; end_time = "　末班：未知"; var bus_line_content = "";

        if (typeof rs.list[0].start_time != "undefined" && rs.list[0].start_time != "") {
            start_time = "　首班：" + rs.list[0].start_time.substring(0, 2) + ":" + rs.list[0].start_time.substring(2, 4);
        }

        if (typeof rs.list[0].end_time == "undefined" && rs.list[0].end_time != "") {
            end_time = "　末班：" + rs.list[0].end_time.substring(0, 2) + ":" + rs.list[0].end_time.substring(2, 4);
        }

        if (start_time == "" || end_time == "") {
            bus_line_content += "<dt>" + company;
        } else {
            bus_line_content += "<dt>" + start_time + "<br />" + end_time + "<br />";
        }

        if (rs.list[0].company != "" && typeof rs.list[0].company != "undefined") {
            bus_line_content += "　所属公司：" + rs.list[0].company + "<br />";
        }

        bus_line_content += "　<input type=\"checkbox\" onclick=\"checkSelect(this)\" id=\"allSta\" name=\"allSta\"><label for=\"allSta\"> 地图展示站点名称</label>";
        //bus_line_content += "<span style=\"float:right;margin-top:-26px;padding-right:15px;cursor:pointer\" onclick=\"javascript:BusCorrection1('" + c_b + "','" + rs.list[0].name + "')\">纠错</span>";
        bus_line_content += "</dt>";

        var line1 = new Array();
        line1 = mrs_l.getAllBusStations(rs.list[0].stationdes, 0);    //调用api/js/ajaxsis来得到线路信息(线路途经站点名称,站点XY).返回数组中每一项是一个站点信息,站点信息用";"分隔.
        var stationNum = line1.length; //线路中站点总数.
        var poistr = "";
        bus_line_content += "<ul>";
        for (var a = 0; a < stationNum; a++) {//
            var str = line1[a].split(";"); //line1[a]每个站点全部信息,str[0]站点名称,str[1]站点X,str[2]站点Y,str[3]站点数(第几站).		
            bus_line_content += "<li>" + str[3] + "．<a href=\"javascript:drawSinglePoint('" + str[1] + "','" + str[2] + "','" + str[3] + "','" + str[0] + "','linepoint_" + buslineID + "_" + a + "','line')\">" + str[0] + "</a></li>";
            poistr += str[1] + ";" + str[2] + ";" + str[3] + ";" + str[0] + ";" + rs.list[0].name + ","; //站点X,站点Y,第几站,站点名称.
        }
        bus_line_content += "</ul><div class=\"cleardiv\"></div>";
        var a = "busline_id" + buslineID;
        if ($(a)) {
            $(a).innerHTML = bus_line_content;
        }
        busline_xy[buslineID] = rs.list[0].xys + ","; //线路xy.
        busline_poi[buslineID] = poistr; //线路所有站点信息并最后添加"-".
        drawLine(buslineID); //画线路
        drawallpoi(buslineID); //在线上画所有站点.
        hidewait();
    } else {
        var a = "busline_id" + buslineID;
        serverError(a, '0', rs.message); //服务器错误显示.
    }
}

function checkSelect(checkBox) {
    removeCompOverlays();
    if (checkBox.checked) {
        checkSelected = true;
        var arr = mapObj.getOverlaysByType(MOverlay.TYPE_MARKER);
        for (var s = 0; s < arr.length; s++) {
            if (arr[s].id.indexOf('linepoint') == 0) {
                arr[s].option.labelOption.borderColor = 0xffffff;
                arr[s].option.labelOption.content = showStations[arr[s].id];
                arr[s].option.labelOption.hasBorder = true;
                arr[s].option.labelOption.hasBackground = true;
                arr[s].option.labelOption.backgroundColor = 0xff230b;
                mapObj.updateOverlay(arr[s]);
            }
        }
    }
    else {
        checkSelected = false;
        var arr = mapObj.getOverlaysByType(MOverlay.TYPE_MARKER);
        for (var s = 0; s < arr.length; s++) {
            if (arr[s].id.indexOf('linepoint') == 0) {
                arr[s].option.labelOption.content = "";
                arr[s].option.labelOption.hasBackground = false;
                arr[s].option.labelOption.hasBorder = false;
                mapObj.updateOverlay(arr[s]);
            }
        }
    }
}

//画线路
function drawLine(buslineID) {
    removeAllOverlays();
    if ('undefined' != typeof mapObj) {
        var qdpoiy = getStartY(buslineID); //得到线路起点Y
        var qdpoix = getStartX(buslineID); //得到线路起点X
        var zdpoiy = getEndY(buslineID); //得到线路终点Y
        var zdpoix = getEndX(buslineID); //得到线路终点X
        var arrline = new Array();
        arrline.push(new MLngLat(qdpoix, qdpoiy));

        var tempxs = getStrX(buslineID).split(',');
        var tempys = getStrY(buslineID).split(',');
        for (var ii = 0; ii < tempxs.length - 1; ii++) {
            arrline.push(new MLngLat(tempxs[ii], tempys[ii]));
        }
        arrline.push(new MLngLat(zdpoix, zdpoiy));
        var lineS = new MLineStyle();
        lineS.thickness = 6;
        lineS.color = 0xBB1300;
        var lineoption = new MLineOptions();
        lineoption.lineStyle = lineS;
        lineoption.canShowTip = false;
        var line = new MPolyline(arrline, lineoption);
        mapObj.addOverlay(line, true);

        var lnglat = new MLngLat(qdpoix, qdpoiy);
        var markerOption = new MMarkerOptions();
        markerOption.imageUrl = "http://code.mapabc.com/images/car_03.png";
        markerOption.imageAlign = 5;
        var Mmarker1 = new MMarker(lnglat, markerOption);
        Mmarker1.id = "bus1";
        mapObj.addOverlay(Mmarker1);
        mapObj.markerMoveAlong("bus1", arrline, 3);
        mapObj.startMoveAlong('bus1', true);
    }
}
function getStrX(num) {
    var poi_xy = busline_xy[num].split(",");
    var arrX = ""; //线路的X串
    for (var e = 0; e < poi_xy.length - 1; e = e + 2) {
        if (e == poi_xy.length - 3) {
            arrX += poi_xy[e];
        } else {
            arrX += poi_xy[e] + ",";
        }
    }
    return arrX;
}
function getStrY(num) {
    var poi_xy = busline_xy[num].split(",");
    var arrY = ""; //线路的Y串
    for (var e = 0; e < poi_xy.length - 1; e = e + 2) {
        if (e == poi_xy.length - 3) {
            arrY += poi_xy[e + 1];
        } else {
            arrY += poi_xy[e + 1] + ",";
        }
    }
    return arrY;
}
function getStartX(num) {
    var poi_xy = busline_xy[num].split(",");
    return poi_xy[0];
}
function getStartY(num) {
    var poi_xy = busline_xy[num].split(",");
    return poi_xy[1];
}

function getEndX(num) {
    var poi_xy = busline_xy[num].split(",");
    return poi_xy[poi_xy.length - 3];
}

function getEndY(num) {
    var poi_xy = busline_xy[num].split(",");
    return poi_xy[poi_xy.length - 2];
}
//画线上的所有站点
function drawallpoi(buslineID) {
    mapObj.addEventListener(mapObj, TIP_OPEN, searchPassLine);
    var stationS = new Array();
    var poi_xy = busline_poi[buslineID].split(",");
    for (var i = 0; i < poi_xy.length - 1; i++) {
        var str = poi_xy[i].split(";");
        if ('undefined' != typeof mapObj) {
            var pointsearch;
            var overarr = new Array();
            markerOptions = new MMarkerOptions();
            markerOptions.isDraggable = false; //是否可以拖动   
            if (i == 0)
                markerOptions.imageUrl = "http://code.mapabc.com/images/qd.png";
            else if (i == poi_xy.length - 2)
                markerOptions.imageUrl = "http://code.mapabc.com/images/zd.png";
            else
                markerOptions.imageUrl = "http://www.mapabc.com/images/point.png";
            markerOptions.picAgent = false;
            markerOptions.hasShadow = false;
            var tipOption = new MTipOptions();
            tipOption.titleFontStyle.color = 0xffffff;
            tipOption.title = "<font color='#FFFFFF'><b>" + str[3] + "</b></font>";
            tipOption.tipType = DIVTIP;
            var sContent1 = "<font color='#ffffff'>所属线路：" + str[4] + "</font><br>";
            sContent1 += "<font color='#ffffff'>站点序号：第" + str[2] + "站</font><br>";
            tipOption.content = sContent1;
            markerOptions.tipOption = tipOption;

            var labelOptions = new MLabelOptions();
            var fontstyle = new MFontStyle();  //定义字体风格对象   
            fontstyle.name = "Arial";
            fontstyle.size = 13;
            fontstyle.color = 0xffffff;
            labelOptions.fontStyle = fontstyle;
            markerOptions.labelOption = labelOptions;
            markerOptions.labelPosition = new MPoint(7, -10);

            tipOption.titleFillStyle.color = tipOption.borderStyle.color = 0x005cb5;  //0x3E6A73;
            var ll = new MLngLat(str[0], str[1], 1);

            pointsearch = new MMarker(ll, markerOptions);
            pointsearch.id = "linepoint_" + buslineID + "_" + i;
            mapObj.addEventListener(pointsearch, MOUSE_OVER, showStationlabel);
            mapObj.addEventListener(pointsearch, MOUSE_OUT, closeStationlabel);
            showStations[pointsearch.id] = (i + 1) + "、" + str[3];
            stationS.push(pointsearch);
        }
    }
    if (stationS != "")
        mapObj.addOverlays(stationS, true);
}
//通过ID打开TIP窗口.
function opentip(poiid) {
    var point_id = poiid + 1;
    mapObj.openTipById(point_id);
}
//-------------------------------busline end---------------------------
//----------------------------公交站点--------------------------------
var key_busStation;
function busstationSub() {
    var busC = $('bus_cityname').value;
    var busStationN = $('bus_stationname').value;
    var che = "";
    var i = 1;
    if (busStationN == "输入站点" || busStationN == "") {
        che += i + "．站点不能为空\n";
        i = i + 1;
    }
    if (busC == "") {
        che += i + "．请选择您要查询的城市\n";
        i = i + 1;
    }
    if (i == 1) {
        //c_b = city.ctn2c(busC);
        c_b = busC;
        key_busStation = busStationN;
        HashHandler.updateState("1,busstation," + c_b + ",," + key_busStation);
    } else {
        alert(che);
    }
}

function searchStationByKeyword(citycode, keyword) {
    try {
        showwait();

        openTipFrom = "";
        var number = 20;
        var batch = 1;
        var mls = new MLocalSearch();
        var mlsp = new MLocalSearchOptions();
        mls.setCallbackFunction(searchStationByKeywordCallBack);
        mlsp.pageNum = batch;
        mlsp.recordsPerPage = number;
        mlsp.srcType = 'BUS:20';
        mlsp.dataSources = MLocalSearch.BASE;
        mls.poiSearchByKeywords(keyword, citycode, mlsp);
    } catch (e) {
        serverError('operate_panel', '1');
    }
}

var xmlArray = new Array();
var selectStaId = "";
var selectStaIndex = "";
var selectNum = 0;
var openTip = false;
var openCluster = -1;

function searchStationByKeywordCallBack(data) {
    xmlArray.length = 0;
    selectStaId = "";
    selectStaIndex = "";
    selectNum = 0;
    openTip = false;
    removeAllOverlays();

    $('operate_title').innerHTML = "在 <span>" + c_b + "</span> 搜索公交站点 <span>" + key_busStation + "</span>";
    try {
        var html = "";
        if (data.message == "ok") {
            if (data.count != 0) {
                var poi_name = "";
                var bus_station_content = "<div  style=\"padding:10px;\" >共" + data.count + "条结果，耗时" + data.searchtime / 1000 + "秒。</div>";
                for (var i = 0; i < data.poilist.length; i++) {
                    xmlArray[i] = new Array();
                    var pass = parsePassLineXml(data.poilist[i].xml);
                    xmlArray[i]['line'] = parseClusterSta(pass);
                    var length = xmlArray[i]['line'].length
                    xmlArray[i]['xy'] = parseClusterXY(pass);
                    xmlArray[i]['name'] = data.poilist[i].name;
                    xmlArray[i]['pid'] = data.poilist[i].pguid;
                    xmlArray[i]['time'] = data.poilist[i].timestamp;
                    bus_station_content += "<div  class=\"busstation_panel\"><a class=\"busstation_titlelink\" href=\"javascript:busstation_linenew('" + data.poilist[i].pguid + "','" + i + "')\">" + data.poilist[i].name + "</a>"

                    bus_station_content += "<div class=\"busstation_lines\">停靠线路：<br />" + getPassLineStr(xmlArray[i]['line'], c_b) + "</div>"
                    bus_station_content += "最后更新时间：" + data.poilist[i].timestamp;
                    bus_station_content += "</div>";
                }

                $('operate_panel').style.display = ""; //显示公交站点的DIV
                $('operate_panel').innerHTML = bus_station_content + "<div style='width:100%;clear:both;height:0;overflow:hidden;'>&nbsp;</div>";
                //buslineID = data.list[0].line_id;//把第一条线路的线路ID给全局变量buslineID
                //selectStationId = data.poilist[0].pguid;
                drawAllClusterStation(0);
                //busstation_linenew(data.poilist[0].pguid,0);
                //busstation_line('0',stationNum,buslineID);//显示第一条线路内容DIV "0"为第一条线路,stationNum线路总数,buslineID线路的ID
                hidewait();
                GetJF();
            }
            else {
                $('operate_panel').innerHTML = "<div style=\"padding:20px;font-size:14px;\">未查找到任何结果！</div>";
                fis_alert(1, "<span class='alert_title'>未查找到任何结果！</span><br /><strong>建议：</strong><br />1．请确保所有字词拼写正确。<br />2．请确保输入线路正确。<br />3．尝试更宽泛的关键字。");
                hidewait();
            }
        } else {
            serverError('operate_panel', '0', rs.message); //服务器错误显示.
        }
    } catch (e) {
        serverError('operate_panel', '1');
    }
}

function searchStationByKeywordCallBack2(data) {
    xmlArray.length = 0;
    selectStaId = "";
    selectStaIndex = "";
    selectNum = 0;
    openTip = false;
    removeAllOverlays();
    try {
        var html = "";
        if (data.message == "ok") {
            if (data.count != 0) {
                var poi_name = "";
                var bus_station_content = "<div  style=\"padding:10px;\">共" + data.count + "条结果</div>";
                for (var i = 0; i < data.poilist.length; i++) {
                    xmlArray[i] = new Array();
                    var pass = parsePassLineXml(data.poilist[i].xml);
                    xmlArray[i]['line'] = parseClusterSta(pass);
                    var length = xmlArray[i]['line'].length
                    xmlArray[i]['xy'] = parseClusterXY(pass);
                    xmlArray[i]['name'] = data.poilist[i].name;
                    xmlArray[i]['pid'] = data.poilist[i].pguid;
                    bus_station_content += "<div id=\"busstation_table" + data.poilist[i].pguid + "\" ><h6 onmouseover=\"showStation('" + data.poilist[i].pguid + "','" + i + "')\" onmouseout=\"unShowStation('" + data.poilist[i].pguid + "','" + i + "')\" onclick=\"busstation_linenew('" + data.poilist[i].pguid + "','" + i + "')\">&nbsp;&nbsp; ► " + data.poilist[i].name + "</h6><span style=\"float:right;margin-top:-26px;padding-right:15px;\" >途经此站的公交线路共" + getPassLineNum(xmlArray[i]['line']) + "条</span></div>";
                }
                $('busdivResulte').style.display = "none"; //隐藏公交换乘起点和终点DIV和结果DIV
                $('operate_panel').style.display = ""; //显示公交站点的DIV
                $('operate_panel').innerHTML = bus_station_content + "<div style='width:100%;clear:both;height:0;overflow:hidden;'>&nbsp;</div>";
                //buslineID = data.list[0].line_id;//把第一条线路的线路ID给全局变量buslineID
                //selectStationId = data.poilist[0].pguid;
                drawAllClusterStation();
                //busstation_linenew(data.poilist[0].pguid,0);
                //busstation_line('0',stationNum,buslineID);//显示第一条线路内容DIV "0"为第一条线路,stationNum线路总数,buslineID线路的ID
                hidewait();
                GetJF();
            }
            else {
                $('busdivResulte').style.display = "none";
                $('operate_panel').style.display = "";
                fis_alert(1, "<span class='alert_title'>未查找到任何结果！</span><br /><strong>建议：</strong><br />1．请确保所有字词拼写正确。<br />2．请确保输入线路正确。<br />3．尝试更宽泛的关键字。");
                hidewait();
            }
        } else {
            serverError('operate_panel', '0', rs.message); //服务器错误显示.
        }
    } catch (e) {
        serverError('operate_panel', '1');
    }
}

function getPassLineNum(line) {
    var linesss = line;
    var size = 0;
    for (var i = 0; i < line.length; i++) {
        size += line[i].length;
    }
    return size;
}

function getPassLineStr(line, city_code) {
    var line_str = "";
    for (var i = 0; i < line.length; i++) {
        line_str += buildPassLineStr2(line[i], city_code)
        line_str += "<br />";
    }
    return line_str;
}

function drawAllClusterStation(n) {
    var id = "busstation_table" + n;
    if ($(id) != null)
        $(id).className = "busNum";
    openCluster = n;
    mapObj.addEventListener(mapObj, TIP_OPEN, searchPassLine);
    var ssss = xmlArray;
    var stationS = new Array();
    for (var i = n; i <= n; i++) {
        if ('undefined' != typeof mapObj) {
            for (var j = 0; j < xmlArray[i]['xy'].length; j++) {
                var pointsearch;
                var overarr = new Array();
                markerOptions = new MMarkerOptions();
                markerOptions.isDraggable = false; //是否可以拖动   
                markerOptions.imageUrl = "http://www.mapabc.com/images/point.png";
                markerOptions.picAgent = false;

                var tipOption = new MTipOptions();
                tipOption.titleFontStyle.color = 0xffffff;
                tipOption.title = "<b>" + xmlArray[i]['name'] + "</b>";
                tipOption.tipType = DIVTIP;
                markerOptions.tipOption = tipOption;
                var labelOptions = new MLabelOptions();
                var fontstyle = new MFontStyle();  //定义字体风格对象   
                fontstyle.name = "Arial";
                fontstyle.size = 13;
                fontstyle.color = 0xffffff;
                labelOptions.fontStyle = fontstyle;
                labelOptions.borderColor = 0xffffff;
                labelOptions.content = xmlArray[i]['name'];
                labelOptions.hasBorder = true;
                labelOptions.hasBackground = true;
                labelOptions.backgroundColor = 0xff230b;
                markerOptions.labelOption = labelOptions;
                markerOptions.labelPosition = new MPoint(7, -10);

                tipOption.titleFillStyle.color = tipOption.borderStyle.color = 0x005cb5;
                var ll = new MLngLat(xmlArray[i]['xy'][j]['x'], xmlArray[i]['xy'][j]['y']);
                pointsearch = new MMarker(ll, markerOptions);
                pointsearch.id = "stapoint" + xmlArray[i]['pid'] + "-" + i + "_" + j;

                stationS.push(pointsearch);
            }
        }
    }
    if (stationS != "")
        mapObj.addOverlays(stationS, true);
}

function drawAllClusterStation2() {
    mapObj.addEventListener(mapObj, TIP_OPEN, searchPassLine);
    var ssss = xmlArray;
    var stationS = new Array();
    for (var i = 0; i < xmlArray.length; i++) {
        if ('undefined' != typeof mapObj) {
            for (var j = 0; j < xmlArray[i]['xy'].length; j++) {
                var pointsearch;
                var overarr = new Array();
                markerOptions = new MMarkerOptions();
                markerOptions.isDraggable = false; //是否可以拖动   
                markerOptions.imageUrl = "http://www.mapabc.com/images/point.png";
                markerOptions.picAgent = false;

                var tipOption = new MTipOptions();
                tipOption.titleFontStyle.color = 0xffffff;
                tipOption.title = "<b>" + xmlArray[i]['name'] + "</b>";
                tipOption.tipType = DIVTIP;
                markerOptions.tipOption = tipOption;
                var labelOptions = new MLabelOptions();
                var fontstyle = new MFontStyle();  //定义字体风格对象   
                fontstyle.name = "Arial";
                fontstyle.size = 13;
                fontstyle.color = 0xffffff;
                labelOptions.fontStyle = fontstyle;
                labelOptions.borderColor = 0xffffff;
                labelOptions.content = xmlArray[i]['name'];
                labelOptions.hasBorder = true;
                labelOptions.hasBackground = true;
                labelOptions.backgroundColor = 0xff230b;
                markerOptions.labelOption = labelOptions;
                markerOptions.labelPosition = new MPoint(7, -10);

                tipOption.titleFillStyle.color = tipOption.borderStyle.color = 0x005cb5;
                var ll = new MLngLat(xmlArray[i]['xy'][j]['x'], xmlArray[i]['xy'][j]['y']);
                pointsearch = new MMarker(ll, markerOptions);
                pointsearch.id = "stapoint" + xmlArray[i]['pid'] + "-" + i + "_" + j;

                stationS.push(pointsearch);
            }
        }
    }
    if (stationS != "")
        mapObj.addOverlays(stationS, true);
}

function busstation_linenew(pid, i) {
    if (openCluster != i) {
        removeAllOverlays();
        {
            var oldId = "busstation_table" + openCluster;
            if ($(oldId) != null)
                $(oldId).className = "";
        }

        drawAllClusterStation(i);
        return;
    }
    openTipType = false;
    if (pid == selectStaId) {
        if (selectNum >= xmlArray[i]['xy'].length)
            selectNum = 0;
    }

    selectStaId = pid;
    selectStaIndex = i;

    showClusterPassLine(pid, i);
}

function showClusterPassLine(pid, i) {
    var passLineArray = new Array();
    var str = "<table width=\"260px\">";
    var num = selectNum;
    str += buildPassLineStr(xmlArray[i]['line'][num], c_b);
    str += buildSearchRound(xmlArray[i]['xy'][num]['x'], xmlArray[i]['xy'][num]['y'], c_b, xmlArray[i]['name']);
    str += "</table>";

    var id = "stapoint" + xmlArray[i]['pid'] + "-" + i + "_" + num;
    var obj = mapObj.getOverlayById(id);
    if (obj != null) {
        obj.option.tipOption.content = str;
        mapObj.updateOverlay(obj);
        try {
            mapObj.openOverlayTip(id);
        }
        catch (e) { }
    }

    selectNum++;
}

function showStation(pid, i) {

    if (openTip && selectStaId != "") {
        for (var k = 0; k < xmlArray[selectStaIndex]['xy'].length; k++) {
            updateClusterSta("stapoint" + selectStaId + "-" + selectStaIndex + "_" + k, 2);
        }
        openTip = false;
    }

    var id = "busstation_table" + i;
    if ($(id) != null)
        $(id).className = "busNum";
    selectNum = 0;
    for (var k = 0; k < xmlArray[i]['xy'].length; k++) {
        updateClusterSta("stapoint" + pid + "-" + i + "_" + k, 1);
    }
}

function unShowStation(pid, i) {
    if (selectStaId != pid) {
        var id = "busstation_table" + i;
        if ($(id) != null)
            $(id).className = "";


        for (var k = 0; k < xmlArray[i]['xy'].length; k++) {
            updateClusterSta("stapoint" + pid + "-" + i + "_" + k, 2);
        }
    }
    else
        openTip = true;
}

function updateClusterSta(id, type) {
    var arr1 = mapObj.getOverlayById(id);
    if (arr1 == null)
        return;
    if (type == 1) {
        arr1.option.labelOption.backgroundColor = 0x00BD0A;
    }
    else {
        arr1.option.labelOption.backgroundColor = 0xff230b;
    }
    mapObj.updateOverlay(arr1);
}

var point_id = "";
function drawSinglePoi(px, py, serialid, pn, linename) {

    if ('undefined' != typeof mapObj) {
        mapObj.removeOverlayById("11");
        point_id = "11";
        var markerOptions;
        var pointsearch;
        var overarr = new Array();

        markerOptions = new MMarkerOptions();
        markerOptions.isDraggable = false; //是否可以拖动   
        markerOptions.imageUrl = "http://www.mapabc.com/images/point.png";
        markerOptions.picAgent = false;
        var tipOption = new MTipOptions();
        tipOption.titleFontStyle.color = 0xffffff;
        tipOption.title = "<font color='#ffffff'>站点名称：" + pn + "</font><br>";

        var sContent1 = "<br/>";
        sContent1 += "<font color='#000000'>所属线路：" + linename + "站</font><br>";
        sContent1 += "<font color='#000000'>站点序号：第" + serialid + "站</font><br>";
        tipOption.content = sContent1;  //tip内容   
        markerOptions.tipOption = tipOption;

        tipOption.borderStyle.color = 0x005cb5;
        tipOption.titleFillStyle.color = 0x005cb5;
        var ll = new MLngLat(px, py);
        pointsearch = new MMarker(ll, markerOptions);
        pointsearch.id = "11";
        //overarr.push(pointsearch);   
        mapObj.addOverlay(pointsearch, true);
        setTimeout(" mapObj.openOverlayTip('11')", 300);
    }
}

function zoom(y, x) {//TIP中的"定位放大"
    mapObj.setCenter(new MLngLat(x, y));
    mapObj.setZoomLevel(15);
}

function getdistance(le) {//得到里程
    if (le <= 1000) {
        var s = le;
        return s + "米";
    } else {
        var s = Math.round(le / 1000);
        return "约" + s + "公里";
    }
}

function drawFoldline(num) {//画所有线和点.(步行线,起点,终点)
    var s_x = str_x_array[num].split(','); //公交线路的X
    var s_y = str_y_array[num].split(','); //公交线路的Y
    if ('undefined' != typeof mapObj) {

        var allover = new Array();
        var lineStyle = new MLineStyle();
        lineStyle.thickness = 2;
        lineStyle.alpha = 1;

        var fontStyle = new MFontStyle();
        fontStyle.name = "Arial";
        fontStyle.size = 12;
        fontStyle.color = 0xffffff;
        fontStyle.bold = true;

        var fontStyle1 = new MFontStyle();
        fontStyle1.name = "Arial";
        fontStyle1.size = 13;
        fontStyle1.color = 0x000000;
        fontStyle1.bold = false;

        var fillStyle = new MFillStyle();
        fillStyle.color = 0xFFFFFF; //填充色
        fillStyle.alpha = 1;

        var fillStyle1 = new MFillStyle();
        fillStyle1.color = 0x005cb5; //填充色
        fillStyle1.alpha = 1;

        var startmarkerOption = new MMarkerOptions();
        startmarkerOption.imageUrl = "http://code.mapabc.com/images/qd.png";
        startmarkerOption.picAgent = false;
        startmarkerOption.isDraggable = false; //是否可以拖动
        var tipOption = new MTipOptions();
        tipOption.titleFontStyle.color = 0xffffff;
        tipOption.title = "起点：" + start_name;
        tipOption.titleFillStyle.color = tipOption.borderStyle.color = 0x00BD0A;

        var str = "";
        if (start_type == "暂无" || start_type == "") { } else { str = str + '<br><font color=\"#000000\">类型：' + start_type + '</font>' }
        if (start_address == "暂无") { } else { str = str + '<br /><font color=\"#000000\">地址：' + start_address + '</font>' }
        if (start_tel == "暂无") { } else { str = str + '<br /><font color=\"#000000\">电话：' + start_tel + '</font>' }
        sContent = str;
        sContent += "<br /><a href=\"javascript:zoom('" + driveS.start_y + "','" + driveS.start_x + "')\">定位放大</a>　<a href=\"javascript:CorrectBox(1,'" + start_pid + "','" + start_name + "','" + start_address + "','" + start_tel + "','" + c_b + "','" + start_x + "','" + start_y + "','" + start_type + "')\">纠错</a>　<a href=\"" + start_staticPath + "\" target=\"_blank\">详细信息</a>";

        tipOption.content = sContent; //tip内容

        startmarkerOption.tipOption = tipOption;
        var start = new MLngLat(driveS.start_x, driveS.start_y);
        var startmarker = new MMarker(start, startmarkerOption);
        //startmarker.id=busS.start_pid;
        allover.push(startmarker);
        //mapObj.addOverlay(startmarker,true);

        var endmarkerOption = new MMarkerOptions();
        endmarkerOption.imageUrl = "http://code.mapabc.com/images/zd.png";
        endmarkerOption.picAgent = false;
        endmarkerOption.isDraggable = false; //是否可以拖动
        var tipOption1 = new MTipOptions();
        tipOption1.titleFontStyle.color = 0xffffff;
        tipOption1.title = "终点：" + end_name;

        tipOption1.titleFillStyle.color = tipOption1.borderStyle.colors = 0xff230b;
        var str1 = "";
        if (end_type == "暂无" || end_type == "") { } else { str1 = str1 + '<br><font color=\"#000000\">类型：' + end_type + '</font>' }
        if (end_address == "暂无") { } else { str1 = str1 + '<br /><font color=\"#000000\">地址：' + end_address + '</font>' }
        if (end_tel == "暂无") { } else { str1 = str1 + '<br /><font color=\"#000000\">电话：' + end_tel + '</font>' }
        var eContent = "";
        var str1 = "";
        if (end_type == "暂无" || end_type == "") { } else { str1 = str1 + '<br><font color=\"#000000\">类型：' + end_type + '</font>' }
        if (end_address == "暂无") { } else { str1 = str1 + '<br /><font color=\"#000000\">地址：' + end_address + '</font>' }
        if (end_tel == "暂无") { } else { str1 = str1 + '<br /><font color=\"#000000\">电话：' + end_tel + '</font>' }
        eContent += str1;
        eContent += "<br /><a href=\"javascript:zoom('" + end_y + "','" + end_x + "')\">定位放大</a>　<a href=\"javascript:CorrectBox(1,'" + end_pid + "','" + end_name + "','" + end_address + "','" + end_tel + "','" + c_b + "','" + end_x + "','" + end_y + "','" + end_type + "')\">纠错</a>　<a href=\"" + end_staticPath + "\" target=\"_blank\">详细信息</a>";

        tipOption1.content = eContent; //tip内容

        endmarkerOption.tipOption = tipOption1;
        var end = new MLngLat(end_x, end_y);
        var endmarker = new MMarker(end, endmarkerOption);
        //endmarker.id=busS.end_pid;
        allover.push(endmarker);

        mapObj.addOverlays(allover, true);
    }
    hidewait();
}
//错误消息
function serverError(ID, S, errormessage) {
    if (S == "1") {
        fis_alert(1, "<span class='alert_title'>查询异常！请重新尝试！</span><br />错误信息：" + errormessage);
    }
    else {
        fis_alert(1, "<span class='alert_title'>网络忙！请重新尝试！</span><br />错误信息：" + errormessage);
    }
}
function selectMode_bus(mode) {
    HashHandler.updateState("1,transfer," + driveS.start_cityname + "," + driveS.end_cityname + "," + driveS.start_name + "," + driveS.end_name + "," + driveS.start_x + "," + driveS.start_y + "," + driveS.end_x + "," + driveS.end_y + ",,,,,,,,," + mode);
}
function GetJF() {

}
function busprint(lineid) {
    //var busurl = 'print_b.html?' + mapProperty.u0 + ',' + mapProperty.u1 + ',' + mapProperty.u2 + ',' + mapProperty.u3 + ',' + mapProperty.u4 + ',' + mapProperty.u5 + ',' + mapProperty.u6 + ',' + mapProperty.u7 + ',' + mapProperty.u8 + ',' + mapProperty.u9 + ',' + mapProperty.u10 + ',' + mapProperty.u11 + ',' + mapProperty.u12 + ',' + mapProperty.u13 + ',' + mapProperty.u14 + ',' + mapProperty.u15 + ',' + mapProperty.u16 + ',' + mapProperty.u17 + ',' + mapProperty.u18 + ',' + bus_way + ',' + lineid + "";
    //$('print').innerHTML = "<a href=\"http://www.mapabc.com/" + busurl + "\" target=\"_blank\" style=\"color:#FF0000;font-weight:bold;\">打印</a>";
}

function buslineprint(lineid) {
    //var busurl = 'print_line.html?' + c_b + ',' + c_b + ',' + lineid + "";
    //$('print').innerHTML = "<a href=\"http://www.mapabc.com/" + busurl + "\" target=\"_blank\" style=\"color:#FF0000;font-weight:bold;\">打印</a>";
}

//弹出纠错
function BusCorrection(cityname, bus_name, startname, endname) {
    //alert(city_name+"*"+bus_name+"*"+start_name+"*"+end_name);
    var iframeurl = "/include/correction_bus1.html?" + encodeURI(cityname) + "&&" + encodeURI(bus_name) + "&&" + encodeURI(startname) + "&&" + encodeURI(endname) + "&&" + Math.random();
    showMessageBox("correctErr", '公交纠错', iframeurl, 380, 500, 1, 0);
}
function BusCorrection1(cityname, bus_nm) {
    //alert(Errtype+"--"+poiID+""+poiName+"--"+poiAddress+"--"+poiTel+"--"+cityname);
    var iframeurl = "/include/correction_bus.html?" + encodeURI(cityname) + "&&" + encodeURI(bus_nm) + "&&" + Math.random();
    showMessageBox("correctErr", '公交纠错', iframeurl, 380, 500, 1, 0);
}

function bus_search_around(x, y, cityname, name) {

    var keyword = $('searchRoundName').value;
    if (keyword == '' || keyword == '餐厅，宾馆…') {
        alert("请填写查询关键子，此处不能为空!");
        return;
    }

    location = "/?xy," + cityname + ",," + keyword + "," + x + "," + y + "," + name + ",,,,,,,,,,," + name;
}

function splitLineName(lineName) {
    var name = new Array();
    try {
        var name1 = lineName.split("--");
        var start = getStartNum(name1[0]);
        name[0] = name1[0].substring(start + 1);
        name[2] = name1[0].substring(0, start);
        var end = getEndNum(name1[1]);
        name[1] = name1[1].substring(0, end);
    } catch (e) {
    }
    return name;
}

function getStartNum(str) {
    var start = str.lastIndexOf("(");
    var tmp = str.indexOf(")", start);
    if (tmp != -1) {
        return getStartNum(str.substring(0, start));
    }
    else
        return start;
}

function getEndNum(str) {
    var end = str.indexOf(")");
    var tmp = str.substring(0, end).indexOf("(");
    if (tmp != -1) {
        return end + 1 + getEndNum(str.substring(end + 1));
    }
    else
        return end;
}

function parsePassLineXml(xml) {
    var pass = {};
    pass['lineIds'] = parsePassLine(xml, "BUSINFO_LINEIDS", 26);
    pass['lineNames'] = parsePassLine(xml, "BUSINFO_LINE_NAMES", 29);
    pass['XS'] = parsePassLine(xml, "NAME=\"XS\"", 19);
    pass['YS'] = parsePassLine(xml, "NAME=\"YS\"", 19);
    return pass;
}

function parsePassLine(xml, nameTag, preLength) {
    var pos = xml.search(nameTag);
    var str = xml.substring(pos + preLength, xml.indexOf("]]>", pos + preLength));
    return str;
}

function parseLine(line) {
    var lines = parseStr(line);
    lines.sort(sortfunction);
    return lines;
}

function parseClusterSta(line) {
    var lines = new Array();
    var ids = line['lineIds'].split("|");
    var names = line['lineNames'].split("|");
    for (var i = 0; i < ids.length; i++) {
        lines[i] = new Array();
        var idss = ids[i].split(";");
        var namess = names[i].split(";");
        for (var j = 0; j < idss.length; j++) {
            lines[i][j] = new Array();
            lines[i][j]['lineIds'] = idss[j];
            lines[i][j]['lineNames'] = namess[j];
        }
        if (lines[i].length > 1)
            lines[i].sort(sortfunction);
    }

    return lines;
}

function parseClusterXY(line) {
    var xys = new Array();
    var xs = line['XS'].split("|");
    var ys = line['YS'].split("|");
    for (var i = 0; i < xs.length; i++) {
        xys[i] = new Array();
        xys[i]['x'] = xs[i];
        xys[i]['y'] = ys[i];
    }

    return xys;
}

function parseStr(line) {
    var index = 0;
    var lines = new Array();
    var lineIds = new Array();
    var ids = line['lineIds'].split(";");
    var names = line['lineNames'].split(";");
    for (var i = 0; i < ids.length; i++) {
        var idss = ids[i].split("|");
        var namess = names[i].split("|");
        for (var j = 0; j < idss.length; j++) {
            if (typeof (lineIds[idss[j]]) == "undefined") {
                lineIds[idss[j]] = idss[j];
                lines[index] = new Array();
                lines[index]['lineIds'] = idss[j];
                lines[index]['lineNames'] = namess[j];
                index++;
            }
        }
    }
    lineIds.length = 0;

    return lines;
}

function buildPassLine(passLine, type, address, tel, data_citycode, x, y, name) {
    var str = "";
    if (passLine == null) {
        //str += "<br>";
        if (!type == "" && type != null) {
            str += "<font color='#000000'>类型：" + type + "</font><br/>";
        }
        if (!address == "" && address != null) {
            str += "<font color='#000000'>地址：" + address + "</font><br/>";
        }
        if (!tel == "" && tel != null) {
            str += "<font color='#000000'>电话：" + tel + "</font><br/>";
        }
        str += buildSearchRoundCode(x, y, data_citycode, name);
    }
    else {
        var passLineArray = parseLine(passLine);
        if (!type == "" && type != null) {
            str += "<table width=\"260px\"><tr><td colspan=2><font color='#000000'>类型：" + type + "</font></td></tr>";
        }
        str += buildPassLineStr(passLineArray, data_citycode);
        str += buildSearchRoundCode(x, y, data_citycode, name);
        str += "</table>";
    }
    return str;
}

