var resolutions:Array = [2048, 1024, 512, 256, 128, 64, 32, 16, 8, 4, 2, 1, 0.5, 0.25]; var res:Number = resolutions[14-level]; var minTileX:Number = Math.round((min_mapPoint.x + 30000) / (res * 256)); var minTileY:Number = Math.round((min_mapPoint.y + 60000) / (res * 256)); var maxTileX:Number = Math.round((max_mapPoint.x + 30000) / (res * 256)); var maxTileY:Number = Math.round((max_mapPoint.y + 60000) / (res * 256)); |
2) 시작/마지막 row, column 인텍스로 루프를 돌려 다음지도 타일 이미지를 생성합니다.
이때, 동일 스케일에서 이미 생성한 타일에서 다시 사용하기 위해 벗어나는것만 삭제합니다
removeMapTiles(level, minTileX, minTileY, maxTileX, maxTileY); for(var row:int=minTileY-1; row<=maxTileY+1; row++) { for(var column:int=minTileX-1; column<=maxTileX+1; column++) { var _name:String = "TILE_" + level.toString() + "_" + row.toString() + "_" + column.toString(); var _Loader:Sprite = GetChildMapTiles(_name); CreateTiles(level, row, column, _Loader); } } |
3) 타일맵 생성후 화면 좌표로 일치시 다음지도 인덱스의 x/y를 WGS84좌표변환만하는것이 아니라
화면좌표변환시 인접한 이미지의 시작점의 각도를 계산하여 회전시키고, 삼각형 수식으로 확대할 x,y변의 스케일을 구해
타일맵에 반영하면 정밀도를 높일수 있습니다.
var resolutions:Array = [2048, 1024, 512, 256, 128, 64, 32, 16, 8, 4, 2, 1, 0.5, 0.25];
|
http://www.gisapplication.kr/FGISPro/ (우측상단에 일반/위성 및 다음지도중첩 체크박스 기능)