该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
public void onClick(View v) {
final String searchStr = searchEditText.getText().toString();
if(searchStr.equals("")) {
Toast.makeText(ShowHerAround.this, "请输入搜索关键字", Toast.LENGTH_LONG).show();
} else {
searchButton.setEnabled(false);
//doSearchQuery(searchStr);
while((lat == 0)&&(lon == 0)) {
Log.i("ShowHerAround.java", "geoLat = "+ lat+ "__geoLng = "+lon);
}
//point = new GeoPoint(lat, lon);
mMapController.setCenter(point); //设置地图中心点
Thread t = new Thread(new Runnable() {
public void run() {
try {
PoiSearch poiSearch = new PoiSearch(ShowHerAround.this,
new PoiSearch.Query(searchStr, PoiTypeDef.All, "010")); // 设置搜索字符串,"010“为城市区号"
poiSearch.setBound(new SearchBound(point, 20000));//围绕point的2000米以内的searchStr
poiSearch.setPageSize(10);//设置搜索每次最多返回结果数
result = poiSearch.searchPOI();
if(result != null) {
cut = result.getPageCount();
}
handler.sendMessage(Message.obtain(handler,
Constants.POISEARCH));
} catch (AMapException e) {
handler.sendMessage(Message.obtain(handler,
Constants.ERROR));
e.printStackTrace();
}
}
});
progDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);
progDialog.setIndeterminate(false);
progDialog.setCancelable(true);
progDialog.setMessage("正在搜索:\n" + searchStr);
progDialog.show();
t.start();
}
}
});
}
private Handler handler = new Handler() {
public void handleMessage(Message msg) {
if (msg.what == 1000) {
progDialog.dismiss();
try {
if (result != null) {
List poiItems = result.getPage(1);
if (poiItems != null && poiItems.size() > 0) {
mMapController.setZoom(13);
mMapController
.animateTo(poiItems.get(0).getPoint());
if (poiOverlay != null) {
poiOverlay.removeFromMap();
}
Drawable drawable = getResources().getDrawable(R.drawable.da_marker_red);
//
poiOverlay = new PoiOverlay(drawable, poiItems);
poiOverlay.addToMap(mMapView); // 将poiOverlay标注在地图上
poiOverlay.showPopupWindow(0);
searchButton.setEnabled(true);
return;
}
}
searchButton.setEnabled(true);
Toast.makeText(getApplicationContext(), "无相关结果!", Toast.LENGTH_SHORT).show();
} catch (AMapException e) {
progDialog.dismiss();
searchButton.setEnabled(true);
Toast.makeText(getApplicationContext(), "网络连接错误!", Toast.LENGTH_SHORT).show();
}
} else if (msg.what == 1002) {
System.out.println("msg.what==1002");
//lat = mMyLocationOverlay.getMyLocation().getLatitudeE6();
//lon = mMyLocationOverlay.getMyLocation().getLongitudeE6();
mMapController.animateTo(mMyLocationOverlay.getMyLocation());
} else if (msg.what == 1003) {
System.out.println("msg.what==1003");
Toast.makeText(getApplicationContext(), (String) msg.obj, Toast.LENGTH_LONG).show();
}
}
};
其中result获得到的结果一直是空值,是怎么回事啊