充电桩搜索
充电桩搜索功能通过获取充电桩POI信息详情,根据搜索方式可以分为关键字搜索、圆形搜索,矩形搜索,沿路搜索。
关键字搜索
关键字搜索是在设置关键字条件的情况下,进行的搜索。示例代码如下:
EVSearch mEvSearch = new EVSearch();
//设置参数
mEvSearch.setQuery(EVSearch.Query.newQuery("特斯拉"));
mEvSearch.setListener(new EVSearch.Listener() {
@Override
public void onSuccess(final POISearchResult result) {
//搜索成功
}
@Override
public void onFail(APIStatus status) {
//搜索失败
}
});
//发起搜索
mEvSearch.search();
EVSearch.Query 说明:
1. 只能通过EVSearch.Query中newQuery (String keyword)方法获取实例
2. 参数keyword: 搜索的关键字。
注:结果返回接口为异步线程接口。
圆形搜索
以设置的坐标为圆点,展开设置半径范围内的关键字搜索,示例代码如下:
EVSearch mEvSearch = new EVSearch();
//设置参数
mEvSearch.setQuery(EVSearch.Query.newQuery(new SearchArea.Circular(new GeoPoint(116.39750, 39.90850), 5000)));
mEvSearch.setListener(new EVSearch.Listener() {
@Override
public void onSuccess(final POISearchResult result) {
//搜索成功
}
@Override
public void onFail(APIStatus status) {
//搜索失败
}
});
//发起搜索
mEvSearch.search();
EVSearch.Query 说明:
1. 通过EVSearch.Query中newQuery(SearchArea area)方法获取实例
2. area: 搜索区域,圆形区域为new SearchArea.Circular(GeoPoint point,int radius),参数设置解释如下:
(1) 参数point: Geopoint类,圆形的原点,例如“new GeoPoint(116.39750, 39.90850)”。
(2) 参数radius: int类,搜索的半径,单位米。
注:结果返回接口为异步线程接口,Android项目如需在返回中操作控件,必须切换到Main主线程中。
多边形搜索
根据经纬度点顺序绘制一个多边形,搜索在此范围内的充电桩,示例代码如下:
EVSearch mEvSearch = new EVSearch();
//设置参数
EVSearch.Query mEVSearchQuery = EVSearch.Query.newQuery(
new SearchArea.Polygon(
new GeoPoint[]{
new GeoPoint(116.43423, 39.93766),
new GeoPoint(116.43423, 39.89946),
new GeoPoint(116.35448, 39.89946),
new GeoPoint(116.35448, 39.93766)
}
)
);
mEvSearch.setQuery(mEVSearchQuery);
//发起搜索
mEvSearch.setListener(new EVSearch.Listener() {
@Override
public void onSuccess(final POISearchResult result) {
//搜索成功
}
@Override
public void onFail(APIStatus status) {
//搜索失败
}
});
//发起搜索
mEvSearch.search();
EVSearch.Query说明:
1. 通过EVSearch.Query中newQuery (SearchArea area)方法获取实例。
2. area 搜索区域,多边形区域参数设置new SearchArea. Polygon (GeoPoint[] geoPoints), 参数geoPoints为坐标点数组。
注:结果返回接口为异步线程接口。
沿途搜索
以设置的路线坐标序列进行沿路关键字搜索,示例代码如下:
EVSearch mEvSearch = new EVSearch();
//设置请求参数,
GeoPoint[] geoPoints=new GeoPoint[2];
geoPoints[0]=new GeoPoint(116.39750, 39.90850);
geoPoints[1]= new GeoPoint(116.43423, 39.93766);
mEvSearch.setQuery(EVSearch.Query.newQuery(new SearchArea.Path(geoPoints)));
mEvSearch.setListener(new EVSearch.Listener() {
@Override
public void onSuccess(final POISearchResult result) {
//搜索成功
}
@Override
public void onFail(APIStatus status) {
//搜索失败
}
});
//发起搜索
mEvSearch.search();
EVSearch.Query 说明:
1. 通过EVSearch.Query中newQuery (SearchArea area)方法获取实例
2. area: 搜索区域,沿路参数设置new SearchArea.Path(GeoPoint[] geoPointArray),参数geoPointArray为路线经过的坐标点数组。
注:结果返回接口为异步线程接口。
