public class PoiQuery
extends java.lang.Object
| 限定符和类型 | 类和说明 |
|---|---|
class |
PoiQuery.Error
搜索错误类型
|
class |
PoiQuery.Event
POI搜索事件类型
|
static interface |
PoiQuery.EventHandler
搜索事件回调接口
|
class |
PoiQuery.HostType
设置的地址Host类型
|
class |
PoiQuery.KeywordType
搜索关键字类型,分为普通关键字和周边关键字两类
|
class |
PoiQuery.PoiQueryParamsType
搜索参数类型
所有设置都会在下一次搜索时生效 |
| 限定符和类型 | 方法和说明 |
|---|---|
void |
cancel()
取消搜索请求[在线]
此方法仅针对在线搜索起作用,会取消搜索请求 |
int |
classifyKeyword(java.lang.String keyword,
java.lang.Object userdata)
检查关键字分类[离线]
普通关键字建议使用 queryByKeyword(String, Point, Object)做搜索周边关键字建议使用 queryNearbyKeyword(String, Point, Object)做搜索 |
void |
cleanup()
清理搜索模块资源
通常在应用程序退出时使用,用来清理搜索引擎所用资源 |
void |
clearResult()
清空搜索结果[在线&离线]
一般是用来释放内存使用,当需要使用大量内存的时候,可以调用此方法释放已经不需要缓存的搜索结果数据 |
int |
getCurrentPageFirstResultIndex()
|
int |
getCurrentPageIndex()
获取当前页码[在线&离线]
不同模式下的页码是独立的 |
int |
getCurrentPageLastResultIndex()
|
static PoiQuery |
getInstance() |
PoiFavoriteInfo |
getOnlineSpecialResult()
返回在线搜索中的特殊结果,一般来说,特殊结果包括公交车站和公交线路[在线]
|
PoiFavoriteInfo |
getResultAsPoiFavoriteInfo(int index)
将结果以POI的形式返回[在线&离线]
|
int |
getResultNumber()
获取当前已经加载的结果数量[在线&离线]
|
SideInfo |
getResultRoutePosition(int index)
获取搜索到的指定索引POI所在位置相对路线的关系信息[离线]
|
java.lang.String |
getRwd(java.lang.String input)
获取联想的候选字[离线]
|
int |
getTotalResultNumber()
获取搜索结果总数[在线&离线]
使用时,可能还需要 loadNextPage(Object)来加载 |
int |
getWmrId()
返回当前搜索时所使用的城市行政区划id[在线&离线]
|
boolean |
hasNextPage()
判断是否有下一页结果[在线&离线]
|
void |
init(PoiQueryInitParams param)
初始化搜索模块
|
boolean |
isInited()
POI搜索模块是否已经初始化
|
void |
loadNextPage(java.lang.Object userdata)
通过回调的形式下载下一页的内容[在线&离线]
下载完后会收到 PoiQuery.Event.pageLoaded消息 |
void |
loadPreviousPage(java.lang.Object userdata)
通过回调的形式下载前一页的内容[在线&离线]
下载后会收到 PoiQuery.Event.pageLoaded消息 |
void |
queryBusStations(java.lang.String keyword,
android.graphics.Point center,
java.lang.Object userdata)
搜索公交站[离线]
|
void |
queryByAddress(java.lang.String keyword,
android.graphics.Point center,
java.lang.Object userdata)
地址关键字搜索[离线]
|
void |
queryByCurrrentRoute(int poiTypeIndex,
android.graphics.Point carPos,
java.lang.Object userdata)
沿路搜索[离线]
路线为当前导航引擎所采纳的路线,所以此方法必须在已经开始导航的情况下使用 |
void |
queryByInitial(java.lang.String initial,
android.graphics.Point center,
java.lang.Object userdata)
首字母搜索[离线]
|
void |
queryByKeyword(java.lang.String keyword,
android.graphics.Point center,
java.lang.Object userdata)
普通关键字查询[在线&离线]
|
void |
queryByRoute(RouteBase routeBase,
int poiTypeIndex,
android.graphics.Point carPos,
java.lang.Object userdata)
沿路搜索[离线]
|
void |
queryCrossRoads(java.lang.String keyword,
android.graphics.Point center,
java.lang.Object userdata)
搜索路线交叉路口[离线]
|
void |
queryNearby(android.graphics.Point center,
int typeIndex,
java.lang.Object userdata)
周边搜索[在线&离线]
|
void |
queryNearbyKeyword(java.lang.String keyword,
android.graphics.Point center,
java.lang.Object userdata)
周边关键字搜索[在线&离线]
这是个有些争议的功能,需求(用户什么情况下需要用这个功能?) |
void |
queryNearbyPoiTypes(android.graphics.Point center,
int[] poiIds,
java.lang.Object userdata)
POI类型码搜索[在线&离线]
|
void |
setCallback(PoiQuery.EventHandler callback)
设置POI搜索回调接口[在线&离线]
|
void |
setQueryParams(int type,
int value)
设置在线搜索时的参数[在线&离线]
|
boolean |
setRegion(java.lang.String region)
利用在线逆地理获取的城市名,设置在线搜索的行政区[在线]
|
boolean |
setWmrId(int id)
为关键字/首字母/地址/交叉路口/公交车站/联想字搜索设置当前城市[在线&离线]
|
void |
setWmrNationWide()
设置全国范围搜索[在线]
|
void |
sortByDefault()
将搜索结果按照默认方式排序[离线]
比如关键字搜索按照相关度排序,周边搜索按照距离排序 |
void |
sortByDistance()
将搜索结果按照距离排序[离线]
|
public static PoiQuery getInstance()
public void init(PoiQueryInitParams param) throws java.lang.Exception
param - 搜索模块参数设置PoiQueryInitParamsjava.lang.Exception - 如果搜索包SDK无授权,将抛出授权错误异常cleanup()init(PoiQueryInitParams)和
cleanup()是成对出现的,且只能在主线程中调用初始化过程。public void cleanup()
init(PoiQueryInitParams)init(PoiQueryInitParams)和
cleanup()是成对出现的,且只能在主线程中调用销毁过程。 清除资源后,会释放逆地理占用的Native资源public boolean isInited()
public void setCallback(PoiQuery.EventHandler callback)
callback - 回调接口PoiQuery.EventHandlerPoiQuery.EventHandlerpublic void setQueryParams(int type,
int value)
type - 需要设置的参数类型PoiQuery.PoiQueryParamsTypevalue - 需要设置的参数的值PoiQuery.PoiQueryParamsTypepublic boolean hasNextPage()
PoiQuery#setMode(int)切换搜索模式时,此方法仅返回当前模式下的结果。
public void loadNextPage(java.lang.Object userdata)
PoiQuery.Event.pageLoaded消息userdata - 回调中的用户数据PoiQuery#setMode(int)切换搜索模式时,此方法仅返回当前模式下的结果。
public void loadPreviousPage(java.lang.Object userdata)
PoiQuery.Event.pageLoaded消息userdata - 回调中的用户数据PoiQuery#setMode(int)切换搜索模式时,此方法仅返回当前模式下的结果。
public int getCurrentPageFirstResultIndex()
PoiQuery#setMode(int)切换搜索模式时,此方法仅返回当前模式下的结果。
public int getCurrentPageLastResultIndex()
PoiQuery#setMode(int)切换搜索模式时,此方法仅返回当前模式下的结果。
public int getCurrentPageIndex()
PoiQuery#setMode(int)切换搜索模式时,此方法仅返回当前模式下的结果。
public void cancel()
public boolean setWmrId(int id)
id - 当前城市的行政区划idpublic boolean setRegion(java.lang.String region)
region - 在线逆地理获取的城市名public void setWmrNationWide()
WorldManager)不要调用此接口,使用
setWmrId(int)来设置全国节点ID,针对离线和在线同时有效。public int getWmrId()
public int classifyKeyword(java.lang.String keyword,
java.lang.Object userdata)
queryByKeyword(String, Point, Object)做搜索queryNearbyKeyword(String, Point, Object)做搜索keyword - 关键字userdata - 回调中的用户数据PoiQuery.KeywordTypepublic void queryByKeyword(java.lang.String keyword,
android.graphics.Point center,
java.lang.Object userdata)
keyword - 关键字center - 搜索中心点的地理坐标。如果传入null,则不依赖于中心点,如果传入非null则依赖中心点userdata - 回调中的用户数据public void queryNearbyKeyword(java.lang.String keyword,
android.graphics.Point center,
java.lang.Object userdata)
keyword - 关键字center - 搜索中心点,用于计算到POI的距离userdata - 回调中的用户数据public void queryNearbyPoiTypes(android.graphics.Point center,
int[] poiIds,
java.lang.Object userdata)
center - 搜索中心点,用于计算到POI的距离poiIds - 要搜索的POI类型码数组userdata - 回调中的用户数据public void queryNearby(android.graphics.Point center,
int typeIndex,
java.lang.Object userdata)
center - 搜素中心点的地理经纬度坐标typeIndex - 周边搜索的类型码索引,需要通过PoiTypeManager的相关方法来获取userdata - 回调中的用户数据public void queryByInitial(java.lang.String initial,
android.graphics.Point center,
java.lang.Object userdata)
initial - 首字母字符串center - 搜索中心点userdata - 回调中的用户数据public void queryByAddress(java.lang.String keyword,
android.graphics.Point center,
java.lang.Object userdata)
keyword - 地址关键字center - 搜索中心点userdata - 回调中的用户数据public void queryCrossRoads(java.lang.String keyword,
android.graphics.Point center,
java.lang.Object userdata)
keyword - 路口关键字center - 搜索中心点坐标userdata - 回调中的用户数据public void queryBusStations(java.lang.String keyword,
android.graphics.Point center,
java.lang.Object userdata)
keyword - 公交站关键字center - 搜索中心点坐标userdata - 回调中的用户数据public void queryByCurrrentRoute(int poiTypeIndex,
android.graphics.Point carPos,
java.lang.Object userdata)
poiTypeIndex - POI类型索引carPos - 车所在位置userdata - 回调中的用户数据public void queryByRoute(RouteBase routeBase, int poiTypeIndex, android.graphics.Point carPos, java.lang.Object userdata)
routeBase - 路线,RouteBasepoiTypeIndex - POI类型索引carPos - 车所在位置userdata - 回调中的用户数据queryByCurrrentRoute(int, Point, Object)public void clearResult()
public int getTotalResultNumber()
loadNextPage(Object)来加载public int getResultNumber()
public PoiFavoriteInfo getOnlineSpecialResult()
PoiFavoriteInfo,否则返回nullpublic PoiFavoriteInfo getResultAsPoiFavoriteInfo(int index)
index - 对应索引值PoiFavoriteInfoPoiFavoriteInfopublic SideInfo getResultRoutePosition(int index)
public void sortByDistance()
public void sortByDefault()
public java.lang.String getRwd(java.lang.String input)
input - 输入的词setWmrId(int),且存在离线数据©Mapbar Engine Team;All Rights Reserved