【百度地图API】如何调整结果面板的样式?如何获取指定页码的结果?

简介: 原文:【百度地图API】如何调整结果面板的样式?如何获取指定页码的结果?摘要: 1、你是否想自定义查询后,结果面板的显示样式? 2、数据接口每次只返回10条结果,如何取到单独每一页的结果? ---------------------------------------------------...
原文: 【百度地图API】如何调整结果面板的样式?如何获取指定页码的结果?

摘要:

1、你是否想自定义查询后,结果面板的显示样式?

2、数据接口每次只返回10条结果,如何取到单独每一页的结果?

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

一、如果自定义结果面板的样式?

我们通过数据接口拿到每一条数据,然后塞到自己想要的html结构里,如下:

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>

这样就有现在的样式:

img_bbccef416dedcb16c0e4e3a5b96e904e.jpg

二、接下来是页码显示的部分。

当鼠标点击页码的时候,就获取该页的十条数据。onclick="l_search.gotoPage(i)"

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;

三、全部源代码如下,点击这里运行。

<! 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 >
目录
打赏
0
0
0
0
216
分享
相关文章
百科-百度免费API接口教程
该接口用于从百度百科获取指定名词的基础解释。支持POST或GET请求,需提供用户ID、用户KEY及查询内容。返回状态码和解释内容或错误提示。示例:https://cn.apihz.cn/api/zici/baikebaidu.php?id=88888888&key=88888888&words=汽车。建议使用个人ID与KEY以享受更高调用频次。
|
6月前
|
API
表情包-百度版免费API接口教程
该接口用于通过指定关键词从百度渠道获取表情包,支持POST或GET请求。需提供用户ID和KEY,可选参数包括关键词、页码及结果数量。返回数据包含状态码、信息提示、结果集等。示例中ID与KEY为公共测试用,建议使用个人ID与KEY以享受更高调用频率。
|
6月前
|
API
通用图片搜索-百度源免费API接口教程
该接口用于搜索百度图片,支持通过关键词、页码、结果数量等参数获取图片搜索结果。请求方式为POST或GET,需提供用户ID和KEY,可选参数包括关键词、页码、结果数量及返回源类型。返回结果包含状态码、信息提示、结果集、当前页码、最大页码和结果数量。示例中提供了GET和POST请求方法及返回数据示例。
百度地图JavaScript API v2.0创建地图
百度地图JavaScript API v2.0创建地图
109 0
vue 使用 vue-jsonp 解决跨域请求问题(访问百度地图API)
vue 使用 vue-jsonp 解决跨域请求问题(访问百度地图API)
447 0
技术心得记录:如何使用google地图的api(整理)
技术心得记录:如何使用google地图的api(整理)
786 0
|
11月前
|
详尽分享百度翻译api
详尽分享百度翻译api
193 0
Angular 调用导入百度地图API接口,2024春招BAT面试真题详解
Angular 调用导入百度地图API接口,2024春招BAT面试真题详解
1688API最新指南:商品详情接口接入与应用
本指南介绍1688商品详情接口的接入与应用,该接口可获取商品标题、价格、规格、库存等详细信息,适用于电商平台开发、数据分析等场景。接口通过商品唯一标识查询,支持HTTP GET/POST请求,返回JSON格式数据,助力开发者高效利用1688海量商品资源。
京东API接口最新指南:店铺所有商品接口的接入与使用
本文介绍京东店铺商品数据接口的应用与功能。通过该接口,商家可自动化获取店铺内所有商品的详细信息,包括基本信息、销售数据及库存状态等,为营销策略制定提供数据支持。此接口采用HTTP请求(GET/POST),需携带店铺ID和授权令牌等参数,返回JSON格式数据,便于解析处理。这对于电商运营、数据分析及竞品研究具有重要价值。
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等