Android-android for百度地图MKSearchListener监听器不启动

前端开发 前端开发 主题:1150 回复:2395

Android-android for百度地图MKSearchListener监听器不启动

清晨说ぺ晚安 发布于 2017-06-07 字数 3250 浏览 1039 回复 1

在代码中加了一个地名查询监听器如下

mkSearch = new MKSearch();
mkSearch.init(mBMapMan, new MKSearchListener(){
public void onGetAddrResult(MKAddrInfo res, int error) {
if (error != 0) {
String str = String.format("错误号:%d", error);
Toast.makeText(HomePage_Activity.this, str, Toast.LENGTH_LONG).show();
return;
}

mMapView.getController().animateTo(res.geoPt);

String strInfo = String.format("纬度:%f 经度:%frn", res.geoPt.getLatitudeE6()/1e6,
res.geoPt.getLongitudeE6()/1e6);

//Toast.makeText(HomePage_Activity.this, strInfo, Toast.LENGTH_LONG).show();
Drawable marker = getResources().getDrawable(R.drawable.iconmarka); //得到需要标在地图上的资源
marker.setBounds(0, 0, marker.getIntrinsicWidth(), marker.getIntrinsicHeight()); //为maker定义位置和边界
//mMapView.getOverlays().clear();
mMapView.getOverlays().add(new OverlayMarker(marker, HomePage_Activity.this, res.geoPt, res.strAddr));
}
public void onGetPoiResult(MKPoiResult res, int type, int error) {
if (error != 0 || res == null) {
Toast.makeText(HomePage_Activity.this, "解析失败", Toast.LENGTH_LONG).show();
return;
}
if (res != null && res.getCurrentNumPois() > 0) {
GeoPoint ptGeo = res.getAllPoi().get(0).pt;
// 移动地图到该点:
mMapView.getController().animateTo(ptGeo);

String strInfo = String.format("纬度:%f 经度:%frn", ptGeo.getLatitudeE6()/1e6,
ptGeo.getLongitudeE6()/1e6);
strInfo += "rn附近有:";
for (int i = 0; i < res.getAllPoi().size(); i++) {
strInfo += (res.getAllPoi().get(i).name + ";");
}
Toast.makeText(HomePage_Activity.this, strInfo, Toast.LENGTH_LONG).show();
}
}
public void onGetDrivingRouteResult(MKDrivingRouteResult res,
int error) {
}
public void onGetTransitRouteResult(MKTransitRouteResult res,
int error) {
}
public void onGetWalkingRouteResult(MKWalkingRouteResult res,
int error) {
}
public void onGetBusDetailResult(MKBusLineResult result, int iError) {
}
public void onGetSuggestionResult(MKSuggestionResult res, int arg1) {
// TODO Auto-generated method stub

}
public void onGetRGCShareUrlResult(String arg0, int arg1) {
// TODO Auto-generated method stub

}

});

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

支持 Markdown 语法,需要帮助?

评论(1

泛泛之交 2017-10-19 1 楼

由于有人问到我就在这里自己回答一下吧:

经过摸索最终我在mkSearch.init()方法里利用for循环重复调用MKSearchListener即可,这个问题我现在觉得是异步函数执行的问题