最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

通过百度地图获取公交线路的站点坐标的js代码_javascript技巧

来源:动视网 责编:小采 时间:2020-11-27 21:03:10
文档

通过百度地图获取公交线路的站点坐标的js代码_javascript技巧

通过百度地图获取公交线路的站点坐标的js代码_javascript技巧:最近做百度地图的模拟数据,需要获取某条公交线路沿途站点的坐标信息,貌似百度没有现成的API,因此做了一个模拟页面,工具而已,IE6/7/8不支持 代码如下: 获取公交站点坐标 html,body{ height: 100%;} #results,#coordinate{ d
推荐度:
导读通过百度地图获取公交线路的站点坐标的js代码_javascript技巧:最近做百度地图的模拟数据,需要获取某条公交线路沿途站点的坐标信息,貌似百度没有现成的API,因此做了一个模拟页面,工具而已,IE6/7/8不支持 代码如下: 获取公交站点坐标 html,body{ height: 100%;} #results,#coordinate{ d


最近做百度地图的模拟数据,需要获取某条公交线路沿途站点的坐标信息,貌似百度没有现成的API,因此做了一个模拟页面,工具而已,IE6/7/8不支持
代码如下:




获取公交站点坐标








(function(){
var tempVar;
var busline = new BMap.BusLineSearch('武汉',{
renderOptions:{panel:"results"},
onGetBusListComplete: function(result){
if(result) {
tempVar = result;//此时的结果并不包含坐标信息,所以getCoordinate函数不能在此调用。通过跟踪变量,坐标是在onGetBusListComplete之后才被百度的包添加进来的
busline.getBusLine(result.getBusListItem(0));
}
},
// api文档中一共有四个回调,除了onGetBusListComplete和onBusLineHtmlSet之外,还有onBusListHtmlSet和onGetBusLineComplete,
// 经过测试只有在onBusLineHtmlSet这一步(线路格式化完毕)的时候,才会将坐标添加到tempVar中
// 所以上面busline.getBusLine(result.getBusListItem(0));是必须的,不然没有办法获得坐标列表
onBusLineHtmlSet : function(){
try{
getCoordinate(tempVar);
}catch(e){
}
}
});
function getCoordinate(result){
var coordinate = document.getElementById("coordinate");
var stations = result['0']._stations;
var html = [];
stations.forEach(function(item){
html.push('
  • ' + item.name + ' ' + item.position.lng + ' ' + item.position.lat + '
  • ');
    });
    coordinate.innerHTML = '' + html.join('') + '';
    }
    document.getElementById('btn-search').onclick = function(){
    busline.getBusList(document.getElementById("busId").value);
    }
    })();




    获取反向线路的话就把var stations = result['0']._stations;改为var stations = result[xx]._stations;整理了一下:
    代码如下:




    获取公交站点坐标








    var global = {};
    global.tempVar = {};
    global.index = 0;
    global.lineNo = 0;
    var busline = new BMap.BusLineSearch('武汉',{
    renderOptions:{panel:"results"},
    onGetBusListComplete: function(result){
    if(result) {
    global.tempVar = result;
    }
    },
    onBusLineHtmlSet : function(){
    try{
    getCoordinate(global.tempVar);
    }catch(e){
    }
    }
    });
    function $$(id){
    return document.getElementById(id);
    }
    function getCoordinate(result){
    var coordinate = $$("coordinate");
    var stations = result[global.index]._stations;
    var html = [];
    stations.forEach(function(item,index){
    html.push('
  • ' + global.lineNo + '#' + global.index + '#' + index + '#' + item.name + '#' + item.position.lng + '#' + item.position.lat + '
  • ');
    });
    coordinate.innerHTML = '' + html.join('') + '';
    }
    $$('btn-search').onclick = function(){
    global.lineNo = $$("busId").value;
    busline.getBusList(global.lineNo);
    }
    $$('results').addEventListener('click',function(event){
    var target = event.target;
    if('a' == target.tagName.toLowerCase() && 'dt' == target.parentNode.tagName.toLowerCase()){
    event.preventDefault();
    var tempHtml = target.parentNode.innerHTML;
    var indexOfValue = tempHtml.indexOf('_selectBusListItem(');
    global.index = - ( - tempHtml.substring(indexOfValue + '_selectBusListItem('.length,indexOfValue + '_selectBusListItem('.length + 1) );
    busline.getBusLine(global.tempVar.getBusListItem(global.index));
    }
    },false);




    来自小西山子

    文档

    通过百度地图获取公交线路的站点坐标的js代码_javascript技巧

    通过百度地图获取公交线路的站点坐标的js代码_javascript技巧:最近做百度地图的模拟数据,需要获取某条公交线路沿途站点的坐标信息,貌似百度没有现成的API,因此做了一个模拟页面,工具而已,IE6/7/8不支持 代码如下: 获取公交站点坐标 html,body{ height: 100%;} #results,#coordinate{ d
    推荐度:
    • 热门焦点

    最新推荐

    猜你喜欢

    热门推荐

    专题
    Top