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
- 搜索模块参数设置PoiQueryInitParams
java.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.EventHandler
PoiQuery.EventHandler
public void setQueryParams(int type, int value)
type
- 需要设置的参数类型PoiQuery.PoiQueryParamsType
value
- 需要设置的参数的值PoiQuery.PoiQueryParamsType
public 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.KeywordType
public 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
- 路线,RouteBase
poiTypeIndex
- 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
- 对应索引值PoiFavoriteInfo
PoiFavoriteInfo
public 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