
POI(Point of Interest),中文可以翻譯為“興趣點”,興趣點(POI)是地理信息系統中的一個術語,泛指一切可以抽象為點的地理對象,尤其是一些與人們生活密切相關的地理實體,如學校、銀行、餐館、加油站、醫院、超市等。每個POI包含四方面信息,名稱、類別、經度、緯度。POI(興趣點)是有分類的,有一級類、二級類甚至更多類,每個分類都有相應的行業的代碼和名稱對應。方便信息采集的記錄和區分。
興趣點查詢是通用搜索引擎發展到一定階段后,隨着用戶的個性化服務需求而出現的,即是按照用戶的興趣選擇相應類別,查詢相關的POI信息。對於LBS(基於位置的服務)用戶而言,可以通過輸入關鍵字進行屬性查詢,如查詢名為“XXX”的酒店;也可以按范圍和類別進行查詢,如查詢5km范圍內的加油站。興趣點查詢方法類似於Web搜索方法,可采用布爾邏輯模型、向量空間模型和概率模型等數學模型來建立查詢檢索模型。
1、百度POI興趣點索引
注:百度興趣點為三級分類,在后面各類興趣點搜索中,應參考興趣點索引關鍵字進行不同范圍搜索
2、城市興趣點(或關鍵詞)搜索
注:輸入興趣點(參考POI興趣點索引)或關鍵詞(如家樂福、麥當勞等感興趣的詞);鼠標點擊要搜索的城市(北京等大城市需要等幾秒鍾以便回調獲得興趣點信息);點擊“轉換為興趣點信息列表”按鈕獲得信息表。
代碼樣例
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<title>批量獲取模糊搜索地址名稱及坐標</title>
<meta name="Keywords" content="批量,獲取坐標,模糊搜索">
<meta name="Description" content="本網頁提供了批量搜索地名並返回地址及坐標的功能!">
<script type="text/javascript" src="http://api.map.baidu.com/api?v=1.2"></script>
</head>
<body>
<P>搜索城市<input id="txtCity" type="text" value="北京市" /></n>
<p>地名關鍵詞<input id="txtSearch" type="text" value="肯德基" />
<input type="button" value="生成坐標序列" onclick="search()" /> </n>
<p>顯示結果<textarea id="txtResult" rows="10" cols="100" value="" />
</textarea>
<div id="divMap" style="display:none"></div>
<script type="text/javascript">
function $(id){
return document.getElementById(id);//定義$,以便調用
}
var now=new Date();
var map = new BMap.Map("divMap");//創建地圖
function search(){
$("txtResult").value="";
map.clearOverlays(); //清除地圖上所有標記
var c=$("txtCity").value;
var ls = new BMap.LocalSearch(c,{renderOptions:{map:map,selectFirstResult:false,autoViewport:false}});
ls.setPageCapacity(50);
var s=$("txtSearch").value;
ls.search(s);
var i=1;
ls.setSearchCompleteCallback(function(rs){
if (ls.getStatus() == BMAP_STATUS_SUCCESS){
var str ="";
for(j=0;j<rs.getCurrentNumPois();j++) {
var poi=rs.getPoi(j);
str +='(' + i + ',' + j + ')' + poi.title+":" +poi.point.lng+","+poi.point.lat+'\n';
}
$("txtResult").value+= str
if(rs.getPageIndex!=rs.getNumPages()) {
ls.gotoPage(i);
i=i+1;
}
}
});}
</script>
</body>
</html>
3、城市局部興趣點(或關鍵詞)搜索
在全部城市范圍內搜索某個興趣點或關鍵詞,有時返回信息數量過多(1000條)會受到系統的限制。可以縮小搜索范圍,在城市局部搜索興趣點或關鍵詞地理信息。
注:輸入興趣點和城市,同時輸入區域名稱。以哈爾濱市為例,可以輸入“工大、愛建、道外、顧鄉”等區域名稱;或以北京市為例,將興趣點改為“小吃”、區域改為“前門”、城市改為“北京”。輸入完各個參數后,點擊“獲取信息”、然后點擊“轉換為列表”
代碼樣例和上例城市興趣點(或關鍵詞)搜索基本一樣,只把代碼中,
ls.search(s); //s為興趣點
修改為,
ls.searchNearby(keyword,somewhere); //keyword為興趣點、somewhere城市內區域名稱
即可。
4、城市內以某點為圓心、指定半徑圓形區域內興趣點搜索
在一城市內搜索指定原點(經度和緯度坐標)和半徑的圓形區域內的興趣點。