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再次获取,每页结果加载完成都会调用回调函数