|  |  |  | 
|---|
|  |  |  | //xyz轴转坐标编号 | 
|---|
|  |  |  | public static Short xyToPosition(int x, int y, int z) { | 
|---|
|  |  |  | StringBuffer sb = new StringBuffer(); | 
|---|
|  |  |  | sb.append(x); | 
|---|
|  |  |  | if (x < 10) { | 
|---|
|  |  |  | sb.append("00"); | 
|---|
|  |  |  | } else if (x < 100) { | 
|---|
|  |  |  | sb.append("0"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | sb.append(x); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if (y < 10) { | 
|---|
|  |  |  | sb.append("00"); | 
|---|
|  |  |  | }else if (y < 100) { | 
|---|
|  |  |  | sb.append("0"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | sb.append(y); | 
|---|
|  |  |  | 
|---|
|  |  |  | this.map = data; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | public NavigateSolution(Integer mapType) { | 
|---|
|  |  |  | //载入地图 | 
|---|
|  |  |  | NavigateMapData mapData = new NavigateMapData(); | 
|---|
|  |  |  | public NavigateSolution(Integer mapType,Integer lev) { | 
|---|
|  |  |  | //载入地图指定层高地图 | 
|---|
|  |  |  | NavigateMapData mapData = new NavigateMapData(lev); | 
|---|
|  |  |  | int[][] data = mapData.getDataFromRedis(mapType); | 
|---|
|  |  |  | if (data == null) { | 
|---|
|  |  |  | data = mapData.getData(mapType); | 
|---|
|  |  |  | 
|---|
|  |  |  | start.setFather(null); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | NavigateNode end = new NavigateNode(endArr[0], endArr[1]); | 
|---|
|  |  |  | NavigateSolution solution = new NavigateSolution(mapType); | 
|---|
|  |  |  | NavigateSolution solution = new NavigateSolution(mapType, lev); | 
|---|
|  |  |  | NavigateNode res_node = solution.astarSearch(start, end); | 
|---|
|  |  |  | if (res_node == null) { | 
|---|
|  |  |  | System.out.println("未找到路径"); | 
|---|