日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

js中百度地图API获取本地搜索全部结果自定义显示效果

發布時間:2023/12/15 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 js中百度地图API获取本地搜索全部结果自定义显示效果 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

最近碰到一個關于百度地圖api的問題:

1、首先我需要獲取到一個本地搜索的全部結果;

2、然后需要對獲取的結果信息進行讀取以及對這些信息的個性化展示

大致操作如下,首先通過result.getNumPois()獲取本次搜索全部結果記錄數,但是這個結果無法直接全部取到,因為通過getPoi(index)方法只能獲取當前頁面的幾條數據,所以,我們需要考慮如何將當前頁面改變,能達到遍歷結果所有頁面數據的效果,但是很無奈,百度給的api并沒有這樣的方法。經過千辛萬苦,各種百度查詢,終于找到一種方式,就是在每次獲取一個頁面的數據之后,需要使用LocalSearch的gotoPage(PageIndex)重新調處下一頁的數據。

大致代碼結構如下。

var local1 = new BMap.LocalSearch(map,{renderOptions : {map : map,// panel : "resultDiv"},onSearchComplete : function(results) {// 需要獲取當前搜索總共有多少條結果var totalResults = results.getNumPois(); var totalPages = results.getNumPages();var currPage = results.getPageIndex();// 獲取當前是第幾頁數據// alert("totalResults:" + totalResults);for (i = 0; i < results.getCurrentNumPois(); i++) {//resultArray[50 * currPage + i] = results.getPoi(i);//在當前頁面下獲取頁面中的內容}if (results.getPageIndex() < results.getNumPages() - 1) { local1.gotoPage(results.getPageIndex() + 1); // 遍歷到最后一頁之后不再進行下一頁搜索,此時,已經獲取到全部的搜索結果, } else {// 已經到達最后一頁結果 alert("全部結果有:" + resultArray.length + "------原本搜索結果有:" + results.getNumPois()); //本實例中是要使用resultArray存儲所有檢索結果,在此else分支對存儲的結果數據進行頁面展示 }},pageCapacity : 50});local1.searchNearby('景點', pp, 2000);


在代碼片段中,else分支便可以添加自己的處理代碼,且能夠完全獲取到檢索的結果,

這樣,我可以對檢索結果進行布局設置,控制顯示格式,添加動作響應等比較復雜的操作。

//注,代碼片段無法直接運行,需要根據實際進行修飾才能使用。




總結

以上是生活随笔為你收集整理的js中百度地图API获取本地搜索全部结果自定义显示效果的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。