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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

android开发地图找房,androidsdk | 百度地图API SDK

發布時間:2023/12/14 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 android开发地图找房,androidsdk | 百度地图API SDK 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

更新時間:2020-06-23

POI檢索簡介

POI(Point of Interest),即“興趣點”。在地理信息系統中,一個POI可以是一棟房子、一個景點、一個郵筒或者一個公交站等。

百度地圖SDK提供三種類型的POI檢索:城市內檢索、周邊檢索和區域檢索(即矩形區域檢索)。下面分別對三種POI檢索服務的使用方法作說明。

POI城市內檢索(關鍵字檢索)

關鍵字檢索適用于在某個城市內搜索某個名稱相關的POI,例如:查找“北京市”的“小吃”。

示例如下:

1創建POI檢索實例

mPoiSearch = PoiSearch.newInstance();

2創建POI檢索監聽器

OnGetPoiSearchResultListener listener = new OnGetPoiSearchResultListener() {

@Override

public void onGetPoiResult(PoiResult poiResult) {

}

@Override

public void onGetPoiDetailResult(PoiDetailSearchResult poiDetailSearchResult) {

}

@Override

public void onGetPoiIndoorResult(PoiIndoorResult poiIndoorResult) {

}

//廢棄

@Override

public void onGetPoiDetailResult(PoiDetailResult poiDetailResult) {

}

};

3設置檢索監聽器

mPoiSearch.setOnGetPoiSearchResultListener(listener);

4設置PoiCitySearchOption,發起檢索請求

/**

* PoiCiySearchOption 設置檢索屬性

* city 檢索城市

* keyword 檢索內容關鍵字

* pageNum 分頁頁碼

*/

mPoiSearch.searchInCity(new PoiCitySearchOption()

.city("北京") //必填

.keyword("美食") //必填

.pageNum(0));

5釋放檢索實例

mPoiSearch.destroy();

PoiCitySearchOption屬性詳解

除了示例代碼中描述的必填的字段,其他常用字段的介紹如下表所示。

pageNum

分頁編號,默認返回第0頁結果

pageCapacity

設置每頁容量,默認為10條結果

tag

設置檢索分類,如“美食”

scope

值為1 或 空,返回基本信息

值為2,返回POI詳細信息

cityLimit

是否限制檢索區域為城市內

poiFilter

設置檢索過濾條件,scope為2時有效

注:您可以在 Web服務API 頁面查看PoiSearch請求參數和返回參數的詳細內容。

注意事項:

1. POI檢索時,city是必填項。

2. 當輸入的關鍵字在該city檢索無結果,而在其他城市檢索到時,SDK會返回一個CityInfo對象列表,該列表可以通過PoiResult類getSuggestCityList方法獲取。

public List getSuggestCityList()

CityInfo包含城市名和該城市內檢索結果的數量等信息。開發者可以通過該列表進行二次請求。

3. 開發者可以通過設置PoiCitySearchOption對象cityLimit字段為false(默認為true)來擴大檢索范圍,當city內檢索無結果時,會將檢索范圍擴大至全國。

效果如圖:

POI詳情

開發者可以針對PoiCitySearch檢索到的結果進行進一步的檢索以獲取詳細信息。

示例如下:

發起檢索:

//PoiInfo 檢索到的第一條信息

PoiInfo poi = mPoiResult.getAllPoi().get(0);

//通過第一條檢索信息對應的uid發起詳細信息檢索

mPoiSearch.searchPoiDetail((new PoiDetailSearchOption())

.poiUids(poi.uid)); // uid的集合,最多可以傳入10個uid,多個uid之間用英文逗號分隔。

在onGetPoiDetailResult(PoiDetailSearchResult PoiDetailSearchResult)回調方法中處理。

OnGetPoiSearchResultListener listener = new OnGetPoiSearchResultListener() {

......

@Override

public void onGetPoiDetailResult(PoiDetailSearchResult poiDetailSearchResult) {

}

};

注意:自V5.2.0起,Poi詳情檢索的回調方法onGetPoiDetailResult(PoiDetailResult poiDetailResult)方法已廢棄,請使用onGetPoiDetailResult(PoiDetailSearchResult poiDetailSearchResult)方法代替,在檢索時檢索參數必須使用poiUids(poi.uid)。

POI周邊檢索

周邊檢索是在一個圓形范圍內的POI檢索,適用于以某個位置為中心點,自定義搜索半徑,搜索某個位置附近的POI。

設置SearchOption,發起周邊檢索請求示例如下:

/**

* 以天安門為中心,搜索半徑100米以內的餐廳

*/

mPoiSearch.searchNearby(new PoiNearbySearchOption()

.location(new LatLng(39.915446, 116.403869))

.radius(100);

//支持多個關鍵字并集檢索,不同關鍵字間以$符號分隔,最多支持10個關鍵字檢索。如:”銀行$酒店”

.keyword("餐廳")

.pageNum(0));

效果如圖:

POI區域檢索(矩形區域檢索)

POI區域檢索,即“在由開發者指定的西南角和東北角組成的矩形區域內的POI檢索”。

設置PoiBoundsSearchOptions,發起檢索請求示例如下:

/**

* 設置矩形檢索區域

*/

LatLngBounds searchBounds = new LatLngBounds.Builder()

.include(new LatLng( 39.92235, 116.380338 ))

.include(new LatLng( 39.947246, 116.414977))

.build();

/**

* 在searchBounds區域內檢索餐廳

*/

mPoiSearch.searchInBound(new PoiBoundSearchOption()

.bound(searchBounds)

.keyword("餐廳"));

效果如圖:

檢索結果覆蓋物

開發者可以使用自V3.6.0起開源的覆蓋物源代碼來完成Poi檢索結果的展示。

示例如下:

@Override

public void onGetPoiResult(PoiResult poiResult) {

if (poiResult.error == SearchResult.ERRORNO.NO_ERROR) {

mBaiduMap.clear();

//創建PoiOverlay對象

PoiOverlay poiOverlay = new PoiOverlay(mBaiduMap);

//設置Poi檢索數據

poiOverlay.setData(poiResult);

//將poiOverlay添加至地圖并縮放至合適級別

poiOverlay.addToMap();

poiOverlay.zoomToSpan();

}

}

效果如圖:

總結

以上是生活随笔為你收集整理的android开发地图找房,androidsdk | 百度地图API SDK的全部內容,希望文章能夠幫你解決所遇到的問題。

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