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

摘要:

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

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

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

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

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

if(cPNum > ){                str += '<ul class="result">';                temp.mk = [];                for(var i=;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(,-)});                    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:;padding:;}    .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 > ){                    pageStr += '<div class="pageList">';                    for(var i =;i<pageNum;i++){                        var j = i+;                        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>

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

  1. Android通过百度地图API用Service和Alarm在后台定时获取地理位置信息

    本文主要介绍了Android项目集成百度地图API,使用AlarmManager定时调用Service,在Service中请求坐标更新,并通过坐标得到省.市和县三级地理位置信息的方法. 程序结构很简单 ...

  2. 【百度地图API】如何制作自定义样式的公交导航结果面板?

    原文:[百度地图API]如何制作自定义样式的公交导航结果面板? 摘要: 百度地图API有默认的公交导航结果面板,但样式比较单一:而百度地图上的结果面板就比较美观.如何利用百度地图API来制作一个比较美 ...

  3. 百度地图api的覆盖物样式与bootstrap样式冲突解决办法

    使用百度地图api 和 bootstrap ,发现标注样式出现了问题 label左侧 宽度变得非常窄 正常情况下应该是下面这样的: 原因是boostrap样式和百度地图样式冲突了. 解决办法: .ba ...

  4. 百度地图api简单使用方法

    百度地图API的使用方法   百度地图API 开始学习百度地图API最简单的方式是看一个简单的示例.以下代码创建了一个520x340大小的地图区域并以天安门作为地图的中心: 1. <html&g ...

  5. 百度地图API的使用方法

    百度地图API 开始学习百度地图API最简单的方式是看一个简单的示例.以下代码创建了一个520x340大小的地图区域并以天安门作为地图的中心: 1. <html> 2. <head& ...

  6. 百度地图API开发指南

    简介什么是百度地图API? 百度地图API是一套由JavaScript语言编写的应用程序接口,它能够帮助您在网站中构建功能丰富.交互性强的地图应用.百度地图API包含了构建地图基本功能的各种接口,提供 ...

  7. 百度地图API使用介绍

    百度地图API 开始学习百度地图API最简单的方式是看一个简单的示例.以下代码创建了一个520x340大小的地图区域并以天安门作为地图的中心: 1. <html> 2. <head& ...

  8. H5微信通过百度地图API实现导航方式一

    根据业务需求修改百度API,实现微信中的导航功能.因为源码中SearchInfoWindow_min.js有点小问题(部分小城市公交线路少,查不到路线时没有提示),所以这里在源码的基础上改了一点点.可 ...

  9. 百度地图API的使用

    ------------------自说自话----------------------------- 好奇怪,习惯性使用有道云笔记记录心得与知识后就很少用博客园来记录了. 但是后来想想,有些东西还是 ...

随机推荐

  1. Oracle 重建索引脚本

    该指数是一个有力的武器,以提高数据库的查询性能. 没有索引,喜欢同样的标签库没有书籍,找书,他们想预订比登天还难.中,尤其是在批量的DML的情形下会产生对应的碎片.以及B树高度会发生对应变化.因此能够 ...

  2. 原生js判断css动画结束 css 动画结束的回调函数

    原文:原生js判断css动画结束 css 动画结束的回调函数 css3 的时代,css3--动画 一切皆有可能: 传统的js 可以通过回调函数判断动画是否结束:即使是采用CSS技术生成动画效果,Jav ...

  3. 系列三VisualSvn Server

    原文:系列三VisualSvn Server VisualSvn Server介绍 1 .VisualSvn Server  VisualSvn Server是免费的,而VisualSvn是收费的.V ...

  4. linux权限和ntfs知识文件系统权限

    左右ntfs权限的问题 文件权限: [-dcbps][u:rwx][g:rwx][a:rwx] 当中: r=4, w=2, x=1,  u=owner, g=group, a=all user     ...

  5. Linux-2.6.32内核编译流量计数器nfacct

    最近一直想看到一本书<一个Jiegeng华>.而技术不依赖书.但是,这并不表示我IT技术没有兴趣.事实证明,,当我无法理解的沧桑.肮脏的领导者无法理解的心理.自我可惜无法理解它处处感受到脏 ...

  6. Wpf ScrollViewer with WrapPanel 使用鼠标滚轮水平滚动内容

    为WrapPanel添加水平滚动条,当禁用垂直滚动条后使用鼠标无法滚动,竟然还需要自己写代码来实现,真真是挺无语呢,不知道算不算是一个bug. <Grid Background="Tr ...

  7. 第四章——SQLServer2008-2012资源及性能监控(1)

    原文:第四章--SQLServer2008-2012资源及性能监控(1) 性能优化的第一步是发现问题,而发现问题通常又有两类:突发问题的侦测和常规问题的侦测,对于常规问题的侦测,通常需要有一个长效的性 ...

  8. Visual Studio 2015使用EF6的ModelFirst模式添加实体数据模型缺少tt文件问题

    在看实体框架 (EF) 入门的时候,当按照样例做到ModelFirst的时候出问题了 这是使用vs2015新建的实体数据模型 这是官网样例 对比样例截图,会发现里面缺少.tt的文件.最重要的是最终代码 ...

  9. MEF初体验之三:Exports声明

    组合部件通过[ExportAttribute]声明exports.在MEF中,有这么几种成员可声明exports的方式:组合部件(类).字段.属性和方法.我们来看下ExportAttribute类的声 ...

  10. gradle中使用cobertura做代码覆盖(转)

    gradle很好用,但是默认是没有代码覆盖功能的,只好自己写.曾经在网上找到过别人的一段脚本,虽然也能用,但是有一些不爽的地方,一个原因是它不支持对层级工程中全部代码的覆盖,另一个原因是它用替换bui ...