// 得到GridNo图层
eMyLayer layerGridNo = mapWnd.GetMap().GetLayerByName("GridNo");
centerGeo = new eMyPoint2D();
eMyPoint CenterPix2D = new eMyPoint(mapWnd.getWidth() / 2, mapWnd
.getHeight() / 2);
centerGeo = mapWnd.DevToGeo(CenterPix2D);
// 查询centerGeo这个点附近100个单位的对象
eMyResultSet rs = layerGridNo.QueryByPoint(centerGeo, 100);
if (rs == null) {
return;
}
if (rs.HasNext()) {
GridNo2 = rs.GetString("GRIDNO");
System.out.println("----GRIDNO2=" + GridNo2);
// 当前显示的地图与屏幕中心点所在地图不一致,需要加载新的地图
if (!GRIDNO.equals(GridNo2)) {
System.out.println("----不相等,重新加载地图!");
// 当比例超过1500时,地图加载的比较慢,切换时提示是否需要加载新地图。
String message = "显示当前位置的地图需要加载新的地图文件:" + GridNo2
+ "\n您确认要加载吗?";
// if (mapWnd.GetZoom() > 1500) {
// AlertDialog.Builder builder = new AlertDialog.Builder(
// MapSelectView.this);
// builder.setMessage(message).setTitle("提示")
// .setCancelable(false).setPositiveButton("确定",
// new DialogInterface.OnClickListener() {
// public void onClick(
// DialogInterface dialog,
// int id) {
// // 加载新地图
// loadNewMap();
// }
// }).setNegativeButton("取消", null).show();
// }
}
// GRIDNO相同
else {
}
}
// 获得大类图层
eMyLayer catetoryLayer = mapWnd.GetMap().GetLayerByName(
bigClassName);
// 如果图层存在,就设置可见
if (catetoryLayer.GetName().toString() != "")
catetoryLayer.SetVisible(true);
// 定位到已选择的位置点
if (px != -1 && py != -1) {
mapWnd.ZoomTo(px, py, radio);// 定位到该点
mapWnd.reDraw();// 那个Ondraw在redraw就会触发
mapWnd.repaint(0, 0);
}
System.out.println("相等");