动态加载地图代码段

			// 得到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("相等");

 

你可能感兴趣的:(代码)