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

上传人:b****0 文档编号:12723542 上传时间:2023-04-21 格式:DOCX 页数:10 大小:202.77KB
下载 相关 举报
水经注离线谷歌卫星地图加载服务中间件调用示例 For Flex.docx_第1页
第1页 / 共10页
水经注离线谷歌卫星地图加载服务中间件调用示例 For Flex.docx_第2页
第2页 / 共10页
水经注离线谷歌卫星地图加载服务中间件调用示例 For Flex.docx_第3页
第3页 / 共10页
水经注离线谷歌卫星地图加载服务中间件调用示例 For Flex.docx_第4页
第4页 / 共10页
水经注离线谷歌卫星地图加载服务中间件调用示例 For Flex.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

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

《水经注离线谷歌卫星地图加载服务中间件调用示例 For Flex.docx》由会员分享,可在线阅读,更多相关《水经注离线谷歌卫星地图加载服务中间件调用示例 For Flex.docx(10页珍藏版)》请在冰豆网上搜索。

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

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

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

1.说明

水经注离线谷歌卫星地图加载服务中间件可利用离线地图的.dat文件在本地建立服务端,并生成影像、标签、高程等服务地址,可以在Flex中直接调用该服务地址,并将请求到的服务资源显示在前端,当请求的地图资源不存在可通过网络直接下载缺失的地图,并储存在.dat文件中。

2.实现

2.1创建Flex示例

新建Flex项目“RiverMapServerSampleForFlex”,并添加“agslib”,如下图。

添加一个web墨卡托投影的瓦片服务图层“RiverMapLayer”,部分源码如下图。

packagecom.esri.ags.flex.sample

{

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;

import.URLRequest;

//扩展水经注地图

publicclassRiverMapLayerextendsTiledMapServiceLayer

{

privatevar_tileInfo:

TileInfo=newTileInfo();

privatevar_baseURL:

String="";

publicfunctionRiverMapLayer()

{

super();

buildTileInfo();

setLoaded(true);

}

publicfunctionsetbaseURL(baseurl:

String):

void

{

_baseURL=baseurl;

}

overridepublicfunctiongetfullExtent():

Extent

{

returnnewExtent(-18935696.6943223,-20037508.342787,18935696.6943223,20037508.342787,newSpatialReference(102113));

}

overridepublicfunctiongetinitialExtent():

Extent

{

returnnewExtent(-18935696.6943223,-20037508.342787,18935696.6943223,20037508.342787,newSpatialReference(102113));

}

overridepublicfunctiongetspatialReference():

SpatialReference

{

returnnewSpatialReference(102113);

}

overridepublicfunctiongettileInfo():

TileInfo

{

return_tileInfo;

}

//获取地图

overrideprotectedfunctiongetTileURL(level:

Number,row:

Number,col:

Number):

URLRequest

{

vara:

String=(col+1).toString(10);

varb:

String=(row+1).toString(10);

varc:

String=(level+1).toString(10);

varurl:

String=_baseURL+"x="+a+"&"+"y="+b+"&"+"z="+c;

returnnewURLRequest(url);

}

privatefunctionbuildTileInfo():

void

{

_tileInfo.height=256;

_tileInfo.width=256;

_tileInfo.origin=newMapPoint(-18935696.6943223,20037508.342787);

_tileInfo.spatialReference=newSpatialReference(102113);

_tileInfo.lods=[

newLOD(0,156543.033928,591657527.591555),

newLOD(1,78271.5169639999,295828763.795777),

newLOD(2,39135.7584820001,147914381.897889),

newLOD(3,19567.8792409999,73957190.948944),

newLOD(4,9783.93962049996,36978595.474472),

newLOD(5,4891.96981024998,18489297.737236),

newLOD(6,2445.98490512499,9244648.868618),

newLOD(7,1222.99245256249,4622324.434309),

newLOD(8,611.49622628138,2311162.217155),

newLOD(9,305.748113140558,1155581.108577),

newLOD(10,152.874056570411,577790.554289),

newLOD(11,76.4370282850732,288895.277144),

newLOD(12,38.2185141425366,144447.638572),

newLOD(13,19.1092570712683,72223.819286),

newLOD(14,9.55462853563415,36111.909643),

newLOD(15,4.77731426794937,18055.954822),

newLOD(16,2.38865713397468,9027.977411),

newLOD(17,1.19432856685505,4513.988705),

newLOD(18,0.597164283559817,2256.994353),

newLOD(19,0.298582141647617,1128.497176)

];

}

}

}

在主界面“RiverMapServerSampleForFlex.mxml”中添加esri的map标签,并引用刚刚新建的“RiverMapLayer”,如下图所示。

其中【baseURL=”http:

//localhost:

1002/getDefinedImage?

”】表示请求的是影像、地图、地形、标签、影像+标签、影像+地图、影像+地形或Dem。

具体根据RiverMapServer的启动配置参数来确定。

例如:

RiverMapServer.exe“1002”“Image_Label”“c:

\test\tile”“c:

\test\label”表示此应用输出合并底图(可以为影像、地图、地形任意一种)和标签两个地图瓦片。

RiverMapServer.exe“1002”“Image”“c:

\test\tile”表示此应用输出地图底图(可以为影像、地图、地形任意一种)

2.2启动RiverMapServer

启动RiverMapServer有两种方式都可以正常运行。

2.1.2直接运行RiverMapServer

通过config.ini文件配置参数,如下图。

PORT=1002表示端口为1002;GetFileType=Image_Label表示此应用输出合并底图(可以为影像、地图、地形任意一种)和标签两个地图瓦片,后面必须跟两个瓦片工程文件目录;TileDir=..\dat\tile表示影像数据路径;LabelDir=..\dat\label表示标签数据路径;DemDir=..\dat\dem表示高程数据路径。

RiverMapServer启动窗口,如下图。

2.2.2通过cmd.exe输入启动参数运行

新建一个bat文件,设置配置参数,如下图。

双击.bat启动服务。

运行效果和直接运行RiverMapServer效果一致。

3.运行结果

运行RiverMapServerSampleForFlex效果,如下图。

附录:

启动参数说明

1.瓦片文件类型:

Image_Lable表示此应用输出合并底图(可以为影像、地图、地形任意一种)和标签两个地图瓦片,后面必须跟两个瓦片工程文件目录

例子:

RiverMapServer.exe“1002”“Image_Label”“c:

\test\tile”“c:

\test\label”

2.瓦片文件类型:

Image表示此应用输出地图底图(可以为影像、地图、地形任意一种)

后面必须只需一个瓦片工程文件目录

例子:

RiverMapServer.exe“1002”“Image”“c:

\test\tile”

3.瓦片文件类型:

Label表示此应用输出地图标签后面必须只需一个瓦片工程文件目录

例子:

RiverMapServer.exe“1002”“Label”“c:

\test\label”

4.(待)瓦片文件类型:

dem表示此应用输出地图位置高程后面必须只需一个地图位置高程工程文件目录

例子:

RiverMapServer.exe“1002”“dem”“c:

\test\dem”

输入参数大小写不敏感,启动时需检查瓦片文件类型与工程文件是否匹配

请求接口说明

根据启动参数输出相应类型图片(影像、地图、地形、标签、影像+标签、影像+地图、影像+地形、Dem)

http:

//localhost:

1002/getDefinedImage?

x=1&y=1&z=1

输出地图底图(影像、地图、地形任意一种)http:

//localhost:

1002/getTileImage?

x=1&y=1&z=1

输出标签

http:

//localhost:

1002/getLabelImage?

x=1&y=1&z=1

输出高程

http:

//localhost:

1002/getDemImage?

x=1&y=1&z=1

删除地图地图(影像、地图、地形任意一种)

http:

//localhost:

1002/delTileImage?

x=1&y=1&z=1

地图服务启动日志输出

1.服务启动时需要检测输入参数的数据是否正确:

@@INPUT:

OK输入参数正确

@@INPUT:

PortError端口错误

@@INPUT:

TypeError瓦片类型错误

@@INPUT:

DataFileError:

瓦片工程文件瓦片工程文件错误

2.服务正常启动与运行输出:

@@RUN:

WAITING正常启动后和服务空闲时每分钟输出

@@RUN:

Exception:

异常消息(不能有回车换上等控制字符)服务启动异常后输出

服务正常启动后建立与瓦片工程文件数据源的连接

@@DSCOK:

瓦片工程文件连接正常

@@DSCFAIL:

瓦片工程文件连接失败

@@PORT:

端口

3.瓦片输出

@@TileOK:

X=1&y=1&z=1底图瓦片下载成功(已下载正常输出瓦片不输出日志)

@@LabelOK:

X=1&y=1&z=1标签瓦片下载成功(已下载正常输出瓦片不输出日志)

@@TileNoExists:

X=1&y=1&z=1底图瓦片不存在

@@LabelNoExists:

X=1&y=1&z=1标签瓦片不存在

@@TileOverRange:

X=1&y=1&z=1底图瓦片超出工程文件覆盖范围

@@LabelOverRange:

X=1&y=1&z=1标签瓦片超出工程文件覆盖范围

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 哲学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1