日期:2014-05-16 浏览次数:20370 次
API文档:http://developer.baidu.com/map/jshome.htm
但说明不够详细,这里给出一个遍历搜索结果的完整实例。
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <script type="text/javascript" src="http://api.map.baidu.com/api?v=1.3"></script>
(1) 这里需要引用百度地图的API,官方文档
<title>百度地图</title> </head> <body style="overflow: scroll"> <div id="allmap" style="height: 100px"></div>(2)定义保存地图的页面元素
</body> </html> <script type="text/javascript"> var map = new BMap.Map("allmap"); var point = new BMap.Point(116.404, 39.915); map.centerAndZoom(point, 12); map.enableScrollWheelZoom(); </script>
(3) 创建地图对象,并进行初始化,初始化是必要的,否则不能进行任何操作。
<script type="text/javascript"> var ls = new BMap.LocalSearch(map); // 定义每一页结果加载完成的回调函数 function onSearchComplete(result) { var n = result.getNumPois(); var tab = document.getElementById("courtList"); var msg = document.getElementById("errMsg"); var i = 0; for (i = 0; i < result.getCurrentNumPois() ; i++) { var tr = tab.insertRow(tab.rows.length); var poi = result.getPoi(i); tr.insertCell(0).innerText = i + ls.getPageCapacity() * result.getPageIndex(); tr.insertCell(1).innerText = poi.title; tr.insertCell(2).innerText = poi.point.lng; tr.insertCell(3).innerText = poi.point.lat; tr.insertCell(4).innerText = poi.phoneNumber; tr.insertCell(5).innerText = poi.address; tr.insertCell(6).innerText = poi.tags; } // 判断是否到最后一页,如果是则不再搜索 if (result.getPageIndex() < result.getNumPages() - 1) ls.gotoPage(result.getPageIndex() + 1); } ls.setSearchCompleteCallback(onSearchComplete); ls.setPageCapacity(100); ls.search("关键词"); </script>(4) 定义搜索。调用LocalSearch.search方法后只给出第一页的结果,如果要进行后续的查找必须 使用 LocalSearch.gotoPage再次获取,每页结果加载完成都会调用回调函数