zoukankan      html  css  js  c++  java
  • 【百度地图API】如何制作公交线路的搜索?如331路

    摘要:

      从A点到B点的公交导航大家都知道怎么做了,那么单独查询331路公交车的公交路线,如何制作呢?我们一起来学习一下~

    -----------------------------------------------------------------------------------------------------------------

    一、创建地图和网页样式

    两句话建立地图:

    var map = new BMap.Map("container");
    map.centerAndZoom(
    new BMap.Point(116.322, 40.003), 12);

      

    然后把网页结构搭建好。有一张图片,一个文本框,一个按钮。还有一张地图。

    CSS样式我就直接给出了,这里就不多说了。大家可以去W3Cschool学习~~这是我最爱的网站:http://www.w3school.com.cn/css/index.asp

    <!DOCTYPE html>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
    <title>搜索331路公交</title>
    <script type="text/javascript" src="http://api.map.baidu.com/api?v=1.2"></script>
    </head>
    <body>
    <p><img src="http://map.baidu.com/img/logo-map.gif" /><span style="display:inline-block;200px;">&nbsp;</span><input type="text" value="331" id="busId" />路公交&nbsp;<input type="button" value="查询" onclick="busSearch();" /></p>
    <div style="clear:both">&nbsp;</div>
    <div style="float:left;600px;height:500px;border:1px solid gray" id="container"></div>
    <div id="results" style="float:left;300px;height:500px;font-size:13px;"></div>
    </body>
    </html>
    <script type="text/javascript">
    var map = new BMap.Map("container");
    map.centerAndZoom(
    new BMap.Point(116.322, 40.003), 12);
    </script>

      

    效果图:

    二、公交线路接口

    先来看看百度地图API给出的接口类参考:

    使用构造函数,创建一个公交线路的查询。并在renderOptions里设置查询成功后,结果的展示。

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

      

    创建一个函数,获取到文本框中输入的“331”路公交车,(还可以输入104,或者987,注意,只能支持数字)然后,执行查询。

    function busSearch(){
    var busName = document.getElementById("busId").value;
    busline.getBusList(busName);
    }

      

    效果图:

    全部源代码:

    <!DOCTYPE html>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
    <title>搜索331路公交</title>
    <script type="text/javascript" src="http://api.map.baidu.com/api?v=1.2"></script>
    </head>
    <body>
    <p><img src="http://map.baidu.com/img/logo-map.gif" /><span style="display:inline-block;200px;">&nbsp;</span><input type="text" value="331" id="busId" />路公交&nbsp;<input type="button" value="查询" onclick="busSearch();" /></p>
    <div style="clear:both">&nbsp;</div>
    <div style="float:left;600px;height:500px;border:1px solid gray" id="container"></div>
    <div id="results" style="float:left;300px;height:500px;font-size:13px;"></div>
    </body>
    </html>
    <script type="text/javascript">
    var map = new BMap.Map("container");
    map.centerAndZoom(
    new BMap.Point(116.322, 40.003), 12);

    var busline = new BMap.BusLineSearch(map,{
    renderOptions:{map:map,panel:
    "results"},
    onGetBusListComplete:
    function(result){
    if(result) {
    var fstLine = result.getBusListItem(0);//获取第一个公交列表显示到map上
    busline.getBusLine(fstLine);
    }
    }
    });
    function busSearch(){
    var busName = document.getElementById("busId").value;
    busline.getBusList(busName);
    }
    </script>

      

  • 相关阅读:
    开发了那么多项目,你能自己手写个健壮的链表出来吗?【华为云技术分享】
    高性能Web动画和渲染原理系列(3)——transform和opacity为什么高性能【华为云技术分享】
    pringBoot-MongoDB 索引冲突分析及解决【华为云技术分享】
    成为高手前必懂的TCP干货【华为云技术分享】
    Python爬虫从入门到精通——基本库re的使用:正则表达式【华为云技术分享】
    【我的物联网成长记2】设备如何进行选型?【华为云技术分享】
    多云架构落地设计和实施方案【华为云技术分享】
    dom的节点操作
    节点访问关系
    封装class类--分割类名后
  • 原文地址:https://www.cnblogs.com/milkmap/p/2178553.html
Copyright © 2011-2022 走看看