ArcGIS Server Felx API access E urban 3D map

Recommended for you: Get network issues from WhatsUp Gold. Not end users.

ArcGIS Server Felx API access E urban 3D map

(in this case only study, personal interest if you want the application to commercial use, please contact the relevant manufacturer)

To view the E City website loading way and principle of the three-dimensional map by using HttpWatch tools, to observe its loading way is loaded by the slice, but different city address is not the same, need to adjust the slice loading according to the actual situation of the location of the actual position, but are not. Observation of each section of the load address, infer its loading algorithm, successor to the ArcGIS ServerFlex API TiledMapServiceLayer, access E urban map service data. The following code:

packagecom.esri.viewer.components.common.edushi

{

importcom.esri.ags.SpatialReference;

importcom.esri.ags.geometry.Extent;

importcom.esri.ags.geometry.MapPoint;

importcom.esri.ags.layers.TiledMapServiceLayer;

importcom.esri.ags.layers.supportClasses.LOD;

importcom.esri.ags.layers.supportClasses.TileInfo;

importflash.net.URLRequest;

importflashx.textLayout.formats.Float;

public classEdushiTiledMapServiceLayer extends TiledMapServiceLayer

{

private var_tileInfo:TileInfo = new TileInfo();

private var_wkid:int = 102100;

private varcornerCoordinate:Number = 20037508.342787;

public functionEdushiTiledMapServiceLayer()

{

super();

buildTileInfo();

setLoaded(true);

}

override publicfunction get fullExtent():Extent

{

return newExtent(-cornerCoordinate, -cornerCoordinate, cornerCoordinate,cornerCoordinate, new SpatialReference(_wkid));

}

override publicfunction get initialExtent():Extent

{

return newExtent(-cornerCoordinate, -cornerCoordinate, cornerCoordinate, cornerCoordinate,new SpatialReference(_wkid));

}

override publicfunction get spatialReference():SpatialReference

{

return newSpatialReference(_wkid);

}

override publicfunction get tileInfo():TileInfo

{

return_tileInfo;

}

overrideprotected function getTileURL(level:Number, row:Number, col:Number):URLRequest

{

var url:String ="";

var num:Number =10-level;

if (num == 3)

{

url =" " + (num) + "/" + (col-20)+ "," + (row-20) + ".png";

}

else if (num ==2)

{

url =" " + (num) + "/" + (col-40)+ "," + (row-40) + ".png";

}

else if (num ==1)

{

url =" " + (num) + "/" + (col-80)+ "," + (row-80) + ".png";

}

return newURLRequest(url);

}

private functionbuildTileInfo():void

{

_tileInfo.height=256;

_tileInfo.width=256;

_tileInfo.origin=newMapPoint(-cornerCoordinate, cornerCoordinate);

_tileInfo.spatialReference=newSpatialReference(_wkid);

_tileInfo.lods =[

new LOD(0,156543.033928, 591657527.591555),

new LOD(1,78271.5169639999, 295828763.795777),

new LOD(2,39135.7584820001, 147914381.897889),

new LOD(3,19567.8792409999, 73957190.948944),

new LOD(4,9783.93962049996, 36978595.474472),

new LOD(5,4891.96981024998, 18489297.737236),

new LOD(6,2445.98490512499, 9244648.868618),

new LOD(7,1222.99245256249, 4622324.434309),

new LOD(8,611.49622628138, 2311162.217155),

new LOD(9,305.748113140558, 1155581.108577),

new LOD(10,152.874056570411, 577790.554289),

new LOD(11,76.4370282850732, 288895.277144),

new LOD(12,38.2185141425366, 144447.638572),

new LOD(13,19.1092570712683, 72223.819286),

new LOD(14,9.55462853563415, 36111.909643),

new LOD(15,4.77731426794937, 18055.954822),

new LOD(16,2.38865713397468, 9027.977411),

new LOD(17,1.19432856685505, 4513.988705),

new LOD(18,0.597164283559817, 2256.994353),

new LOD(19,0.298582141647617, 1128.497176)

];

}

}

}

Loading mode:

varpEdushiTiledMapServiceLayer: EdushiTiledMapServiceLayer = newEdushiTiledMapServiceLayer();

map.addLayer(_pEdushiTiledMapServiceLayer,-1);

Results are as follows:

Implementation of the ArcGIS Server Flex above API access E urban 3D map function.

Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download

Posted by Bruce at January 04, 2014 - 10:39 AM