文档详情

水经注离线谷歌卫星地图加载服务中间件调用示例ForFlex剖析.docx

发布:2017-05-06约5.07千字共11页下载文档
文本预览下载声明
水经注离线谷歌卫星地图加载服务中间件调用示例 For Flex1.说明水经注离线谷歌卫星地图加载服务中间件可利用离线地图的.dat文件在本地建立服务端,并生成影像、标签、高程等服务地址,可以在Flex中直接调用该服务地址,并将请求到的服务资源显示在前端,当请求的地图资源不存在可通过网络直接下载缺失的地图,并储存在.dat文件中。2.实现2.1创建Flex示例新建Flex项目“RiverMapServerSample For Flex”,并添加“agslib”,如下图。添加一个web墨卡托投影的瓦片服务图层“RiverMapLayer”,部分源码如下图。package com.esri.ags.flex.sample{import com.esri.ags.SpatialReference;import com.esri.ags.geometry.Extent;import com.esri.ags.geometry.MapPoint;import com.esri.ags.layers.TiledMapServiceLayer;import com.esri.ags.layers.supportClasses.LOD;import com.esri.ags.layers.supportClasses.TileInfo;import .URLRequest; //扩展水经注地图public class RiverMapLayer extends TiledMapServiceLayer{private var _tileInfo:TileInfo = new TileInfo(); private var _baseURL:String=; public function RiverMapLayer(){super();buildTileInfo(); setLoaded(true); }public function set baseURL(baseurl:String):void{_baseURL = baseurl;}override public function get fullExtent():Extent { return new Extent(6943223, 3427876943223,342787, new SpatialReference(102113)); }override public function get initialExtent():Extent{ return new Extent(6943223, 342787,6943223,342787, new SpatialReference(102113)); } override public function get spatialReference():SpatialReference { return new SpatialReference(102113);} override public function get tileInfo():TileInfo { return _tileInfo; } //获取地图override protected function getTileURL(level:Number, row:Number, col:Number):URLRequest { var a:String= (col+1).toString(10); var b:String=(row+1).toString(10); var c:String= (level+1).toString(10);var url:String=_baseURL + x= + a + + y= + b + + z= + c;return new URLRequest(url); } private function buildTileInfo():void { _tileInfo.height=256; _tileInfo.width=256; _tileInfo.origin=new MapPoint(6943223,342787); _tileInfo.spatialReference=new SpatialReference(102113); _tileInfo.lods = [ new LOD(0, 156543.033928, 591657527.591555), new LOD
显示全部
相似文档