动态加载map代码段
动态加载地图代码段
// 得到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("相等");