为了账号安全,请及时绑定邮箱和手机立即绑定

百度地铁图JS API使用

标签:
JavaScript

https://img1.sycdn.imooc.com//5d3159750001dac309980521.jpg

地铁路线规划 嘉定西到虹桥火车站

调用百度地铁图JS API示例

  • 1使用之前也要申请百度地图JavaScript AP ak

  • 2 添加一个div容器,用于地图的渲染位置

<div>
           <select id=city>
             <div>
               <span>起始位置:</span>
                <input type="text" id=startname value="起点"/>
                =>                <span>终点位置:</span>
                <input type="text" id=endname value="终点"/>
                <input type="button" id=btn value="搜索路线">
             </div>                                                   
         </select>
    </div>
    <div><span>地铁图</span></div><div id="container"></div>

3 代码

<script type="text/javascript">var list = BMapSub.SubwayCitiesList;var subway ;
$(function(){
  InitSelect(list);//初始化城市选择框
  InitMap(131,null);
   
});  //城市选择框改变事件,用于城市地图切换
   $("#city").change(function(){     //var a =  $("#city :selected").text();
     //console.log(a);
        InitMap($("#city").val(),"西单");
    });    //初始化城市选择框
  function InitSelect(list){  
    for (var key in list) {            var obj = document.getElementById("city");  
            var option = document.createElement("option");//创建option节点  
            option.innerText = list[key].name;  
            option.value=list[key].citycode;
            obj.appendChild(option);  
   }  
  }; // 获取地铁数据-初始化地铁图
 function InitMap(citycode,startname){  
   subway = new BMapSub.Subway('container',citycode);
  subway.setZoom(0.7);  var zoomControl  = new BMapSub.ZoomControl({        anchor: BMAPSUB_ANCHOR_TOP_LEFT,        offset: new BMapSub.Size(10,100)
    });
    subway.addControl(zoomControl);    //添加站名点击事件
    subway.addEventListener('tap', function(e) {        ///alert('您点击了"' + e.station.name + '"站');
        var marker = new BMapSub.Marker(e.station.name);//, {icon: startIcon}
        subway.addMarker(marker);
        subway.setCenter(e.station.name)        var a=$("#startname").val();        var b=$("#endname").val();        if(a==""||a=="起点"){
          $("#startname").val(e.station.name);
        }        else
        {
          $("#endname").val(e.station.name);
        }  
      subway.setZoom(0.7);         
    });    if(startname!=null){    var marker = new BMapSub.Marker(startname);//, {icon: startIcon}
    subway.addMarker(marker);
    subway.setCenter(startname);
    subway.setZoom(1.5);
    }
   
 };
 
 $("#btn").click(function(){//alert("点击事件");
 var drct = new BMapSub.Direction(subway,false); 
 var a=$("#startname").val(); var b=$("#endname").val();
  drct.search(a, b);
 }); 
 </script>

https://img1.sycdn.imooc.com//5d3159820001188010000527.jpg

asd.gif



作者:凌雲木
链接:https://www.jianshu.com/p/1148965b8055


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消