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

原文:【百度地图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>

这样就有现在的样式:

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

当鼠标点击页码的时候,就获取该页的十条数据。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>

时间: 2024-09-30 15:10:02

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

百度地图API使用介绍

百度地图API 开始学习百度地图API最简单的方式是看一个简单的示例.以下代码创建了一个520x340大小的地图区域并以天安门作为地图的中心: 1. <html> 2. <head> 3. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 4. <title>Hello, World</title> 5. <sc

数据视化Echarts+百度地图API实现市县区级下钻

开始 这两天公司有个页面需要做数据可视化的展示,数据视化采用的是Echarts+百度地图API做展示,需要用到县级区级下钻的一个联动效果发现网上关于Echarts做到县区级下钻的资料很少,有的话也不是很详细,对于刚接触Echarts的让人来说可能有些搞不明白,在这里我把Echarts下钻开发过程中总结的知识分享给大家,也能使自己加深印象,当然啦,对于一些在软件行业折腾了几年的老油条来说,这些都是一些非常基础的东西.但是还是希望能帮助到那些刚接触Echarts遇到类似问题需要帮助的人.如果哪里写的

百度地图API和高德地图API资料集锦

[高德地图API]从零开始学高德JS API(五)路线规划--驾车|公交|步行 [高德地图API]从零开始学高德JS API(四)搜索服务--POI搜索|自动完成|输入提示|行政区域|交叉路口|自有数据检索 [高德地图API]从零开始学高德JS API(三)覆盖物--标注|折线|多边形|信息窗口|聚合marker|麻点图|图片覆盖物 [高德地图API]从零开始学高德JS API(二)地图控件与插件--测距.圆形编辑器.鼠标工具.地图类型切换.鹰眼鱼骨 [高德地图API]从零开始学高德JS API

如何在网页中调用百度地图api

我想在木有提供地图接口的年代,前端工程师门要么只写上企业的具体地址,要么就是用一张标有自己位置的地图图片.但是现在不一样啦!为了增强用户体验,谷歌,甚至百度都很开放了,你可以在他们的网站上找到地图接口,通过进行直接的调用就可以了. 下面我来教你怎么在网页中用好百度地图,当然了,你也可以去百度地图网站去查找相关的技术资料. 首先你需要进入到百度地图官网http://developer.baidu.com/map/ .因为我们是用的脚本进行加载的,所以我们要选择上图中的第一个"javascript 

百度地图API —— 制作多途经点的线路导航

[百度地图API]如何制作多途经点的线路导航--驾车篇 摘要: 休假结束,酸奶小妹要从重庆驾车去北京.可是途中要去西安奶奶家拿牛奶饼干呢!用百度地图API,能不能帮我实现这个愿望呢? ------------------------------------------------------------------------------------------------------------------------ 一.创建地图 首先要告诉大家的是,API1.2版本取消密钥,取消服务设置,

关于调用百度地图api行政区域白色遮罩问题

要求:行政区域的划分(以贵州省为例) 百度api代码: <script type="text/javascript"> // 百度地图API功能 var map = new BMap.Map("allmap"); map.centerAndZoom(new BMap.Point(116.403765, 39.914850), 5); map.enableScrollWheelZoom(); function getBoundary(){ var bdar

百度地图API的使用方法

全文 : http://www.cnblogs.com/xuhongfei/archive/2013/04/10/3011964.html 引用百度地图API文件 当您引用地图API文件时,需要使用自己申请的API密钥. 1. <script type="text/javascript" src="http://api.map.baidu.com/api?key=46ce9d0614bf7aefe0ba562f8cf87194&v=1.0&service

基于MFC与第三方类CWebPage的百度地图API开发范例

在进行百度地图API开发之前你需要到http://developer.baidu.com/map申请密匙 密匙申请之后就可以进行百度地图API的开发了. 下面我们以在visual c++6.0里进行地图坐标标注为范例讲解百度地图API开发 1.新建一个工厂MFC工程取名为GeoDemo 2.选择为基于对话框的工程 3.创建成功如下 4.简单调整页面布局 5.在界面插入一个浏览器控件 6.插入之后的效果 7.先运行一下看看 8.接下来我们写一个简单的html页面,代码大概如下 其中也包括一个jav

【百度地图API】如何制作多途经点的线路导航——驾车篇

转:http://www.cnblogs.com/milkmap/archive/2011/08/26/2154627.html 摘要: 休假结束,酸奶小妹要从重庆驾车去北京.可是途中要去西安奶奶家拿牛奶饼干呢!用百度地图API,能不能帮我实现这个愿望呢? ------------------------------------------------------------------------------------------------------------------------