百度地图API 怎么显示多条公交线路

发布于 2022-09-02 11:01:38 字数 859 浏览 13 评论 0

    var busline = new BMap.BusLineSearch(map,{
        renderOptions:{map:map,panel:"r-result"},
        onGetBusListComplete: function(result){
            if(result) {
                var fstLine = result.getBusListItem(0);//获取第一个公交列表显示到map上
                busline.getBusLine(fstLine);
            }
        }
    });

    var busline1 = new BMap.BusLineSearch(map,{
        renderOptions:{map:map,panel:"r-result"},
        onGetBusListComplete: function(result){
            if(result) {
                var fstLine = result.getBusListItem(0);//获取第一个公交列表显示到map上
                busline1.getBusLine(fstLine);
            }
        }
    });
    function busSearch(){
        var busName = 331;
        busline.getBusList(busName);
        busline1.getBusList(659);
    }
    setTimeout(function(){
        busSearch();
    },1500);

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

东北女汉子 2022-09-09 11:01:38

刚好也需要这个功能,拿去用,不用谢。
http://www.mayday.net.cn/tmp-...

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <style type="text/css">
        html,
        body{
            height: 100%;
        }
        body{
            margin: 0;
            font-size: 14px;
        }
        #tmdMap{
            height: 100%;
        }
        #tmdSet{
            position: absolute;
            right: 0;
            top: 46px;
            width: 100px;
            background: #fff;
            border-top: solid 1px;
            border-left: solid 1px;
            border-bottom: solid 1px;
            padding: 10px;

        }
        #tmdSet label{
            margin-bottom: 10px;
            display: block;
        }
        #tmdSet input,
        #tmdSet select
        {
            width: 100%;
        }
    </style>
    <script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=IgnZ4taUjaliYvT1wIFX7mi2"></script>
</head>
<body>

<div id="tmdMap"></div>
<div id="tmdSet">
    <label>
        公交线路
        <input type="text" value="11" id="busList">
    </label>
    <label>
        上下行
        <select id="busListItem">
            <option value="0">上行</option>
            <option value="1">下行</option>
        </select>
    </label>
    <label>
        线的颜色
        <input type="color" id="strokeColor" value="#FF0000">
    </label>
    <label>
        线的宽度
        <input type="number" id="strokeWeight" min="1" value="7">
    </label>
    <label>
        线的透明度
        <input type="number" id="strokeOpacity" step="0.1" value="0.7">
    </label>
    <label>
        线的样式
        <select id="strokeStyle">
            <option value="solid">实线</option>
            <option value="dashed">虚线</option>
        </select>
    </label>
    <button id="busListBtn">新增</button>
</div>

<script type="text/javascript">
    // 百度地图API功能
    var map = new BMap.Map("tmdMap");            // 创建Map实例
    map.centerAndZoom('福州');
    map.enableScrollWheelZoom();
    map.enableKeyboard();
    map.enableInertialDragging();


    map.addControl(new BMap.CityListControl({
        anchor: BMAP_ANCHOR_TOP_RIGHT
    }));
    map.addControl(new BMap.NavigationControl({
        anchor: BMAP_ANCHOR_BOTTOM_RIGHT
    }));

    var myIcon = new BMap.Icon("http://api0.map.bdimg.com/images/stop_icon.png", new BMap.Size(11,11));

    var ele = function (id) {
        return document.getElementById(id);
    };
    var getPolylineOptions = function () {
        return {
            strokeColor: ele('strokeColor').value,
            strokeWeight: ele('strokeWeight').value,
            strokeOpacity: ele('strokeOpacity').value,
            strokeStyle: ele('strokeStyle').value
        }
    };

    var bus = new BMap.BusLineSearch(map, {
        onGetBusListComplete: function(result){
            var busListItem = ele('busListItem').value;
            var fstLine = result.getBusListItem(busListItem);//获取第一个公交列表显示到map上
            bus.getBusLine(fstLine);
        },
        onGetBusLineComplete: function (busline) {
            var polyline = new BMap.Polyline(busline.getPath(), getPolylineOptions());
            map.addOverlay(polyline);

            var num = busline.getNumBusStations();
            for (var i=0; i<num; i++) {
                var busStation = busline.getBusStation(i);

                var marker = new BMap.Marker(busStation.position, {icon:myIcon});
                map.addOverlay(marker);
            }
        }
    });


    ele('busListBtn').addEventListener('click', function () {

        bus.getBusList(ele('busList').value);
    });

</script>

</body>
</html>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文