【百度地圖API】如何調整結果面板的樣式?如何獲取指定頁碼的結果?

摘要:javascript

一、你是否想自定義查詢後,結果面板的顯示樣式?css

二、數據接口每次只返回10條結果,如何取到單獨每一頁的結果?html

---------------------------------------------------------java

1、若是自定義結果面板的樣式?api

咱們經過數據接口拿到每一條數據,而後塞到本身想要的html結構裏,以下:ide

if(cPNum > 0){
                str += '<ul class="result">';
                temp.mk = [];
                for(var i=0;i<cPNum;i++){
                    var pInfo = r.getPoi(i);
                    var mk = new BMap.Marker(pInfo.point);
                    mk.addEventListener('onmouseover',function(){
                        this.setTop(true);
                    });
                    mk.addEventListener('onmouseout',function(){
                        this.setTop(false);
                    })
                    map.addOverlay(mk);
                    var lb = new BMap.Label(pInfo.title,{offset:new BMap.Size(10,-20)});
                    mk.setLabel(lb);
                    str += '<li>'+ pInfo.title+'</li>';
                    temp.mk.push(pInfo.point);
                }
                map.setViewport(temp.mk)
                str += '</ul>';       
       
                //這裏略去頁碼顯示部分,只顯示第一頁數據。
 
                $('result').innerHTML = str;
            }

而後再本身給這些生成的html寫上樣式:工具

<style>
    .rsContent{float:left;width:200px;border:#ccc solid 1px;margin-left:5px;display:inline;font-size:12px;line-height:20px;padding:5px;}
    .rsContent ul,.rsContent li{margin:0;padding:0;}
    .result{}
    .result li{list-style-type:none;border-bottom:#ccc solid 1px;}

    .pageList{}
    .pageList a{margin:0 5px;}
</style>

這樣就有如今的樣式:ui

2011042815325232.jpg

2、接下來是頁碼顯示的部分。this

當鼠標點擊頁碼的時候,就獲取該頁的十條數據。onclick="l_search.gotoPage(i)"spa

if(pageNum > 1){
                    pageStr += '<div class="pageList">';
                    for(var i =0;i<pageNum;i++){
                        var j = i+1;
                        if(i != cPage){
                            pageStr += '<a href = "javascript:void(0)" 
                 onclick="l_search.gotoPage('+i+')">' + j + '</a>'
                        }
                        else{
                            pageStr += j;
                        }
                    }
                    pageStr += '</div>';
                } 
          str += pageStr;

3、所有源代碼以下,點擊這裏運行。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<meta name="keywords" content="百度地圖,百度地圖API,百度地圖自定義工具,百度地圖所見即所得工具" />

<meta name="description" content="百度地圖API自定義地圖,幫助用戶在可視化操做下生成百度地圖" />

<title>結果面板樣式+制定頁碼結果</title>

<!--引用百度地圖API-->

<link rel="stylesheet" type="text/css" href="http://api.map.baidu.com/res/11/bmap.css"/>

<script type="text/javascript" src="http://api.map.baidu.com/api?key=67bd734bd2ef5e5ccecfeccbb5a221ee&v=1.1&services=true"></script>

<!--script type="text/javascript" src="http://wxp.baidu.com/bugxiufu/api/api.js"></script-->

<style>

    .rsContent{float:left;width:200px;border:#ccc solid 1px;margin-left:5px;display:inline;font-size:12px;line-height:20px;padding:5px;}

    .rsContent ul,.rsContent li{margin:0;padding:0;}

    .result{}

    .result li{list-style-type:none;border-bottom:#ccc solid 1px;}

    .pageList{}

    .pageList a{margin:0 5px;}

</style>

</head>

<body>

  <!--百度地圖容器-->

  <div style="width:597px;height:550px;border:#ccc solid 1px;float:left;" id="dituContent"></div>

  <div id="result" class="rsContent"></div>    

</body>

<script type="text/javascript">

    function $(id) {

        return document.getElementById(id);

    }    

    var map = new BMap.Map("dituContent");

    var point = new BMap.Point(116.331398,39.897445);

    map.centerAndZoom(point,12);

    map.enableScrollWheelZoom();

    var temp = {};    

    var l_search = new BMap.LocalSearch(map,{

        onSearchComplete : function(r){

            map.clearOverlays();

            var pageNum = r.getNumPages();

            var cPage = r.getPageIndex();

            var cPNum = r.getCurrentNumPois();

            var str = '';

            var pageStr = '';

            if(cPNum > 0){

                str += '<ul class="result">';

                temp.mk = [];

                for(var i=0;i<cPNum;i++){

                    var pInfo = r.getPoi(i);

                    var mk = new BMap.Marker(pInfo.point);

                    mk.addEventListener('onmouseover',function(){

                        this.setTop(true);

                    });

                    mk.addEventListener('onmouseout',function(){

                        this.setTop(false);

                    })

                    map.addOverlay(mk);

                    var lb = new BMap.Label(pInfo.title,{offset:new BMap.Size(10,-20)});

                    mk.setLabel(lb);

                    str += '<li>'+ pInfo.title+'</li>';

                    temp.mk.push(pInfo.point);

                }

                map.setViewport(temp.mk)

                str += '</ul>';

                if(pageNum > 1){

                    pageStr += '<div class="pageList">';

                    for(var i =0;i<pageNum;i++){

                        var j = i+1;

                        if(i != cPage){

                            pageStr += '<a href = "javascript:void(0)" onclick="l_search.gotoPage('+i+')">' + j + '</a>'

                        }

                        else{

                            pageStr += j;

                        }

                    }

                    pageStr += '</div>';

                }                

                str += pageStr;

                $('result').innerHTML = str;

            }
        }

    });

    l_search.search("1");

</script>

</html>
相關文章
相關標籤/搜索