百度地图获取本地搜索(LocalSearch)全部结果并显示标注

业务需求:获取一定范围内百度地图中所有店面

(以下代码实现的‘一定范围’指圆,显示某检索值下所有地图返回的店面)

 


        var circle = new BMap.Circle(point,1000,{fillColor:"blue", strokeWeight: 1 ,fillOpacity: 0.3, strokeOpacity: 0.3});
        map.addOverlay(circle);
        circle.disableMassClear();
        var ResultArray = [];
        var local1 = new BMap.LocalSearch(
            map,
            {
                renderOptions : {
                    map : map,
                    // panel : "content"
                },onMarkersSet:function (array) {
                    console.log(array);
                },
                onInfoHtmlSet:function (LocalResultPoi) {
                    console.log(LocalResultPoi);
                },
                onResultsHtmlSet:function (element) {
                    console.log(element);
                },
                onSearchComplete : function(results) {

                    // 需要获取当前搜索总共有多少条结果
                    var totalPages = results.getNumPages();
                    var currPage = results.getPageIndex();// 获取当前是第几页数据
                    if (currPage 

注:代码里point,map没有给,请用自己的。另外由于本人使用react,所以不提供完整代码啦。(这只是测试用代码实际使用请自行修改,还有就是大量标注点导致的卡顿问题...)

排坑:

local虽然提供了getResults方法,但在类参考中并没有提供获取当页列表的方法。代码中使用getResults().Br获取,希望有会获取的大佬分享下

建议每页容量不要超过50

最后效果

百度地图获取本地搜索(LocalSearch)全部结果并显示标注_第1张图片

参考文章:获取本地搜索全部结果

百度地图提供的接口

你可能感兴趣的:(JavaScript,百度地图)